Poroelasticity Calculations
NairnMPM can do poroelasticity calculations coupled with stresses and strains through tracking of pore pressure in fluid-saturated media. This feature is only available in OSParticulas.
Introduction
Poroelasticity is modeled by extension of method first described by Biot.[1] In brief, each particle tracks a pore pressure that models pressure within a liquid for a material saturated with that liquid. As the material volume changes, the pore pressure increases or decreases. The pore pressure can transport between particles based on Darcy tensor for permittivity of the material for the given liquid. Some new poroelasticity material properties control coupling between stresses and strains and the pore pressure.
The extensions from Biot[1] are to model poroelasticity in anisotropic materials and to allow the pore pressure to drop below zero. When pore pressure is negative, it is representing partial saturation with effective pore pressure being zero. After it returns to zero (such as by compaction), pore pressure may be reactivated.
Activating Poroelasticity
In scripted files, poroelasticity is activated with the command
Poroelasticity (yesorno),<(p0)>,<(eta)>
In XML input files, poroelasticity is activated with the <Poroelasticity> command, which must be within the <<MPMHeader> element:
<Poroelasticity reference="(p0)" viscosity="(eta)">
where
- (YesOrNo) must be "Yes" or "No" to activate or not activate poroelasticity calculations. In XML input files, the presence of a <Poroelasticity> command activates poroelasticity methods. The default is "No".
- (p0)is reference pore pressure (in pressure units). The default (p0) is 0.
- (eta) is fluid viscosity for fluid in the pores (and same for all materials). Default is 1 cP in Legacy units or 1 viscosity unit in consistent units (note that Legacy units default to water viscosity, but consistent units default to 1 viscosity unit which may not be water viscosity - it is therefore best to always enter this viscosity and not rely on default setting being for water).
Note that poroelasticity models fluid transport through materials by transport methods nearly identical to those used to model diffusion. Because they share same methods, a simulation can activate poroelasticity (with above commands) or diffusion (with comparable Diffusion commands), but cannot activate them both. Any simulation, however, can combine poroelasticity or diffusion with thermal calculations and conduction. Note that when choosing archiving options, the terms "concentration" and "porepressure" are synonyms or either can be used and the archiving will store concentration terms for diffusion calculations or pore pressure terms for poroelasticity calculations.
Poroelasticity Material Properties
The constitutive law for an isotropic, poroelastic material is
[math]\displaystyle{ \mathbf{\sigma} = \mathbf{C} \mathbf{\varepsilon} - \alpha dp }[/math]
where [math]\displaystyle{ \mathbf{C} }[/math] is the compliance tensor, [math]\displaystyle{ \alpha }[/math] is the poroelasticity Biot coefficient (dimensionless from 0 to 1) and [math]\displaystyle{ dp }[/math] is increment of pore pressure in the current time step. The pore pressure transport between particle is controlled by poroelasticity implementation of Darcy's law:
[math]\displaystyle{ { 1\over Q}{dp\over dt} =-{1\over \eta}\nabla \cdot k\nabla p - \alpha {d\varepsilon\over dt} }[/math]
where [math]\displaystyle{ \eta }[/math] is fluid viscosity, [math]\displaystyle{ k }[/math] is Darcy's law permittivity, and [math]\displaystyle{ Q }[/math] is a pore pressure "capacity" define by:
[math]\displaystyle{ Q = {K_u-K\over \alpha^2} }[/math]
Here [math]\displaystyle{ K }[/math] is the solid material's bulk modulus and [math]\displaystyle{ K_u }[/math] is the material's undrained bulk modulus. This property it the bulk modulus of the saturated material under conditions where there is no change in pore pressure. For all materials [math]\displaystyle{ K_u\gt K }[/math].
The Biot[1] theory is extended to anisotropic materials by replacing [math]\displaystyle{ \alpha }[/math] and [math]\displaystyle{ k }[/math] with tensors having three principle values for three symmetric directions of an orthotropic material. For a transversely isotropic material, the tensors are defined by two principle values in the axial and transverse directions.
When doing poroelasticity calculations, each material must specify [math]\displaystyle{ \alpha }[/math], [math]\displaystyle{ K_u }[/math], and [math]\displaystyle{ k }[/math]. Anisotropic materials must specify values of [math]\displaystyle{ \alpha }[/math] and [math]\displaystyle{ k }[/math] along the each symmetry plane direction. The property names for entering these material properties are in the poroelasticity properties table.
Archived Concentrations
When the feature to archive pore pressure is activated, the particle archive files will include pore pressure and pore pressure gradients. The results will be archived in pressure units.
In addition, you can archive pore pressure in global archive methods or in VTK archiving custom task (in pressure units).
Poroelasticity Boundary Conditions
When diffusion is activated, you can set, the possible concentration boundary conditions are:
- You can set concentration on the grid.
- Rigid particles can provide moving concentration boundary conditions.
- You can set a concentration flux on particle surfaces.
Note that setting initial particle concentrations different than the reference concentration will cause strains to immediately evolve toward the changed state. The net effect will be an instantaneous "impact" of concentration change that might cause undesirable dynamic effects.