Skip navigation links
(Wind-US Documentation Home Page) (Wind-US User's Guide) (GMAN User's Guide) (MADCAP User's Guide) (CFPOST User's Guide) (Wind-US Utilities) (Common File User's Guide) (Wind-US Installation Guide) (Wind-US Developer's Reference) (Guidelines Documents)

(Introduction) (Tutorial) (Geometry and Flow Physics Modeling) (Numerical Modeling) (Boundary Conditions) (Convergence Monitoring) (Files) (Scripts) (Parallel Processing) (Keyword Reference) (Test Options)



IMPLICIT - Implicit operator control

Structured Grids

IMPLICIT {word1 [word2 word3 [zone_selector [tre]]] | \
          JACOBI jiter jcnv [RELAX jrel] [zone_selector] | \
          GAUSS giter gcnv [RELAX grel] [zone_selector] | \
          MACCORMACK [MAFK k] [zone_selector] | \
          OVERFLOW [zone_selector]}

Unstructured Grids

IMPLICIT {NONE [zone_selector] | \
          UGAUSS [JACOBIAN [PER] {FACE|CELL}] [BLOCK|DIAGONAL] \
                 [VISCOUS_JACOBIAN {FULL|SCALAR}] [SAVE_JACOBIAN] \
                 [SUBITERATIONS nsub] [zone_selector]}

This keyword allows user control of the implicit operator within each zone. There are five possible modes for structured grids, and two for unstructured grids.

Structured Grids

IMPLICIT word1 [word2 word3 [zone_selector [tre]]]

This form of the IMPLICIT keyword allows the user to turn off the implicit operator completely, resulting in an explicit calculation, or to use a scalar or full block implicit operator. With these options, a different implicit operator may be specified for each computational direction.

The user-specified parameters are defined as follows:

    word1   A keyword controlling the ξ-direction implicit operator
word2 A keyword controlling the η-direction implicit operator
word3 A keyword controlling the ζ-direction implicit operator
tre Specifies the trapezoidal time differencing factor. The possible values are:

    0   Explicit (but expensive, don't use)
1 or omitted  Implicit
0.5   Trapezoidal time differencing

The keywords that may be used for word1, word2, and word3 are defined in the following table.

    Keyword   Difference Scheme
NONEExplicit
SCALARScalar implicit operator (default for Euler solutions)
FULLFull block implicit operator (default for viscous solutions)

Note that if only one of the above keywords is specified, Wind-US assumes that the specified operator is to be used in all directions in all zones.

IMPLICIT JACOBI jiter jcnv [RELAX jrel] [zone_selector]

This form of the IMPLICIT keyword turns on the point Jacobi implicit operator in the selected zone. The user-specified parameters are defined as follows:

    jiter   The number of subiterations allowed each time step. A typical value is 30.
jcnv The level of convergence to assume the subiterations are converged. A typical value is 0.0001.
jrel The relaxation factor. The default value is 1.0 (i.e., no relaxation).

IMPLICIT GAUSS giter gcnv [RELAX grel] [zone_selector]

This form of the IMPLICIT keyword turns on the Gauss-Seidel implicit operator in the selected zone. The user-specified parameters are defined as follows:

    giter   The number of subiterations allowed each time step. A typical value is 10.
gcnv The level of convergence to assume the subiterations are converged. A typical value is 0.0001.
grel The relaxation factor. The default value is 1.0 (i.e., no relaxation).

IMPLICIT MACCORMACK [MAFK k] [zone_selector]

This form of the IMPLICIT keyword turns on MacCormack's first-order modified approximate factorization (MAFk) procedure in the selected zone. The procedure attempts to remove the decomposition error by feeding the error term back into the matrix equations on the right-hand side.

The solution process requires subiterations, with the number of subiterations specified with the MAFK option by the parameter k. The default for k is 2.

For stability, the IMPLICIT BOUNDARY keyword should be used to specify that implicit boundary conditions are to be used with the MAFk procedure. In addition, when large CFL numbers are to be used, it is recommended that the CFL number be increased gradually (over 200 iterations or so) to the desired value using the INCREMENT parameter in the CFL# keyword.

The MAFk procedure has been demonstrated in Wind-US to be stable in two dimensions with very high CFL numbers (greater than 1000). In three dimensions, however, only limited testing has been done, and its efficiency has not yet been determined.

The MAFk procedure may not be used with second-order time marching.

IMPLICIT OVERFLOW [zone_selector]

This form of the IMPLICIT keyword specifies that the "ARC3D 3-factor diagonal scheme" as implemented in OVERFLOW 1.8q is to be used. Tests indicate that this scheme is faster than the other implicit schemes, and gives comparable answers.

This option is currently available only for 3-D perfect gas flows, with explicit boundary conditions. It also uses more memory than the other implicit schemes, due to the interface coding used to implement it in Wind-US.

See Also: IMPLICIT BOUNDARY, IMPLICIT ORDER

Unstructured Grids

IMPLICIT NONE [zone_selector]

This form of the IMPLICIT keyword allows the user to turn off the implicit operator completely, resulting in an explicit calculation.

IMPLICIT UGAUSS [JACOBIAN [PER] {FACE|CELL}] [BLOCK|DIAGONAL] \
   [VISCOUS_JACOBIAN {FULL|SCALAR}] [SAVE_JACOBIAN] \
   [SUBITERATIONS nsub] [zone_selector]

This form of the IMPLICIT keyword specifies that a Gauss-Seidel implicit operator is to be used in the selected zone. The various options are as follows:

    JACOBIAN [PER] {FACE|CELL}   Specifies that the flux Jacobian is to be computed on each face (i.e., one per face), or each cell (i.e., two per face). The default is one per face.

Currently this keyword has no effect; the FACE option is always set. However, DEBUG 52 may be used to get the equivalent of JACOBIAN PER CELL.

BLOCK|DIAGONAL Specifies that the equations are to be solved as either a full block or diagonal matrix system. The default, when the IMPLICIT keyword isn't used, is a full block matrix system.

VISCOUS_JACOBIAN {FULL|SCALAR} Use either a full or scalar (diagonal approximate) viscous Jacobian. The default, when the IMPLICIT keyword isn't used, is SCALAR.

SAVE_JACOBIAN If specified, the Jacobian(s) are saved between iterations. The default, when the IMPLICIT keyword isn't used, is to save the Jacobian(s).

It is recommended that SAVE_JACOBIAN be used when there is enough memory available. For a typical case, saving the Jacobian between iterations decreases the CPU time by about 15%, while increasing the memory requirements by 20%-40%.

Note that since the default is to save the Jacobian(s), this option has no effect. There is currently no way to not save the Jacobian(s)

SUBITERATIONS nsub Specifies the number of sub-iterations to be performed on each face, for each "iteration per cycle". The default is 4.

See Also: DEBUG 52