FLAC3D Theory and Background • Fluid-Mechanical Interaction

Input Instructions for Fluid-Flow Analysis

Fluid Commands

The following commands are provided to run fluid problems. There is no fluid command. The commands used for fluid analysis take the form of fluid-related keywords on the commands used for standard mechanical analysis. The command model configure fluid-flow must be the first fluid command given before any other commands for fluid analysis are issued. model configure fluid-flow can be specified at any stage of a FLAC3D analysis.

Table 1: Fluid Commands

model configure fluid-flow

model history fluid

model results interval fluid

model solve-fluid

model solve-fluid-coupled

model solve-fluid-decoupled

model fluid

zone apply well

zone apply-remove well

zone face apply discharge

zone face apply leakage

zone face apply pore-pressure

zone face apply-remove discharge

zone face apply-remove leakage

zone face apply-remove pore-pressure

zone gridpoint fix pore-pressure

zone gridpoint fix well

zone gridpoint free pore-pressure

zone gridpoint free well

zone gridpoint pore-pressure

zone history property-fluid

zone history pore-pressure

zone history saturation

zone list profile property-fluid

zone list profile pore-pressure

zone list profile saturation

zone results model-fluid

zone fluid

Fluid FISH Variables

The following scalar variables are available in a FISH function to assist with fluid analysis.

Table 2: Fluid FISH Functions

gp.pp

gp.pp.fix

gp.flow

gp.sat

zone.flux

zone.fluid.prop

zone.fluid.ratio

zone.fluid.stress.normal

zone.fluid.time.total

zone.fluid.prop

zone.fluid.prop.index

model.fluid.timestep

Zone-Based Pore Pressure

A feature that allows you to set zone based pore pressure using FISH has been added to FLAC3D. This allows for the rapid import of pore pressures from an external source. The stress increment resulting from this zone-based pore pressure change is also incorporated. This feature has been implemented strictly for calculating mechanical changes to a model that result from changes in pore pressure in a zone. Fluid flow should not to be active in FLAC3D when this zone-based pore pressure feature is active.

This feature assumes that FLAC3D is configured for fluid calculations (model configure fluid-flow) and that fluid flow calculations are set to off (zone fluid active off).

Zone-based pore pressures are stored in a “fluid-zone” which is enabled by the model configure fluid-flow command. The stress change generated by a change in zone-based pore pressure is determined by the following equations:

(1)\[\begin{split}\begin{matrix} \sigma_{11}^{new} = \sigma_{11}^{old} - \alpha \Delta p \\ \\ \sigma_{22}^{new} = \sigma_{22}^{old} - \alpha \Delta p \\ \\ \sigma_{33}^{new} = \sigma_{33}^{old} - \alpha \Delta p \\ \end{matrix}\end{split}\]

where \(\alpha\) is the Biot coefficient, a material property of a fluid model (the default is 1.0).

The command to signal the use of zone-based pore pressure to FLAC3D is zone fluid zone-based-pp on. When this command is used, the FISH function zone.pp will allow you to retrieve and assign pore pressure to a zone. Note that when zone fluid zone-based-pp on, FLAC3D keeps track of the last two pore pressures that were assigned to this zone with the zone.pp FISH function. This allows the computation of a pore pressure change (\(\Delta p = p^{new} - p^{old}\)). Each time a pore pressure is assigned to a zone with the zone.pp FISH function, the previously stored pore pressure becomes \(p^{old}\) and the newly assigned pore pressure becomes \(p^{new}\).

If zone fluid zone-based-pp is initially set to off, FLAC3D will use gridpoint-based pore pressures in its calculations (this is FLAC3D’s default mode).

If a zone fluid zone-based-pp on command is encountered, it automatically initializes the zone-based pore pressure (both \(p^{new}\) and \(p^{old}\)) with the average gridpoint-based pore pressures.

If zone fluid zone-based-pp was on and a zone fluid zone-based-pp off command is issued, then the zone-based pore pressures are not used to initialize the gridpoint-based pore pressures with the zone-based pore-pressures.

The commands zone gridpoint fix pore-pressure and zone gridpoint pore-pressure do not alter the zone-based pore pressures. They only work with gridpoint-related quantities. Plotting “Zone -> Color by Contour -> Value: Pore Pressure” shows only gridpoint-related quantities. Instead, the zone-based pore pressure can be stored in zone.extra and then can be plotted through “Zone -> Color by Contour -> Extra; Source Zone.”

The following is one modeling sequence demonstrating the use of this feature.

  1. Create your model geometry (zones) — remembering model configure fluid-flow.

  2. Assign mechanical model and properties to zones.

  3. Assign fluid model and Biot coefficient (1 by default) to zones.

  4. model fluid active is set to off; model mechanical active is set to on and zone fluid zone-based-pp is set to on.

  5. Assign a baseline pore pressure to each zone. Use the zone.pp function to do this.

  6. Assign updated pore pressure to each zone. Use the zone.pp function to do this.

  7. Solve to mechanical equilibrium.

A simple example case is provided in “\datafiles\Fluid\ZoneBasedPorePressure”; the main datafile is listed below.

ZoneBasedPorePressure.dat:

model new
model large-strain off
;
zone create brick size 2 2 2 point 1 (1 0 0) point 2 (0 1 0) point 3 (0 0 1)
zone face skin
zone face apply velocity-normal 0 range group 'Top' not
; mechanical model
zone cmodel assign elastic
zone property density 1.0 bulk 400 shear 300
model gravity 1
;
model configure fluid-flow
zone fluid zone-based-pp on
;
program call 'fishFunctions' suppress
; read baseline pp from file basetp.dat and store in zones
[loadpp('basept.dat')]
; read updated pp and temp from file updatetp.dat and store in zones
[loadpp('updatept.dat')]
;
model solve-static
; store zone-based pp to zone extra
[zone.extra(::zone.list,1) ::= zone.pp(::zone.list)]
model save 'zonebased'
program return