0

EOS2 non-convergence

I'm new to TOUGHREACT and have built a simple mesh and created a temperature and pressure gradient with INCON. Now, I am trying to run flow.inp through TOUGHREACT (EOS2) before I move to the solute.inp and chemical.inp files. When running, and depending on the solver used, TOUGHREACT either fails at the injection well I have incorporated, or at a later grid block in the mesh. I theorize it is due to my parameter configuration, the GENER block, or rock properties, though I'm stuck! I've attached my MESH, flow.inp, and INCON files and appreciate any advice.

7 replies

null
    • TOUGHREACT Developer
    • Eric_Sonnenthal
    • 3 mths ago
    • Reported - view

    Hi,I ran your problem with TOUGHREACT v4.13 and it does run for some time, but then the time step gets small and eventually the flow fails to converge. It looks like the temperature is dropping at the injection element (A2C30), relative to the nearby grid blocks. You have not assigned an enthalpy to the CO2 so the temperatures may not be what you intended. This could make it it more difficult to converge.  

    A2C29           5.99999798E-02 1.00000000E-14 1.00000000E-14 1.00000000E-14
     8.4279966521503E+07 1.2097975149744E+02 1.0000003383387E-01
    A2C30           1.87863831E+00 1.00000000E-14 1.00000000E-14 1.00000000E-14
     8.5783019180289E+07 1.0530686254681E+02 9.6232460675329E-05
    A2C31           5.99993347E-02 1.00000000E-14 1.00000000E-14 1.00000000E-14
     8.4763390275838E+07 1.2175870841604E+02 9.9999996368776E-02
     

    There are also some issues regarding the flow inputs. On the second line you have a pore compressibility of 1.45e-5. This value is too high, and is usually between about 1e-8 and 1e-9. The 1.95 is crossing over two fields (dry thermal conductivity and tortuosity), so I'm not sure what it is assigning. If any gas phase develops, you will need unsaturated hydrologic properties. The starting time step should usually be 1 second or even less. Starting with a large initial time step will cause the code to keep dropping the time step. So these are just a few issues I see right away. 

       1.45e-5                     1.95
     

    It looks like this was set up for iTOUGH2 or TOUGH3 since TOUGHREACT does not have the field OUTPU. We have a block OUTPT, but it works differently. MOP(21) was set to "8", but TOUGHREACT does not have a solver 8, so it was reset to 3. I would set it to "5" since BICGSTB is a better solver generally. MOP(18) was set to 0 (upstream weighting), where I would usually set it to 1 (weighting at connections).

    At this temperature range, I would probably use ECO2n V2, if you have the current V4.13 release of TOUGHREACT. It is better than EOS2 and the coupling with chemistry has been tested much more extensively. Now that ECO2n will go to 305C, we rarely use EOS2.

    That's probably enough to start with now! 

    good luck,

    Eric

      • jcbarton3
      • 2 mths ago
      • Reported - view

       Hi Eric, thank you for your comments. I have updated my flow.inp to reflect your input and have attached the revised version, along with an updated MESH and INCON file that are scaled down. Additionally, I've updated some of the rock parameters and added the rock, "INJEC" which reflects the mesh point of my fluid source. Unfortunately, I am still not attaining convergence when running the flow.inp. I believe it is due to the low permeabilities and porosity values assigned to the rock, as well as the flow rate of the water source. I'm assuming that I will need to add secondary porosity to the mesh in order for the model to run appropriately. I would much appreciate any additional thoughts and suggestions! Lastly, I only have ECO2n V1, but am currently looking to update. Thanks!

    • TOUGHREACT Developer
    • Eric_Sonnenthal
    • 2 mths ago
    • Reported - view

    Hi - Now that I look at your permeabilities I can see that this is a nearly impossible case to run. 1e-17 m^2 is an extremely low permeability for injection. This is in the range of permeability that one would try to hydrofrac, so injecting fluid into it without mechanical changes in permeability will result in unrealistically high pressures (likely outside the range of the EOS) and then would fail to converge. The other permeabilities also don't need to be quite so low to act as seals. To get this specific case to run, try  increasing the pore compressibility. That will buffer the pressure increase. It's probably not realistic for such  a case, but it is akin to promoting fracture poroelastic effects and increasing porosity. That might work. Good luck! Eric

      • TOUGHREACT Developer
      • Eric_Sonnenthal
      • 2 mths ago
      • Reported - view

       

      Regarding "secondary porosity" addition, yes this is a good approach if this is a fractured rock. Including a higher-permeability fracture continuum (i.e., dual-permeability) to inject into with a lower permeability rock matrix (to give the appropriate bulk permeability) would be more realistic and certainly run much more easily. cheers Eric

    • jcbarton3
    • 2 mths ago
    • Reported - view

    Hi, I've updated and attached a new flow.inp that now includes the MINC block, though my initial conditions are not setting for the simulation. Is this due to the new format of the MINC generated secondary mesh, or perhaps that the original mesh doesn't include a generated interface area for heat exchange? I figure that I'll need to reformat my INCON block in some capacity. Thanks, John

    • TOUGHREACT Developer
    • Eric_Sonnenthal
    • 2 mths ago
    • Reported - view

    Hi -- The flow.inp file you included has the old MESH and INCON. Regarding MINC, there will be separate files created that have a different naming of the elements, and then they must be associated to differnt rock types. The rock types you have (e.g. Trent), should be split into something like "ftren" and "mtren" and given fracture and matrix properties, and then those names assigned to the MESH. The INCON must then also have the same element names. The old mesh maker tools derived from TOUGH2 are pretty basic for doing all this. They work, but some editing is needed.  Always keep the MESH, INCON, and GENER as separate files rather than in the flow.inp. When in flow.inp they are read, written out, and read in again, which can mess with the formatting and the intended values. 

    I noticed your PARAM block has a large Newton-Raphson criterion (1.e-1):

    PARAM----1-MOP: 123456789*123456789*1234----*----5----*----6----*----7----*----8
       49999    9999              24 1  5
             0    3.15e7       -1.                          9.81       4.0                                  
           100 
         1.e-1

    Unless you are just trying an initialization for steady-state flow, to then keep decreasing it, it should never be below about 1.e-4. Preferably 1.e-5 to 1.e-6 for the final simulations. The automatic time-stepping to infinite values is not recommended for toughreact simulations, because the timestep should be larger than the Courant limit and also because of reaction rates. The block should look something more like this:

    PARAM----1-MOP: 123456789*123456789*1234----*----5----*----6----*----7----*----8
       49999    9999              24 1  5
             0    3.15e7        1.    3.60e3                9.81       2.0                                  
         1.e-5      
    I made the maximum timestep 1 hour, but that may be too small or maybe even too large for your problem -- it just depends on the injection rate, perm, etc. If you use a Courant limit RCOUR of 0.5 in solute.inp then the timestep will automatically be limited by the pore velocity.

    A minor issue in your ROCKS block is that the tortuosity is > 1. FOR TOUGH code tortuosity is a fraction based on a maximum of 1.0. However, it is just a multiplier in the diffusion equation, so of course it will run, and can be used to give some dispersion (maybe that's why you have it > 1?

          1e-9                 0.3      1.95
    Eric

      • jcbarton3
      • 2 mths ago
      • Reported - view

       Hi, after your suggestions I believe I have successfully generated a dual-porosity model with MINC and correctly formatted the MESH and INCON files to match MINC results (in ECO2n).  Additionally I have changed tortuosity, though am maintaining a large Newton-Raphson criterion to initialize steady state flow. With the changes, the model runs to completion (30 yrs), though only the GENER block experiences any temperature change, thus the model isn't representative of any fluid flow/heat transfer over the simulation run. I'm unsure as to why this is occurring and would appreciate any feedback. Once more I've attached up to date input files. Thanks!

Content aside

  • 2 mths agoLast active
  • 7Replies
  • 83Views
  • 2 Following