Questions about TOUGH3 setup for 3D random permeability fields
Our lab wants to use TOUGH3 for the CO2 storage reservoir simulations of 3D random permeability fields. We are not sure about how to set up the 3D anisotropic permeability correctly in TOUGH3; therefore, we would like to ask for help. Our questions are:
- Based on the TOUGH3 user manual on p.73, it said that these values can be set in the USERX(I=3) of ELEME.1 for each grid element. Does it mean that we simply append the three permeability values right after the X, Y, Z in the same line (and then run TOUGH3)?
- It seems like we also need to use MOMOP block for the 3D anisotropic permeability setting, but we are not sure about it because there is no example in the user manual. Do we need to create a separate MOMOP block for that? If yes, how? Could anyone please give us an example?
- Some of our researchers have used TOUGHREACT with TOUGH2 for the simulations of 3D random permeability fields before. So, can TOUGH3 be used in TOUGHREACT like TOUGH2? (or we need to wait for the update of TOUGHREACT?)
Any answers or suggestions would be very much appreciated. Thanks!
- Cheryl
5 replies
-
Hi Yamei, the answers to your questions are:
1. Yes, please following the instructions (and format) in the User's guide.
2. A MOMOP block is similar to any other blocks, starting with keyword MOMOP. In the following example, in MOMOP block, we set MOP2(2)=5, MOP2(10)=1, and MOP2(20)=1. You can find what each MOP2 represents in the TOUGH output file.
MOMOP----1----*----2----*----3----*----4----*----5----*----6----*----7----*----8
05 1 1 23. What is in TOUGHREACT is tough2. It requires significant amount of work to put in TOUGH3 into TOUGHREACT and it is not done yet.
There are some updates to the code involving heterogeneity in the code Multi.f90 around line 591. Please make the following change.
Please replace:
do i = 1,2
if (iran .ne. 0) then
perl(i) = perl(i)*pm(nexidx(i))
end if
! Assign anisotropic permeability for each grid block
if (mop2(20) .gt. 0) then
USRX=USERX(ISO,N)
CALL HETERO(nexidx(i),nmat(i),nloc2(i),iso,USRX,perl(i),ph(i))
endif
! ysw for anisotropic fracrtures 6/30/95
if(ifaniso(nmat(i)).eq.1) perl(i)=perl(i)+PERF(iso,nmat(i))
end do
by:
do i = 1,2
! Assign anisotropic permeability for each grid block
USRX=USERX(ISO,nexidx(i)) ! change from connection number N to connected element number nexidx
CALL HETERO(nexidx(i),nmat(i),nloc2(i),iso,USRX,perl(i),ph(i))
! ysw for anisotropic fracrtures 6/30/95
if(ifaniso(nmat(i)).eq.1) perl(i)=perl(i)+PERF(iso,nmat(i))
end do
-
Hi Ya-Mei Yang,
Could you succeed in doing that? Did you have to adjust MOP2(20) in order to apply the random permeability field or it worked without it?
Mhamad Mahdi
-
Thanks Keurfon,
This also applies if I want to assign absolute permeabilities?
The thing is that I have variable absolute permeability data from eclipse and I want to insert that in TOUGH.
Regards