IPARS Multiblock Data Input

  1. Define Mortars in an input file
    • Examples: IPARSv2/data/h*mb*, IPARSv2/data/hmb2b.dat
    • Use MB_OUTLEVEL to control the level of output

    gxl@bevo2:~/IPARS/IPARSv2/data/ cat hmb2b.dat
    TITLE(2)="MULTIBLOCK HYDROLOGY MODEL TEST 1"
    DESCRIPTION()=
    "BLOCK LENGTH (FT) WIDTH (FT) HEIGHT (FT) SIZE CORNER"
    " 1 400 400 24 2x8x8 0,0,0"
    " 2 400 400 24 2x10x10 0,400,0"
    "16800 GRID ELEMENTS DATE : 12/21/97"
    HYDROLOGY_IMPLICIT
    TIMEEND = 3.
    $ I/O OPTIONS
    OUTLEVEL = 2 SPLINEOUT GEOMOUT PROCOUT DEBUGS BUGKEY(1)
    BUGKEY(2)
    BUGKEY(6) BUGKEY(8)

    $ INTERFACE GMRES INFO
    MB_GMRES_RESTART = 30 $ Restart for interface GMRES
    MB_GMRES_MAXITER = 30 $ Maximum number of interface GMRES iterations
    MB_GMRES_TOL = 0.01 $ Tolerance for interface GMRES
    MB_NEWT_MAXITER = 10 $ Maximum number of interface Newton iterations
    MB_NEWT_TOL = 0.01 $ Tolerance for interface
    $ FAULT BLOCK AND MESH DATA
    MB_NUMBLKS = 2 $ Total number of blocks
    MB_NUMMORTARS = 1 $ Total number of mortars (interfaces)
    $%%%%%%%%%%%%%% Block Difiition %%%%%%%%%%%%%
    $%%%%%%%%%%%%% Block (1) %%%%%%%%%%%%%
    $ In the section below the SECOND index (or the only index)
    $ corresponds to the block number
    BLOCKNAME(1) = "BLOCK1" $ Name of this block
    DOWN(1 TO 3,1) = 1 0 0
    NX(1) = 2 NY(1) = 8 NZ(1) = 8
    DX(1 TO 2,1) = 12. DY(1 TO 8,1) = 50. DZ(1 TO 8,1) = 50.
    XYZ111(,1) = 3*0.

    $%%%%%%%%%%%%%% Mortar definition %%%%%%%%%%%%%%
    $%%%%%%%%%%%%%% Block (1) %%%%%%%%%%%%%%
    MB_MYMORTAR_NUMBER(1) = 1 $ Number of mortars adjacent to this block
    $ In the section below mortar information is given from the block's
    $ perspective. The FIRST index corresponds to the block number
    $ and the SECOND index corresponds to the mortar number.
    $ NOTE that the mortar numbering is for this block only and always starts from one!
    MB_MYMORTAR_ID(1,1) = 1 $ Global ID for this mortar
    MB_MYMORTAR_FACE(1,1) = 4 $ Block face adjacent to this mortar
    MB_MYMORTAR_LB1(1,1) = 0. $ Lower bound for first mortar dimension
    MB_MYMORTAR_UB1(1,1) = 24. $ Upper bound for first mortar dimension
    MB_MYMORTAR_LB2(1,1) = 0. $ Lower bound for second mortar dimension
    MB_MYMORTAR_UB2(1,1) = 400. $ Upper bound for second mortar dimension
    MB_MYMORTAR_DIM1(1,1) = 2 $ Mortar size in first dimension
    MB_MYMORTAR_DIM2(1,1) = 8 $ Mortar size in second dimension
    MB_MYMORTAR_FLG(1,1) = 1 $ Grid flag: 1 -> Uniform;
    $ 0 -> Read grid from
    $ file 'junk' - this option needs to be properly
    $ implemented by reading grid file name from the
    $ data file

    $%%%%%%%%%%%%%% Block Difinition %%%%%%%%%%%%%
    $%%%%%%%%%%%%% Block (2) %%%%%%%%%%%%%
    $ In the section below the SECOND index (or the only index)
    $ corresponds to the block number
    BLOCKNAME(2) = "BLOCK2"
    DOWN(1 TO 3,2) = 1 0 0
    NX(2) = 2 NY(2) = 10 NZ(2) = 10
    DX(1 TO 2,2) = 12. DY(1 TO 10,2) = 40. DZ(1 TO 10,2) = 40.
    XYZ111(,2) = 0 , 400 , 0
    $%%%%%%%%%%%%%% Mortar definition %%%%%%%%%%%%%%
    $%%%%%%%%%%%%%% Block (2) %%%%%%%%%%%%%%
    MB_MYMORTAR_NUMBER(2) = 1
    MB_MYMORTAR_ID(2,1) = 1
    MB_MYMORTAR_FACE(2,1) = 3
    MB_MYMORTAR_LB1(2,1) = 0.
    MB_MYMORTAR_UB1(2,1) = 24.
    MB_MYMORTAR_LB2(2,1) = 0.
    MB_MYMORTAR_UB2(2,1) = 400.
    MB_MYMORTAR_DIM1(2,1) = 2
    MB_MYMORTAR_DIM2(2,1) = 8
    MB_MYMORTAR_FLG(2,1) = 1

    $%%%%%%%%%%%%%%%%% MORTAR INFO %%%%%%%%%%%%%%%
    $ In the section below the SECOND (or the only) index corresponds
    $ to the global mortar ID number
    MB_MORTAR_TYPE(1) = 1 $ Mortar type
    MB_MORTAR_ALIGN(1) = 1 $ Mortar alignment flag (should be set to 1 if no mapping is used)
    $
    MB_MORTAR_NEIGH(1,1) = 1 $ ID number of first mortar neighbor
    MB_MORTAR_NEIGH(2,1) = 2 $ ID number of second mortar neighbor
 

Written by Center for Subsurface Modeling