anisotropic permeability for TOUGH3-EOS7
Dear all,
I am trying to modify my INFILE (isotropic permeability) to specify anisotropic permeability element-by-element.
My original INFILE (isotropic permeability cases, INFILE_Base and INFILE_PMX in the attachment) works perfect for me under TOUGH3-EOS7.
For the modification (INFILE_AnIsoPerm in the attachment), I only change MOP2(20) =1 , and set Kxx = Kyy = Kzz in colume 81-110 with values exactly same with my original INFILE (INFILE_Base and INFILE_PMX in the attachment).
I expect I should have same output results. However, the execution of my modification (OUTPUT_AnIsoPerm in the attachment) have some numerical problem – cannot converge.
Could someone please help me figure out “why”?
Any idea or help would be appreciated.
Cheng-Kuo
15 replies
-
Dear Cheng-Kuo,
I have also had trouble using TOUGH3 with element-by-element properties. I will look at your problem and see if I can help.
Christine
-
Dear Cheng-Kuo,
Your test problems are similar to the ones I tried. I have not figured out what is wrong, but I have some suspicions. I am going to check with Yoojin Jung, who did the coding. If possible, try running just a few time steps of your AnisoPerm case with just one processor. For my case with mop2(20)=1 and permeability modifiers in columns 81-110 of the ELEME block, TOUGH3 worked on one processor but failed when using multiple processors, and I am interested in what happens for you.
As far as I know, if you want to run in parallel with element-by-element anisotropic permeability, TOUGH3 is the only code that attempts to do that.
Christine
-
Dear Christine,
I just try to run it with PC-version TOUGH3.
Unfortunately, my case may need more memory, I had the following message.
I will try to construct a small case, run it again, and let you know my results ASAP.
Cheng-Kuo
-------------------------------------------------
c:\tmp>tough3-eos7
MESH: NEL= 1034188 NCON= 3112116
forrtl: severe (41): insufficient virtual memory
Image PC Routine Line Source
tough3-eos7.exe 005E702A Unknown Unknown Unknown
tough3-eos7.exe 0056B7C0 Unknown Unknown Unknown
tough3-eos7.exe 005707AE Unknown Unknown Unknown
tough3-eos7.exe 0041D48F Unknown Unknown Unknown
tough3-eos7.exe 00449F35 Unknown Unknown Unknown
tough3-eos7.exe 0051ABB0 Unknown Unknown Unknown
tough3-eos7.exe 004911BE Unknown Unknown Unknown
tough3-eos7.exe 005EE403 Unknown Unknown Unknown
tough3-eos7.exe 005D1328 Unknown Unknown Unknown
KERNEL32.DLL 743A8484 Unknown Unknown Unknown
ntdll.dll 7781302C Unknown Unknown Unknown
ntdll.dll 77812FFA Unknown Unknown Unknown
c:\tmp>
---------------------------------------------------------------------------------------------------
-
Dear Christine,
I just try another smaller case, no more “insufficient virtual memory” error, but have another error shown in the following. Any idea or suggestion?
Cheng-Kuo
------------------------------------------------------------------------------------------------
c:\tmp>tough3-eos7
MESH: NEL= 571205 NCON= 1694819
TOUGH STATUS: Preprocessing step completed.
TOUGH STATUS: Total preprocessing time = 0.000000000000000E+000
forrtl: severe (408): fort: (2): Subscript #1 of the array PAR has value 1 which is greater than the upper bound of -1Image PC Routine Line Source
tough3-eos7.exe 005E702A Unknown Unknown Unknown
tough3-eos7.exe 0056B7C0 Unknown Unknown Unknown
tough3-eos7.exe 0056BDE1 Unknown Unknown Unknown
tough3-eos7.exe 0052B2C5 Unknown Unknown Unknown
tough3-eos7.exe 0051B123 Unknown Unknown Unknown
tough3-eos7.exe 004911BE Unknown Unknown Unknown
tough3-eos7.exe 005EE403 Unknown Unknown Unknown
tough3-eos7.exe 005D1328 Unknown Unknown Unknown
KERNEL32.DLL 743A8484 Unknown Unknown Unknown
ntdll.dll 7781302C Unknown Unknown Unknown
ntdll.dll 77812FFA Unknown Unknown Unknownc:\tmp>
-
I got a similar error message when trying to use MOP2(20)=1 and putting permeability modifiers in columns 81-110 for a big problem (134,000 elements). I switched to MOP2(20)=0 and putting a permeability modifier in columns 41-50 and the code did not produce an error message, but I am not confident that the results are correct. When I created a small test problem (18 elements), I could use MOP2(20)=1 without an error message, but again I do not think the results are correct. Yoojin is busy this week, but she said will look at the code next week. If you can wait that long, I think she is the best person to try to figure out what is happening. As a work around, I created a model with 22 different materials to represent a heterogeneous permeability distribution, so I would not have to use element-by-element heterogeneity. That seems to be running correctly.
-
Dear Christine,
Very thanks for your reply. Sure, I can wait, no rush.
Just for your information, I also try to run my smaller case in linux:
(1) MOP2(20) = 0 (mpiexec -n 126 tough3-eos7 INFILE) , it work as I expected.
(2) MOP2(20) = 1 (mpiexec -n 126 tough3-eos7 INFILE), it diverge.
(3) MOP2(20) = 1 (mpiexec -n 1 tough3-eos7 INFILE), it diverge.
For (2) &(3), I notice some of the output values of flow and velocity in *CONNE*.CSV are unreasonable large! (e.g., INDEX = 695587, FLOW_L = 0.83526992925E+013).
I upload all input/output files of (3) in the same dropbox link (..\INFILE_AnIsoPerm_Small_Unix1Core_Diverge\)
https://www.dropbox.com/sh/gzr9haj5npy3hox/AAAHq8SzyALqSlxkEOWK_zlLa?dl=0
Best Regard,
Cheng-Kuo
-
Dear Cheng-Kuo,
I am not sure why your problem (3) is giving such big residuals. But some of the values in the PARAM block are surprising to me. Could you try it again changing NOITE from 4 to 8 (or blank as 8 is the default), changing RE1 from 1.E-4 to 1.E-5, and changing the initial time step from 100. to 0.01 sec? If it still fails with these changes, that makes me more sure that the problem is due to using element-by-element permeabilities.
Christine
-
Dear Cheng-Kuo,
For now, I want to wait until Yoojin can respond to think about Cases 2 and 3. For case 1, you said it ran okay. From what I can tell, you have mop2(20)=0 so the code should take the permeability modifier from columns 41-50 in the ELEME block. This permeability is given as 1.e-6, which is much bigger than the permeability in the ROCKS block, so the pressure response should be much different than the base case. If it is not too much trouble, could you check that the pressure responses are actually different for case 1 and the base case? In one of my test problems with mop2(20)=0, I found by looking at the pressure response that the permeability modifier was not actually applied, even though when I asked for a printout of the permeability it looked like it had been applied. I am curious if you get this same behavior.
Christine
-
Cheng-Kuo,
Sorry for the delay. Did you purchase the executables or did you purchase the source code? I will help you to solve the issue. Can you send me an email to yqzhang@lbl.gov?
Thank you, Yingqi
-
In addition, Cheng-Kuo. I am sure you have done the right thing but I think it is good to clarity here just in case: for each case you run, please first remove MESHA and MESHB. Otherwise TOUGH3 will take the permeability you stored in those files from before and may not take the new information from your ELEM block.
Yingqi