zone thermal command

Syntax

zone thermal keyword

Primary keywords:

active    analytical    cmodel    implicit    list    property    property-distribution    steady-state    timestep    time-total    zone-based-temperature

Set parameters for a thermal analysis (only available if model configure thermal has been specified). The following keywords apply:

active b

Set thermal calculations on or off. The default is on after model configure thermal has been specified.

analytical keyword
isothermal-planes <x> <y> <z>

Define isothermal boundary layers. For example, the two planes defined by \(x\) = 0 and \(y\) = 0 are isothermal if the command zone thermal analytical isothermal x y is issued.

A plane cannot simultaneously be an isothermal boundary and a symmetry plane.

property keyword
conductivity f

Set the thermal conductivity used in the analytical solution.

diffusivity f

Set the thermal diffusivity used in the analytical solution.

list

Print to the screen information about the thermal analytical analysis.

solve time f

Solve the analytical solution to a time of f.

source keyword
components keyword <range>

Set general information about the heat source components for sources in the specified range.

component-number i

Specify the component of heat source.

fraction f

Specify the fraction of the initial source strength produced by each component.

decay f

Specify the decay constants of the components.

delete <range>

Delete all sources in the range.

grid keyword

Set up a grid of point sources. Source strengths are specified with the strength keyword and the start time is specified with the time-start keyword. These must be provided after the definition of the grid, or, can be given as a separate command with a range. If not provided, the default start time is 0. The source may be outside the FLAC3D grid.

point-1 v

Specify the top left corner of the grid.

point-2 v

Specify the top right corner of the grid.

point-3 v

Specify the bottom right corner of the grid.

number-12 i

Set the number of points across the grid from left to right.

number-23 i

Set the number of point across the grid from top to bottom.

group s1 <slot s2 >

The grid sources are assigned to group s1 when group is used. Group s1 is assigned to slot s2 if the optional slot keyword follows; it is assigned to the slot named Default if not. Use of the group logic is described in the i Group section.

strength f

Specify the strength of each point source in the grid.

time-start f

Set the start time of all point sources in the grid.

line keyword

Set up a line of point sources. Source strengths are specified with the strength keyword and the start time is specified with the time-start keyword. These must be provided after the definition of the grid, or, can be given as a separate command with a range. If not provided, the default start time is 0. The source may be outside the FLAC3D grid.

point-1 v

Specify the line start point.

point-2 v

Specify the line end point.

number i

Set the number of points along the line.

group s1 <slot s2 >

The line sources are assigned to group s1 when group is used. Group s1 is assigned to slot s2 if the optional slot keyword follows; it is assigned to the slot named Default if not. Use of the group logic is described in the i Group section.

strength f

Specify the strength of each point source in the grid.

time-start f

Set the start time of all point sources in the grid.

list <range>

Print to the screen information about the sources in the specified range.

strength f <range>

Specify the source strength for all sources in the range.

time-start f <range>

Specify the start time for all sources in the range.

symmetry-planes <x> <y> <z>

This command is used to define thermal symmetry planes. For example, the plane defined by \(y\) = 0 is a symmetry plane if the command block thermal symmetry-planes y is issued. Symmetry planes are used to represent adiabatic boundaries.

Note

A plane cannot simultaneously be an isothermal boundary and a symmetry plane.

tolerance f

Set a tolerance for thermal calculations. This tolerance can be thought of as a source radius. If temperatures are calculated at a point closer than f to a gridpoint, the distance from the gridpoint is taken as f. This is necessary because the analytical solution for the temperature due to a point source approaches infinity as the distance from the source approaches zero. (The default is f = 0.1.)

cmodel keyword <range>

Associate a thermal constitutive model with specified zones in the grid. It also allows querying of properties and states of constitutive models.

assign keyword

Assign a thermal model to all zones in the range. This keyword may only be given if the model is configured for thermal calculations (see model configure thermal and Mathematical Model Description).

advection-conduction

