fedoo.weakform.StressEquilibriumMixed

class StressEquilibriumMixed(constitutivelaw, bulk_modulus=None, name='', nlgeom=None, space=None)

Mixed displacement/pressure weak formulation for solid mechanics.

This weak formulation is suitable for nearly incompressible materials. It introduces a pressure variable to treat the volumetric behavior separately from the deviatoric behavior, avoiding volumetric locking.

The element formulation should satisfy the LBB condition (e.g. Q2-Q1 or P1+/P1).

Parameters:
  • constitutivelaw (ConstitutiveLaw) – Material constitutive law.

  • name (str, optional) – Name of the weak form.

  • nlgeom (bool, optional) – Non-linear geometry flag.

  • bulk_modulus (float, optional) – Bulk modulus used for scaling the pressure equation. If None, it is estimated from the tangent matrix trace. Note: This is used for scaling the pressure constraint equation.

  • space (ModelingSpace, optional) – Modeling space.

symmetrized_matrix

Only used when nlgeom is False. If True, the deviatoric tangent is computed using the symmetric projection (P:H:P) to ensure a symmetric displacement stiffness block. If False, a single projection (P:H) is used. Default is True.

Type:

bool

__init__(constitutivelaw, bulk_modulus=None, name='', nlgeom=None, space=None)

Methods

StressEquilibriumMixed.get_all()

Return the list of all weak forms.

StressEquilibriumMixed.get_weak_equation(...)

Get the weak equation related to the current problem state.

StressEquilibriumMixed.initialize(assembly, pb)

Initialize the weakform at the begining of a problem.

StressEquilibriumMixed.nvar(self)

Return the number of variables used in the modeling space associated to the WeakForm.

StressEquilibriumMixed.reset()

StressEquilibriumMixed.set_start(assembly, pb)

Start a new time increment.

StressEquilibriumMixed.sum(wf1, wf2)

StressEquilibriumMixed.to_start(assembly, pb)

Reset the current time increment.

StressEquilibriumMixed.update(assembly, pb)

Update the weakform to the current state.

StressEquilibriumMixed.update_2(assembly, pb)

Update the weakform to the current state.

StressEquilibriumMixed.corate

Corotational strain mesure for strain.

StressEquilibriumMixed.fbar

Set to True to use the F-bar method.

StressEquilibriumMixed.geometric_stiffness

Set to True to add the geometric effects to the stiffness matrix.

StressEquilibriumMixed.name

Return the name of the WeakForm.

StressEquilibriumMixed.space

Return the ModelingSpace associated to the WeakForm if defined.

StressEquilibriumMixed.nlgeom

Method used to treat the geometric non linearities. * Set to False if geometric non linarities are ignored. * Set to True or 'UL' to use the updated lagrangian method (update the mesh) * Set to 'TL' to use the total lagrangian method (base on the initial mesh with initial displacement effet).