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

12replies Oldest first
  • Oldest first
  • Newest first
  • Active threads
  • Popular
  • 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

    Reply Like
      • Cheng-Kuo
      • ChengKuo
      • 13 days ago
      • Reported - view

      Christine Doughty 

      Dear Christine:

       

      Thanks  a lot for your reply.

      The following web-link (dropbox) contains the INFILE_BASE and some of its final output (*.CSV) if you are interested about it. It took about 14 hours to run it in my machine. The dropbox directory also contain the input and output files of the INFILE_AnIsoPerm case that diverge at the very beginning.

      https://www.dropbox.com/sh/gzr9haj5npy3hox/AAAHq8SzyALqSlxkEOWK_zlLa?dl=0

       

      If you have any idea or suggestion for using TOUGH3 anisotropic permeability, please let me know.

      By the way, I am looking for a TOUGH2 or 3 version with MP-EOS7 function that can deal with anisotropic permeability element-by-element. Is there one available now?

       

      Best Regards,

       

      Cheng-Kuo

      Reply Like
  • 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

    Reply Like
  • 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>

    ---------------------------------------------------------------------------------------------------

    Reply Like
  • 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 -1

    Image              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  Unknown

    c:\tmp>

    Reply Like
  • 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.

    Reply Like
  • 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

    Reply Like
  • 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

    Reply Like
      • Cheng-Kuo
      • ChengKuo
      • 11 days ago
      • Reported - view

      Christine Doughty 

      Dear Christine,

       

      I just try 3 different cases, Case1, 2 & 3.

      The Case3 is the one you want me to try.   

      Very interesting response of Case3:

      DELT drop very fast in the beginning (as before) but hanging on  0.238419E-08 for quite a long time. It still running, ST start to increase but very very slow (see the OUTPUT in the attachment).

       

      Cheng-Kuo

       

      --------------------------------------------

      Case 1 (to make sure I have correct setting):  

      I set NOITE = 8, RE1 =  - 1.E-5, Initial time step (DELTEN) = 0.01, MOP(21)=7, and  MOP2(20)=0. Also, I set TIMAX = 0.650E+05 (sec) for testing purpose.

       

      command = mpiexec -n 126 tough3-eos7 INFILE

      results: OK

       

      I upload all input/output files in the same dropbox link (..\INFILE_AnIsoPerm_Small_Unix126Core_ShortTime_NOITE_8_MOPa21_7_MOP2a20_0_OK\) (https://www.dropbox.com/sh/gzr9haj5npy3hox/AAAHq8SzyALqSlxkEOWK_zlLa?dl=0)

       

      -------------------------------------------------

      Case 2 (same with Case 1 except MOP2(20)=1):

      command = mpiexec -n 126 tough3-eos7 INFILE

      results: diverge in the very beginning 

       

      I upload all input/output files in the same dropbox link (..\INFILE_AnIsoPerm_Small_Unix126Core_ShortTime_NOITE_8_MOPa21_7_MOP2a20_1_Diverge\) (https://www.dropbox.com/sh/gzr9haj5npy3hox/AAAHq8SzyALqSlxkEOWK_zlLa?dl=0)

       

      -------------------------------------------------

      Case 3 (exactly same with Case 2 but  executed by 1 core):

      command = mpiexec -n 1 tough3-eos7 INFILE

      results: still running

      Reply Like
      • Cheng-Kuo
      • ChengKuo
      • 9 days ago
      • Reported - view

      Christine Doughty 

      Dear Christine,

       

      The Case3, the one you want me to try, diverge at time step (KCYC) = 196.

      I upload all input/output files in the same dropbox link (..\INFILE_AnIsoPerm_Small_Unix001Core_ShortTime_NOITE_8_MOPa21_7_MOP2a20_1_Diverge_KCYC196\) (https://www.dropbox.com/sh/gzr9haj5npy3hox/AAAHq8SzyALqSlxkEOWK_zlLa?dl=0)

       

      Cheng-Kuo

      Reply Like
  • 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

    Reply Like
      • Cheng-Kuo
      • ChengKuo
      • 6 days ago
      • Reported - view

      Christine Doughty 

      Dear Christine:

       

      Thanks for your reminding.

      Sorry, my faults, I forget to reset PMX= 1, and all USERX= 1 in all INFILE_AnIsoPerm_Small* cases, like that I did in the INFILE_AnIsoPerm_Dirverge.

       

      Unfortunately, my server is not available for me for the following 5 to 6 days.

      I will try it again when it back to work, and check out the response between pressure and permeability that you mentioned.

       

      Cheng-Kuo

      Reply Like
reply to topic
Like Follow
  • 6 days agoLast active
  • 12Replies
  • 95Views
  • 2 Following