Assign advection-conduction model.

hydration

Assign thermal hydration model.

inactive

The zone no longer participates in thermal calculations, effectively making it a perfect insulator.

linear

The zone will use the default linear thermal conduction model, based on the given conductivity or conductivity-tensor property. This is the default.

list

List the available thermal constitutive models and their properties.

implicit b <keyword>

Turn implicit mode on or off. By default implicit mode is off. Implicit mode requires a manually specified timestep (see the model thermal timestep fix command). If no keyword is specified, the implicit logic uses the iterative PCG solver. If the PCG solver fails to converge to the solution, the logic switches to the direct solver (see below). The following keywords apply.

solver keyword

Specify the solver used for the linear systems generated in implicit model. The available options are:

automatic

The solver is determined automatically. It starts using the PCG solver and if that system fails to converge will switch to the direct solver. This is the default.

jacobi

The solver is an iterative Jacobi scheme. This was the default in previous versions of FLAC3D but has been shown to always take longer time compared to the PCG solver with comparable tolerances.

pcg

The PCG solver. This is a preconditioned conjugate gradient iterative solver.

direct

The direct solver. This is a direct matrix-manipulation solver. It takes longer than the PCG but has the benefit of working for systems that are less diagonally dominant than what is required for the PCG solver.

tolerance :lflt:`f`

Set the convergence tolerance used for the interative matrix solvers. The default is 1e-5.

maximum-iterations

Sets the maximum number of iterations allowed by the PCG or Jacobi solvers before an error condition is set. The default value is 1000.

servo <keyword> ...

Controls the timestep servo during thermal calculations when implicit is active. This servo attempts to increase or decrease the timestep depending on accuracy of the solution. It does this by monitoring an error approximation and the number of iterations required to converge the matrix solver.

If the servo is active (which is the default) when a solve or cycle command is given fluid calculations always start explicitly using the explicit critical timestep. If the error estimate falls below error-explicit (corrected for the expected timestep increase) then implicit calculations are activated automatically at a timestep judged to be generally just above what is necessary for implicit calculations to be more efficient than explicit. During implicit calculations the error estimate and iterations required for convergence are monitored and the timestep raised or lowered. If the servo lowers the timestep below the level where explicit calculations are deemed more efficient the system will drop back into explicit calculations.

Both servo conditions must be below the minimum level for the timestep to be raised. The timestep is lowered if any of the two are above the maximum level.

NOTE: The error approximation is done using a half-timestep check done every error-interval steps – so three fluid steps will be done instead of one on that interval. This half step check assumes that the only state value in the thermal calculation is temperature - so that the thermal model can go backwards in time one step. If FISH, Python, or a thermal constitutive model with more state variables is being used then the servo should not be activated.

NOTE: This servo is new and very experimental and may require a great deal of tuning in actual practice.

The following keywords are avilable.

active b

Specifies whether the implicit servo is active or inactive. The servo is not active if a manual timestep has been given using the model fluid timestep fix command. It must be set to model fluid timestep automatic.

error f

Specifies the general error level of the servo system. This is a shorthand for the specification of the the error limits error-explicit and the low and high error-implicit. Both error-explicit and the lower error-implicit are set to \(f\). The maximum error-implicit is set to f * 100 or the existing maximum limit – whichever is higher.

error-explicit f

Specifies the estimated error below which the system will switch to implicit calculations. This estimate is corrected for the increase in timestep required for implicit calculations to be efficient. The default value is 5e-5.

error-implicit fmin fmax

Specifies the minimum and maximum estimated error used by the implicit timstep servo. If the estimated error is below fmin the timestep is increased. If the estimated error is above fmax the timestep is decreased. The default values are 5e-5 and 1e-3.

error-interval i

Specifies how often the error estimate is made. The timestep can only be increased on the error estimate interval (it can decrease due to iteration limits at any step). Two extra fluid steps are taken every iteration interval. The default value is 10.

gain flow fhigh

