fedoo.weakform.PoroMechanicsSimple
- class PoroMechanicsSimple(skeleton_law, fluid_props, name='', nlgeom=None, space=None)
Non-mixed
(u, PorePressure)poromechanics weak form.This composite weak form contains:
PoroMomentumSimple— momentum balance and Biot coupling without a skeleton-pressure Lagrange multiplier.PoroDarcy— Darcy diffusion.PoroMassStorage— storage and volumetric coupling.
This is the recommended default variant. Use it in particular for problems with free-traction boundaries (Mandel consolidation, unconfined compression of cartilage, soft tissue indentation) where the mixed
PoroMechanicsoscillates. Nobulk_modulusparameter is required. For soft tissues, remember that the near-incompressibility of the tissue is the undrained response already carried by thePorePressurefield: a compressible skeleton law (drainednu ~ 0.1..0.3) with this variant is usually the right model. For stability in the undrained limit prefer a Taylor-Hood interpolation (quadraticu, linearPorePressurevia aCombinedElement— see the poromechanics documentation).With simcoon hyperelastic laws use
nlgeom="UL"(log_R corotational, the simcoon-native mode) and keep the compression below roughly 12% — see the Limitations section of the poromechanics documentation.- Parameters:
skeleton_law (ConstitutiveLaw) – Skeleton constitutive law.
fluid_props (PoroFluidProperties) – Fluid-phase constitutive properties.
name (str, optional) – Name of the weak form. Defaults to the skeleton-law name or
"poromechanics_simple".nlgeom (bool or {'TL', 'UL'}, optional) – Geometric-nonlinearity formulation.
"2Daxi"supports small strain and"UL";"TL"raises.space (ModelingSpace, optional) – Modeling space. Defaults to the active modeling space.
- __init__(skeleton_law, fluid_props, name='', nlgeom=None, space=None)
Methods
Return a recursive shallow copy of the weak-form sum.
Return the list of all weak forms.
Return the optional dissipative provider for a time integrator.
Return the optional storage weakform for a time integrator.
PoroMechanicsSimple.initialize(assembly, pb)Iterate over the already flattened list of weakforms.
PoroMechanicsSimple.set_damping([damping])Mechanical alias for
set_dissipation.Attach a dissipative contribution.
Mechanical alias for
set_storage.PoroMechanicsSimple.set_start(assembly, pb)PoroMechanicsSimple.set_storage(storage[, ...])Attach a time-storage weakform to this static weakform.
PoroMechanicsSimple.sum(wf1, wf2)PoroMechanicsSimple.to_start(assembly, pb)PoroMechanicsSimple.update(assembly, pb)PoroMechanicsSimple.update_2(assembly, pb)Return the name of the WeakForm.
Number of variables in the modeling space associated to the WeakForm.
Return the ModelingSpace associated to the WeakForm if defined.