fedoo.constitutivelaw.PoroFluidProperties
- class PoroFluidProperties(permeability, fluid_viscosity=1.0, biot_coefficient=1.0, biot_modulus=None, initial_porosity=0.8, fluid_density=1000.0, name='')
Fluid-phase parameters for a saturated porous medium.
Holds the Biot coefficient, the Biot modulus, the intrinsic permeability, the fluid viscosity, and the initial Lagrangian porosity. The skeleton constitutive law (hyperelastic, viscoelastic, …) is provided separately and remains unaware of the pore pressure. The Biot/Terzaghi coupling is handled at the weak form level (see
fedoo.weakform.PoroMechanics).- Parameters:
permeability (float or callable) – Intrinsic permeability
k. If callable, signature isk(J, sv) -> float or ndarrayfor deformation-dependent permeability (e.g.HolmesMowPermeability,KozenyCarmanPermeability).fluid_viscosity (float, default 1.0) – Dynamic viscosity
mu_fof the pore fluid. The Darcy mobility used in the mass balance isk / mu_f. Usemu_f = 1ifpermeabilityalready represents the mobilityk / mu_f.biot_coefficient (float, default 1.0) – Biot coefficient
alpha. The default1.0is the Terzaghi limit (incompressible skeleton constituent), appropriate for most soft biological tissues.biot_modulus (float or None, default None) – Biot modulus
M. The storage coefficient is1 / M. IfNone, the fluid is treated as fully incompressible (1 / M = 0).initial_porosity (float, default 0.8) – Initial Lagrangian fluid volume fraction
phi_f0in[0, 1].fluid_density (float, default 1000.0) – Reference fluid density. Stored but not used yet: reserved for a future fluid gravity/body-force term.
name (str, default "")
- __init__(permeability, fluid_viscosity=1.0, biot_coefficient=1.0, biot_modulus=None, initial_porosity=0.8, fluid_density=1000.0, name='')
Methods
Return a dict with all the known ConstitutiveLaw (with a name).
PoroFluidProperties.get_local_frame([assembly])Return material frames, resolved at
assemblyGauss points.PoroFluidProperties.get_mobility([J, sv])Return the isotropic mobility tensor
k(J) / mu_fas a 3x3 list.Return the storage coefficient
1 / M(zero if fluid incompressible).PoroFluidProperties.initialize(assembly, pb)Initialize the constitutive law for the current problem.
Reset the constitutive law.
PoroFluidProperties.set_local_frame(local_frame)Define the material coordinate frame.
PoroFluidProperties.set_start(assembly, pb)Begin a new time iteration.
PoroFluidProperties.to_start(assembly, pb)Restart the current time iteration.
PoroFluidProperties.update(assembly, pb)Update the constitutive law for the current problem state.
Name of the constitutive law.
Tag set to True once the law is intialized.