Specifies the amount the timestep is increased or decreased when a servo bound is reached. The flow multiplier is used to decrease the timestep, and the fhigh multiplier is used to increase it. The default values are 0.` and 1.25.

iterations ilow ihigh

Specifies the minimum and maximum number of matrix solver iterations allowed before the timestep is increased or decreased. This metric does not apply to the direct solver. The default values are 7 and 20.

latency i

Specifies the minimum number of fluid steps required after the timestep is increased before it is allowed to increase again. The default value is 80.

list

Lists to the console the current implicit servo settings.

pcg-limit f

Specifies the limit at which the servo automatically switches from the preconditioned-conjgate-gradient solver to the direct solver. This limit is specified in terms of the multiplier on the current critical explicit timestep. The default value is 5e4.

table <prefix sprefix >

Activates threetables that can be used to monitor the servo limit values during cycling. This is the best way to query the system in practice and tune the servo limits for your particular model. The three tables created are named Servo-Multiplier, Servo-Error, and Servo-Iterations. For each fluid step taken they record the value of the current servo multiplier, estimated error, number of solver iterations required, and number of non-linear iterations required respectively. The names of these tables can be changed using the optional sprefix keyword which will change the string Servo- to the contents sprefix in the created table names.

list keyword
information

List general information about the zone-specific thermal calculation settings.

property keyword <range>

List the values of all thermal properties matching the property in the range.

property keyword <range>

Assign properties for the thermal constitutive models of all zones in the range. Any number of name value pairs may be assigned. Any constitutive model that has a matching property name will be assigned the value. The properties of the default Linear Conduction are listed here model are listed here, and of the Hydration model are listed here.

property-distribution s akeyword <range>

Assigns a single property name to the thermal constitutive models of all zones in the range. The property value may be varied in space by using the following optional keyword values.

add

Add a to the property value. This keyword only applies to float type property values.

deviation-gaussian f

A Gaussian distribution is used to assign the value randomly, with a mean value of a and a standard deviation of f. This keyword only applies to float type property values.

deviation-uniform f

A uniform distribution is used to assign the value randomly, with a mean value of a and a standard deviation of f. This keyword only applies to float type property values.

gradient v <origin v >

Apply a gradient to the property value. This keyword only applies to float type property values. Note the origin keyword is optional, however, the default value (0,0,0) is used if the origin keyword is not included in the command — which may not produce the intended result.

multiply

Multiply the property value by a.

vary v

Apply a linear variation to the property value. This keyword only applies to float type property values.

steady-state <update-stresses>

Calculates a steady state solution for the current thermal boundary conditions of the model. This is done via a solution to the resulting set of linear equations.

All current boundary conditions and sources are included. If time-varying boundary conditions are applied their values are calculated at the current thermal time only.

Because the resulting linear system is not diagonally dominant a direct solver is used rather than an iterative one, which means the solution times are longer.

By default the temperate values are over-written without any change in the rest of the model. If the update-stresses keyword is given then the mechanical response due to the pressure change (through thermal expansion) will activate at the next mechanical timestep.

timestep keyword

Options to control the timestep used in zone thermal calculations. The following keywords are available:

automatic

Removes any fixed timestep that may have been specified earlier.

fixed f

Fixes the timestep at the value f. Note that this will ignore any maximum also specified.

maximum

Set a maximum timestep allowed for thermal calculations. Note that this will apply both to the result of the explicit stable timestep and to the implicit servo if active.

time-total f

Specifies the accumulated zone thermal time, defined as the sum of all the timesteps over which zone thermal is active. Once set, thermal time will continue to accumulate with subsequent cycles.

zone-based-temperature b

Turns zone-based temperatures on and off. By default temperatures are calculated and stored at gridpoints, and the zone temperature is the average gridpoint value. When this is turned on, the zone temperature is stored in the zone and the gridpoint temperatures are ignored. Temperatures must be set manually using the zone.temp FISH intrinsic.