Recompiling EOS1 for using LUBAND

I have been trying to run the two water option in EOS1 to differentiate injection during a history match run but I'm not able to get a full run using the linear solvers.  I've tried them all with different pre-conditioner options but without success.  I would therefore like to try using LUBAND but will need to recompile to get the necessary array sizes, etc.  Can you please tell me what parameters I should be using for a model with 30,000 elements (MINC; 1 fracture, 4 matrix) and 50,000 connections.

10replies Oldest first
  • Oldest first
  • Newest first
  • Active threads
  • Popular
  • Tony,

    You would have to increase MNEL or MNCON or MNEQ dramatically until NRWORK = 1000+(MNEL+2*MNCON)*MNEQ*MNEQ+38*MNEL*MNEQ exceeds the number indicated in the error message you find in output file  (most likely exceeding the 2GB limit on a PC).

    In short, I doubt switching to LUBAND is the solution, because:

    (1) You may not be able to compile the code due to memory limitation

    (2) Even if you can compile, it will likely run extremely slowly

    (3) It is likely not to resolve the underlying issue (i.e., convergence problems)

    Point (3) is the crucial one. Playing around with the solvers hardly ever helps. Here is what I would do:

    (1) Find the reason for the convergence failure (I've described this diagnostic process in various  Forum posts)

    (2) Try Karsten's "0=0" tip, i.e., initialize the system with a small amount of traced water and/or inject traced water along with fresh water.

    (3) Check all properties of the fracture and matrix continua, specifically when they have huge contrasts. Properly adjust relative permeabilites and/or capillary pressures (depending on the result of Step (1).

    (4) Set MOP(21)=2; try Z4 and O4 (don't get your hopes up playing with the solver options!)

    Hope this helps.

    Stefan

    Like
  • Hi Stefan

    Thanks for your response.  As suggested, I fully implemented Karsten's 0=0 tip and was able to get a successful run!!!.  I had previously initialized the system with 1.0e-10 of COM2 in the blocks but I was specifying injection of COM1 or COM2 only in different blocks.  Following Karsten's note, I now included injection of 1.0e-6 kg/s of the other component in those injection blocks and that appears to have been successful in allowing the run to go to completion.

    Thanks again

    Tony  

    Like
  • Follow up question: I am trying to model a problem with elements of 62,000 and connections of about 200,000. I increased MNEL to 70,000 and MNCON to 210,000. After compiling with these changes in T2 and running the new executable, I get the following error:

    "THE NUMBER OF NEEDED DIAGONALS IS3721 WHILE THE AVAILABLE NUMBER IS  298. THE PARAMETER NRWORK MUST BE INCREASED TO AT LEAST  230,702,000"

    However, if I just only increase the MNEL to 70,000 without increasing MNCON, then it does not show any error. But it does not give me any output either and reaches to the end of simulation. Do I need to increase (like you said) one of MNEL or MNCON or MNEQ or all of them?

    Thanks,

    Mamun

    Like
  • Mamun,

    I do not recommend to run a 62,000-element (probably a 124,000- or 186,000-equation) model using a direct solver such a LUBAND. Did you try one of the iterative solvers now that you know how to "correctly" calculate 0=0?

    Stefan

    Like
  • Thanks, Stefan for your reply. The link '0=0' does not seem to work. Could you please give me the correct link?

    Like
  • Mamum,

    I'm confused - I thought you figured it all out about "0=0". Anyway, here is the link (you find it under "Help Articles", "Tips & Tricks" on this very Forum; let me know if it does not work for you):

    http://esd1.lbl.gov/files/research/projects/tough/support/00.pdf

    Stefan

    Like
  • Hi Stefan/Mamun:

    Stefan: I think you are getting confused between me (Tony Menzies) and Mamun. I had contacted you with the original question and was able to figure out the 0=0 issue.

    Mamun: What exactly is the problem you are trying to solve? Are you trying to use the two-water option?  As mentioned in my earlier post, I was able to get the two water option to run using the linear solvers provided that there was always some non-zero amount of COM1 and COM2 in every block and by including some amount of both COM1 and COM2 in any mass inflows (wells, boundary blocks).  As explained in the reference, the problem with convergence occurs when one component goes completely to zero and it only has to occur in one block in the model to cause a problem.

    Regards

    Tony

    Like
  • Thanks, Tony - I'm easily confused...

    Like
  • Tony,

    Thanks for the clarification. I am just using a single phase, single component problem with large a number of elements. But for some reason, I was having trouble in the MESH generation process after modification in T2. Anyway, I have figured it out. It was an elementary question for TOUGH community.

    Thanks Stefan for your response.

    Regards,

    Mamun

    Like
  • Stefan: Don't worry; I'm in the same boat......

    Mamun: Good to hear you have solved the problem.  When you are using a large number of blocks, it is normally something simple or small that slips through the cracks that causes problems.

    Regards

    Tony

    Like
Like Follow
  • 4 yrs agoLast active
  • 10Replies
  • 711Views
  • 3 Following