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 [BLOCK | DIAGONAL] [LINE] [VISCOUS_JACOBIAN {FULL | SCALAR}] \
                 [SUBITERATIONS nsub] [APPROXIMATE_LHS | EXACT_LHS] [SECOND] \
                 [CONVERGE [ORDER order] [FREQUENCY freq]] [RELAX urel] [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 [BLOCK | DIAGONAL] [LINE] [VISCOUS_JACOBIAN {FULL | SCALAR}] \
   [SUBITERATIONS nsub] [APPROXIMATE_LHS | EXACT_LHS] [SECOND] \
   [CONVERGE [ORDER order] [FREQUENCY freq]] [RELAX urel] [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:

    BLOCK | DIAGONAL   Specifies that the equations are to be solved as either a full block or diagonal matrix system. The default is BLOCK.

LINE A line is a group of cells that are solved tightly coupled. They are typically used in the wall-normal direction of the boundary layer to reduce the stiffness associated with the grid anisotropy and are also used in the freestream along streamlines. The idea is to couple, as tightly as possible, the cells along dominant directions as indicated by physics to accelerate convergence.

Lines are generated using a set of library functions which are called by the cfpart utility to insert boundary layer lines on viscous meshes. These functions are also called from the flow solver to generate inviscid lines along streamlines.

The LINE option will solve the Navier-Stokes equations using a line Gauss-Seidel implicit solver. If this option is used, EXACT_LHS must also be specified. Note that even when LINE is specified, the turbulence equations will be solved using a point Gauss-Seidel solver.

The default is a point Gauss-Seidel implicit solver.

See Also: DEBUG 30, DEBUG 34

VISCOUS_JACOBIAN {FULL | SCALAR} Use either a full or scalar (diagonal approximate) viscous Jacobian. The default is SCALAR.

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

APPROXIMATE_LHS | EXACT_LHS Specifies how rigorously the implicit matrix is constructed. The first option is a low-storage algorithm with an approximate Jacobian based on the linearization of the analytical flux for the Rusanov scheme. The second option uses the Jacobian of the numerical flux, and requires storage of the entire left-hand-side in memory. The default is EXACT_LHS.

SECOND Apply a second order Jacobian correction to the implicit matrix.

CONVERGE [ORDER order] [FREQUENCY freq]
    Specifies the convergence criteria for the sub-iterations for the point Gauss-Seidel solver (i.e., the LINE option is not being used). order is the desired order of convergence, and freq is the frequency for checking convergence, in terms of Gauss-Seidel sub-iterations (i.e., the value specified using SUBITERATIONS). This only applies when EXACT_LHS is specified, and CFL# AUTOMATIC is being used. The defaults for order and freq are 2 and 100, respectively.

RELAX urel Specifies the relaxation factor. The default value is 1.0 (i.e., no relaxation).

The following additional options specify actions that are now always done in the current version of Wind-US. They have been retained for backward compatibility, so that existing input data (.dat) files may be used, but otherwise have no effect.

    JACOBIAN [PER] FACE   Specifies that the flux Jacobian is to be computed on each face.

SAVE_JACOBIAN Specifies that the Jacobians are to be saved between iterations.