FLAC3D Theory and Background • Fluid-Mechanical Interaction

Input Instructions for Fluid-Flow Analysis

Fluid FISH Variables


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


Table 2: Fluid FISH Functions
gp.biot.modulus
gp.pp
gp.pp.fix
gp.flow
gp.fluid.modulus
gp.fluid.tension
gp.sat
zone.flux
zone.fluid.model
zone.fluid.prop
zone.fluid.ratio
zone.fluid.stress.normal
zone.fluid.time.total
zone.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) 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 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. This method also establishes the baseline pore pressures in the zones. 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 initialize 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.
  2. Assign mechanical model and properties to zones.
  3. Assign fluid model and Biot coefficient (1 by default) to zones.
  4. zone fluid active is set to off; zone 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.f3dat:

model new
model largestrain off
model configure fluid
;
zone create brick size 2 2 2 point 1 (1 0 0) point 2 (0 1 0) point 3 (0 0 1)
zone gridpoint fix velocity-x range union position-x 0 position-x 1
zone gridpoint fix velocity-y range union position-y 0 position-y 1
zone gridpoint fix velocity-z range position-z 0
; mechanical model
zone cmodel assign elastic
zone property density 1.0 bulk 400 shear 300
model gravity 0 0 -1
; fluid flow model
zone fluid cmodel assign isotropic
zone fluid property biot 1.0
;
model fluid active off
model mechanical active on
zone fluid zone-based-pp on
;
call 'fishFunctions'
;
; read baseline pp from file basetp.dat and store in zones
@_baseline
; read updated pp and temp from file updatetp.dat and store in zones
@_update
;
model solve
; store zone-based pp to zone extra
@_pt2extra
;
model save 'zonebased'
return