Changes and Updates from FLAC 9.0 to FLAC 9.1

This is not a comprehensive list of changes and additions to FLAC 9.1. This is a highlight of changes target at users of FLAC 9.0 and prior.

General Updates

Warnings can be suppressed in a data file using the asterix ‘*’ character as a prefix to the line that would cause the warning. This is intended to allow users to suppress warnings that are known to be ok for this model, so that additional warnings in the future will be more likely to be noticed.

Updated null zones

Null zones are no longer assigned or associated with the constitutive model. Null zones are a separate state that more consistently indicates that while the data is present in the model they do no particpate in calculations in any way. This includes ALL processes - so a null zone is not considered for fluid, thermal, mechanical, or any other calculation.

The surface of a FLAC3D zone model is now always considered to be the faces across which there are no zones or only null zones. There is no need to consider the differences between the mechanical surface, the fluid surface, and the thermal surface.

Zones are made null or non-null by using the zone null b command. There are also zone.null (read-write) and gp.null (read-only) FISH intrinsics.

If you need to make a zone not particate in thermal or fluid calculations, you can give them the inactive constitutive model. This makes thermal zones behave as a perfect insulator, and makes fluid zones behave impermeably. Note that the zones will still appear by default in plots and will be valid surfaces for apply conditions, etc.

Additional SOLVE commands

Several new model solve commands have been added to make it easier to manage models that involve multiple processes (fluid, mechanical, thermal, etc). They eliminate the necessity of having to explicitly activate or de-activate the process to perform an uncoupled calculation, and the associated error when the active state of a process is incorrect.

In addition, new model solve commands have been created to simplify the setup and execution of a loosely-coupled calculation; where a leader process cycles for a specific time and the mechanical process is assumed to cycle to equilibrium after each leader step. In all cases the active/inactive and leader/follower states are restored after the command.

Note that while a shorthand version of convergence criteria is documented, the full list of keywords and convergence criteria available to the more general model solve command are available.

Specifically, the new commands are:

model solve-static <convergence> <c>

This version solves to static mechanical equilibrium with all other processes off. If no convergence criteria is specific a convergence of 1.0 is used. Examples of use are:

model solve-static

model solve-static 10

model solve-static convergence 10

model solve-static ratio 1e-5

model solve-fluid <time> t

model solve-thermal <time> t

model solve-creep <time> t

model solve-dynamic <time> t

These versions solves the indicated process only to additional time t. All other processes are made inactive. Examples of use are:

model solve-fluid 10

model solve-fluid time 10

model solve-fluid time-total 100

model solve-fluid-coupled <time> t <convergence> <c>

model solve-thermal-coupled <time> t <convergence> <c>

This version sets up a loosely coupled calculation, with the indicated process as the leader and mechanical as the follower. It cycles till additional time t using a mechanical convergence criteria each leader step of convergence <c> If no convergence criteria is specified a convergenc of 1.0 is used. Examples of use are:

model solve-fluid-coupled 10

model solve-fluid-coupled 10 10

model solve-fluid-coupled time 10 convergence 10

model solve-fluid-coupled fluid time-total 100 mechanical ratio 1e-5

model solve-fluid-decoupled <time> t <divisions> <d> <convergence> <c>

This versions solves a decoupled fluid mechanical system in d steps. If d is not specified it defaults to 5. If no convergence is specified it defaults to a mechanical convergence of 1.0.

In each step the fluid process is solved to additional time \(\frac{t}{d}\). Then the mechanical system is solved to convergence. Example of use are:

model solve-fluid-decoupled 5

model solve-fluid-decoupled 5 10 10

model solve-fluid-decoupled time 5 divisions 10 convergence 10

Skip Data on MODEL NEW or MODEL RESTORE

The python-reset-state command has been deprecated and is no longer necessary.

If a FISH or Python function is active when the command model new or model restore is given, then the FISH and/or Python state respectively is automatically skipped from that operation.

In the case of model new the FISH and/or Python states are not reset and all data is retained.

In the case of model restore the FISH and/or Pythons states are retained and FISH information in the saved model state is ignored - this includes functions and global values but not any extra data associated with model objects.

In addition the user can explicitly indicate that data is to be skipped in these operations, using the skip keyword.

For example:

model new skip fish table

indicates that both FISH data and table data should be retained but the rest of the model state should be reset.

model restore "state" skip python

indicates that the python state should not be cleared and reset when the model state is loaded.

This makes it now easier to use either FISH or Python to script multiple model states, as for the most part code that does either operation inside a FISH or Python function will work by default.

Note that if any information is skipped during a model new or a model restore, the model state record is NOT reset and continues to accumulate.

Updated Fluid/Mechanical command interface

The command structure and default settings of a Fluid/Mechanical problem in FLAC have been changed. First use the fluid-flow keyword rather than fluid in the model configure command:

model configure fluid-flow

This changes a number of defaults from 9.0 and previous use of model configure fluid-flow:

The default saturation model is always fully saturated. Pore-pressures can become negative.

While densities will still be calculated as dry-densities when the model configure fluid-flow command is given , the saturation will always be considered 1.0 (fully saturated) for the purpose of overall zone density calculations unless the density-saturated property is set to false in the zone.

For the purposes of calculating effective stress, pore pressures will be cut off at 0.0 unless the effective-cutoff property is changed in the zone.

Zones are assumed to have the linear fluid model by default, a constitutive model does not need to be specified.

Pore-pressure generation due to mechanical volumetric strain (two way coupling) is off by default. This can be activated by setting the pore-pressure-generation property to true in the zone.

The default implicit solver will be preconditioned-conjugate-gradient instead of Jacobi.

Other changes designed to simplify and streamline fluid calculations are:

All fluid properties are assigned to the zone using the zone fluid property command. The commands zone gridpoint initialize fluid-modulus, biot, and fluid-tension have been deprecated. The zone initialize fluid-density command has also been deprecated.

The use of permeability as a property name has been deprecated as it caused too much confusion between multiple definitions of the term in different industries. Instead users can specify mobility-coefficient and/or hydraulic-conductivity.

A linearly anisotropic permeability field is automatically used if the mobility-coefficient-tensor or hydraulic-conductivity-tensor keywords are used to specify a full tensor permeability. A new convention has been added to make it easier to specify tensor quantities on the command line.

The implicit logic has been upgraded to support unsaturated flow. Picard iteration is used to accomodate nonlinear effects. Note that failure to converge in this case is a possibility. FLAC handles this by automatically reducing the timestep and attempting the step again, even dropping back down to the explicit calculation mode if necessary. A warning is issued.

Steady-state calculations can be made in one step with the zone fluid steady-state command. This includes support for unsaturated flow.

An automatic servo is available to control the fluid timestep, including moving from explicit to implicit calculations. See the zone fluid implicit servo command.

A consolidation analysis can be simply done by using the zone fluid modulus-scale command to automatically scale the fluid modulus – either by using a coefficient of consolidation or by using the material confined modulus. Then solving the system using the model solve-fluid-decoupled command.

Saturation-suction models are available to model unsaturated flow in soils as well as the original cutoff model that was the default in version prior to 9.1. The models and their settings can differ in each gridpoint of the model. See the zone fluid unsaturated command.

Biot mode is set automatically for a zone that either has a biot-coefficient property that is not equal to 1.0 or has used the biot-modulus property. The zone.fluid.biot command is deprecated.