zone apply
command
Syntax
- zone apply keyword <range>
-
Create or modify zone apply conditions.
Note
[1] Zone nomenclature in FLAC varies from 2D to 3D.
This command is used to apply conditions to the volume represented by zones — i.e., body forces or fluid/thermal sources. For application of boundary conditions on surfaces represented by zone faces, see the
zone face apply
command. The user must specify the condition type, the numerical value, optional modifiers, and an optionalrange
over which the condition is to be applied. If no range is specified, then the command applies to the entire model. Removal of zone conditions is done with a separate command — seezone apply-remove
.After the supplied condition’s value (f or v), an optional modifier
keyword
can be used to modulate the supplied value. The position of the modifier in the command is indicated below by[applyblock]
; the valid modifier keywords are found in the Keyword Block section below that follows the principal keywords. The modifiers can be used to vary the value of the applied condition in both time and space.All values are considered to be per unit volume.
Apply conditions that conflict with currently existing ones will overwrite them.
- force v [applyblock]
Apply all components of the body force, per unit volume, to all zones in the range.
- force-x f [applyblock]
Apply the \(x\)-component of the body force, per unit volume, to all zones in the range.
- force-y f [applyblock]
Apply the \(y\)-component of the body force, per unit volume, to all zones in the range.
- force-z f (3D ONLY) [applyblock]
Apply the \(z\)-component of the body force, per unit volume, to all zones in the range.
- source f [applyblock]
Apply a heat-generating source, f, as a volume source of the specified strength (e.g., in W/m3 ) in each zone in the specified range. When a new source is applied to a zone with an existing source, the new source strength replaces the existing source strength.
Decay of the heat source over time can be represented by applying one of the available modifiers.
Note: This keyword is only available for the thermal model option.
- well f [applyblock]
Apply a volume rate of flow, f (i.e., fluid volume per zone volume per unit time), for each zone in the specified range (f >
0
for inflow).Note: A fluid flow model must exist for this command to work.
zone apply
Keyword Block
The following keywords may be used to modify the base value supplied. force
, force-x
, force-y
, force-z
, source
and well
.
- fish s
Specify a multiplier that is a FISH function named s. See the section FISH Callback Events for a discussion of FISH callbacks.
The return value of this FISH function is multiplied by the base value (including gradient) over all zones included in this apply condition. So a return value of 1.0 will apply the base value provided, and a return value of 0.0 will effectively remove it. This function will be called every step.
If the apply condition requires a vector value, this function should also return a vector.
- fish-local s
Specify a multiplier that is a FISH function named s, which is applied separately to each individual zone affected by this apply condition. See the section FISH Callback Events for a discussion of FISH callbacks.
This function must take two arguments, the first of which will be a pointer to the specific zone. The second argument is not used. This allows an apply condition to vary over time as well as space. The returned value of this FISH function is multiplied by the base value (including gradient) on the specific zone supplied. So a return value of 1.0 will apply the base value provided, and a return value of 0.0 will effectively remove it. This function will be called every step for every zone included in the apply condition.
If the apply condition requires a vector value, this function should also return a vector.
- gradient v <origin v >
Apply a gradient in space to the scalar-value provided. The position used in this calculation is the zone centroid. Another way of assigning a linear gradient is with the
vary
modifier.
- servo keyword ...
Use a servo tied to the mechanical convergence ratio to control the magnitude of the applied condition. This can be used to maintain, gradually ramp up, or gradually reduce apply conditions while maintaining a quasi-static response. By default the multiplier will start at
0.001
, and will gradually increase to1.0
as the convergence ratio falls below2e-3
, and decrease if it rises above1e-2
. The following keywords are available to control the servo response:
- latency i
Set the minimum number of steps that must pass since the last servo adjustment before the next one occurs. This can keep the servo from over-controlling in the initial response to an adjustment. The default value is 1.
- lower-bound f
Set the lower mechanical convergence ratio value. If the current ratio falls below this value, the current multiplier will be multiplied by the
lower-multiplier
. The default value is2e-3
.
- lower-multiplier f
Set the value multiplier to f if the current ratio falls below the
lower-bound
. The default value is0.975
.
- maximum f
Set the maximum value allowed for the current multiplier. The default value is
1.0
.
- minimum f
Set the minimum value allowed for the current multiplier. The default value is
0.001
.
- ramp
Sets the servo into
ramp
mode. This means that the current multiplier is not allowed to go down, the value will only increase. This is useful to gradually increase an applied condition to its full value. See also thereduce
keyword.
- ratio keyword
Set the mechanical convergence ratio to user for comparison against the
lower-bound
andupper-bound
values. By default this is the current value assigned by thezone ratio
command (for which the default setting isaverage
). See thezone ratio
command for definitions. The available keywords are:
- average
Specify use of the average mechanical force ratio.
- convergence
Specify use of the maximum convergence value.
- local
Specify use of the local mechanical force ratio.
- maximum
Specify use of the maximum mechanical force ratio.
- reduce
Set the servo into
reduce
mode. In this mode the starting value of the current multiplier is1.0
, and theminimum
value is set to0.0
. When the current ratio falls belowlower-bound
the current multiplier is reduced by theupper-multiplier
. The current multiplier is never increased. This is useful to gradually decrease an applied condition to zero.
- upper-bound f
Set the upper mechanical convergence ratio value. If the current ratio rises above this value, the current multiplier will be multiplier by the
upper-multiplier
. The default value is1e-2
.
- table s <time keyword>
Specify a value multiplier that is thee table named s. By default, the \(x\)-value of the table is the step number. The returned value of this table is multiplied by the base value (including gradient) over all zones included in this apply condition. So a return value of 1.0 will apply the base value provided, and a return value of 0.0 will effectively remove it. The table lookup will be performed every step. The time scale for the \(x\)-axis can also be selected by giving the
time
keyword followed by one of the following options:
- step
- creep
- dynamic
- fluid
- mechanical
- thermal
- vary v
Apply a linear variation to the scalar-value provided. The position used in this calculation is the zone centroid. Another way of assigning a linear gradient is with the
gradient
modifier.
See also
Endnote
Was this helpful? ... | Itasca Software © 2024, Itasca | Updated: Dec 05, 2024 |