fedoo.weakform.StressEquilibriumRI

class StressEquilibriumRI(constitutivelaw, hourglass_stiffness=0.01, name='', nlgeom=None, nlgeom_hourglass=False, space=None)

Stress equilibrium weak formulation with reduced integration.

This WeakForm includes hourglass stiffness to control the hourglass deformation modes associated to reduced integration.

This weakform should be used only for ‘hex8’ or ‘quad4’ elements. Contrary to the Standard StressEquilibrium weakform, The number of Gauss point is set to 1 by default. An hourglass stabilization stiffness is added, based on the method proposed by Flanagan and Belytschko in 1981.

Parameters:
  • hourglass_stiffness (float, default: 0.01) – Coefficient to control the hourglass stiffness. This coefficient is a compromise between a sufficient stiffness to suppress hourglass modes and a not too high stiffness to avoid non physical flexural stiffness.

  • name (str) – name of the WeakForm

  • nlgeom (bool, 'UL' or 'TL', optional) – If True, the geometrical non linearities are activate based on the updated lagrangian method. This parameters is used only in the context of NonLinearProblems such as fedoo.problem.NonLinearStatic or fedoo.problem.NonLinearNewmark. If nlgeom == ‘UL’ the updated lagrangian method is used (same as True). If nlgeom == ‘TL’ the total lagrangian method is used. If not defined, the problem.nlgeom parameter is used instead.

  • nlgeom_hourglass (bool, 'UL' or 'TL', default: False) – nlgeom for the hourglass stiffness term. The use of nlgeom_hourglass = False seems to produced accurate results in most cases, even for finite strain problems with nlgeom = True.

  • space (ModelingSpace) – Modeling space associated to the weakform. If None is specified, the active ModelingSpace is considered.

Example

Define a reduced integration weakform with default values for a 2D problem.

>>> import fedoo as fd
>>> fd.ModelingSpace("2Dstress")
>>> material = fd.constitutivelaw.ElasticIsotrop(100e3, 0.3)
>>> wf = fd.StressEquilibriumRI(material)
__init__(**kwargs)