fedoo.weakform.StressEquilibriumRI
- class StressEquilibriumRI(constitutivelaw, hourglass_stiffness=0.01, name='', nlgeom=None, nlgeom_hourglass=False, space=None)
Stress-equilibrium weak form with reduced integration.
This weak form combines
StressEquilibriumwithHourglassStiffnessto control the hourglass deformation modes associated with reduced integration.It should only be used with
hex8orquad4elements. Unlike the standardStressEquilibriumweak form, it uses one Gauss point by default and adds the hourglass stabilization proposed by Flanagan and Belytschko.- Parameters:
constitutivelaw (ConstitutiveLaw or str) – Constitutive law used by the stress-equilibrium term.
hourglass_stiffness (float, default=0.01) – Coefficient controlling the hourglass stiffness. It should be large enough to suppress hourglass modes without introducing excessive artificial flexural stiffness.
name (str, optional) – Name of the weak form.
nlgeom (bool or {'UL', 'TL'}, optional) – Geometric-nonlinearity formulation used by the stress-equilibrium term.
Trueand"UL"select the updated Lagrangian method;"TL"selects the total Lagrangian method.nlgeom_hourglass (bool or {'UL', 'TL'}, default=False) – Geometric-nonlinearity formulation used by the hourglass term. Keeping this false generally gives accurate results, including for finite-strain problems.
space (ModelingSpace, optional) – Modeling space. Defaults to the active modeling space.
Example
Define a reduced-integration weak form for a 2D problem:
>>> import fedoo as fd >>> fd.ModelingSpace("2Dstress") >>> material = fd.constitutivelaw.ElasticIsotrop(100e3, 0.3) >>> wf = fd.weakform.StressEquilibriumRI(material)
- __init__(constitutivelaw, hourglass_stiffness=0.01, name='', nlgeom=None, nlgeom_hourglass=False, space=None)
Methods
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.
StressEquilibriumRI.initialize(assembly, pb)Iterate over the already flattened list of weakforms.
StressEquilibriumRI.set_damping([damping])Mechanical alias for
set_dissipation.Attach a dissipative contribution.
Mechanical alias for
set_storage.StressEquilibriumRI.set_start(assembly, pb)StressEquilibriumRI.set_storage(storage[, ...])Attach a time-storage weakform to this static weakform.
StressEquilibriumRI.sum(wf1, wf2)StressEquilibriumRI.to_start(assembly, pb)StressEquilibriumRI.update(assembly, pb)StressEquilibriumRI.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.