checkCouplingInterval

Syntax

Defined in couplingProperties dictionary.

postProcessingModels
(
    checkCouplingInterval
);
checkCouplingIntervalProps
{
    performChecks               Switch;
    warnOnly                    Switch;
    silent                      Switch;
    velocityFieldName           "U";
    rhoP                        scalar;
    maxCFL                      scalar;
    maxPCFL                     scalar;
    maxMeshCFL                  scalar;
    maxAccNr                    scalar;
    checkTransientFlow          Switch;
    UmaxExpected                scalar;
    minAllowedVcellByVparcel    scalar;
    largeVcellByVparcel         scalar;
    timeInterval                scalar;
    maxRelVelChange             scalar;
};
  • performChecks = set to false to deactivate execution checks (default: true)

  • silent = do not print warnings or information, only error messages. In the (default) silent mode, this model will not print any information. (default: true)

  • warnOnly = switch to warn (true) or stop (false) simulation if a criterion is violated. (default: true)

  • velocityFieldName = name of velocity field. (default: “U”)

  • rhoP = particle density assumed for calculation of the particle relaxation time. (default: 2000)

  • maxCFL = maximum allowed CFL number. (default: 1)

  • maxPCFL = maximum allowed particle coupling CFL number. (default: 1)

  • maxMeshCFL = maximum allowed CFL number of IB meshes. (default: 1)

  • maxAccNr = maximum allowed ratio of coupling time to particle relaxation time. (default: 0.005)

  • checkTransientFlow = perform checks based on UmaxExpected. (default: false)

  • UmaxExpected = maximum expected fluid velocity (e.g. due to BCs) - used for CFL estimation. (default: 1)

  • minAllowedVcellByVparcel = min allowed volume ratio of cell / particle. (default: 3)

  • largeVcellByVparcel = maximal volume ratio of cell / particle for which divided void fraction model is recommended. (default: 10000)

  • timeInterval = interval of execution. (default: 20 times the coupling time)

  • maxRelVelChange = max allowed ratio of fluid velocity gradient and coupling interval. (default: 0.1)

Examples

postProcessingModels
(
    checkCouplingInterval
);
checkCouplingIntervalProps
{
    silent   false;
    timeInterval 0.002;
}

Description

Note

This model is added to the postProcessingModels list by default and runs silently in the background whenever particles are present, i.e. when the twoWaySocket model is used. You can switch off its operation using the performChecks keyword.

At the first coupling step and at every time interval as specified by timeInterval the following criteria are checked:

  1. The Courant Number (CFL) is a non-dimensional number defined locally as u \Delta t/ \Delta x, where u is the velocity magnitude i the cell, \Delta t is the time step and \Delta x is the mesh size. If the CFL number exceeds a value of 1 the simulation may become unstable, as the distance that any information travels during a single time step is bigger than the distance between mesh elements. The global CFL is calculated as \Delta t \max{(u /\Delta x)}. If this value is bigger than maxCFL, then a warning is returned or the simulation is terminated. If checkTransientFlow = true, an additional check with the CFL number based on the expected maximal velocity UmaxExpected, namely (u_{max} \Delta t)/\min{(\Delta x)}, is performed. The latter check is important in case of accelerating flows.

  2. The acceleration number is defined as \Delta t_c / t_r, where \Delta t_c is the DEM coupling time and t_r is the particle relaxation time. The DEM coupling time is defined as the DEM time step times the coupling interval. As a general recommendation, the acceleration number should be smaller than 0.005. The threshold for this check can be changed using the keyword maxAccNr.

  3. Similarly to the CFL number defined for the fluid field, a particle coupling Courant number pCFL is defined as \max(v_{part})\Delta t_c / \min(\Delta x) where v_{part} is the particle velocity. If the pCFL number exceeds a value of 1 the simulation may become unstable; hence, maxPCFL should be chosen equal or smaller than 1. Note that this check is computed in a global fashion determining the maximum particle velocity and the minimum cell size independent from each other. Hence, if the fastest particles are never found in the smallest cells, this measure may be misleading.

  4. The ratio of smallest cell to largest particle volume. Typically this should be larger than 3 to ensure that particles are smaller than the CFD cells. If the ratio of the smallest cell to the largest particle exceeds a certain limit (default value 10000) we recommended to use the more efficient centre voidfraction model. The threshold for this check can be changed using the keyword minAllowedVcellByVparcel. Note that this check is not meaningful if using a smoothingModel since these models relax the restrictions on the ratio of particle diameter to cell size.

  5. The minimum and maximum Stokes Number. The Stokes number is a measure for how well the particles follow the flow. It is calculated as the product of the particle relaxation time and the relative velocity between fluid and particle over the particle diameter, i.e. t_r v_r / d. Note that the highest appearing value of scaleDrag will be used to scale the relaxation time reciprocally.

  6. The product of max fluid velocity gradient and coupling time is checked as a benchmark for particle acceleration due to changes the particles experience in the velocity field. Note that this check is done in a global manner by comparing the maximum gradient of the fluid velocity field and the maximum particle velocity.

  7. The CFL number of IB meshes is computed from the mesh velocity and the local mesh size. Moreover, a global check is performed if the geometry can be resolved by the mesh by checking if the body field is saturated (cells with body field values = 1 are found).

  8. An Approximate Reynolds number is computed from the maximum velocity in the domain and the smallest extent of the domain bounding box. If this Reynolds number is found to exceed a certain value, and a laminar turbulence model is used the user is hinted to consider using a turbulence model.

For the criteria (1)-(4) the user can define its own allowed bounds and with the keyord warnOnly the user can choose if the simulation should be stopped or if just a warning is given if a criterion is broken.

Restrictions

Requires a non-file based dataExchange model - e.g. oneWayVTK will not work.