fedoo.weakform.PlateEquilibriumFI
- class PlateEquilibriumFI(plate_properties, true_drilling_rotation=True, drill_stiffness_coefficient=0.01, name='', nlgeom=None, space=None)
Mechanical equilibrium equation for plate models, with full integration.
This weakform implements the mechanical equilibrium for shell/plate elements. It uses full integration (FI) by default, which may lead to shear or membrane locking for linear elements (e.g., Tri3, Quad4). This weak form is not compatible with MITC or reduced integration elements.
:mod:`fedoo.weakform.PlateEquilibrium` should be prefered unless you know what you are doing.
Geometrical nonlinearities are implemented via a corotational approach, decomposing the motion into a rigid-body rotation and a local deformational part.
- Parameters:
plate_properties (ConstitutiveLaw name (str) or ConstitutiveLaw object) – Shell Constitutive Law defining the membrane, bending, and shear stiffness (e.g.,
fedoo.constitutivelaw.ShellHomogeneousorfedoo.constitutivelaw.ShellLaminate).true_drilling_rotation (bool, default=True) –
Only active if nlgeom is enabled. - If True: Enforces a kinematic link between the nodal RotZ and
the in-plane displacement gradients (0.5 * [dv/dx - du/dy]). This allows for physically consistent in-plane material rotations, essential for large-deformation anisotropic analysis.
If False: Applies a simple numerical penalty on the nodal RotZ to prevent matrix singularity without coupling it to the membrane deformation.
drill_stiffness_coefficient (float, default=1e-2) – The penalty coefficient used for the drilling rotation constraint scaled by the membrane shear stiffness. Increasing this value enforces the constraint more strictly but may introduce drilling locking in fully integrated elements.
name (str, optional) – Name of the WeakForm.
nlgeom (bool or str, optional) – Property used to treat geometric nonlinearities. If True, a step-by-step frame update is used.
- __init__(plate_properties, true_drilling_rotation=True, drill_stiffness_coefficient=0.01, name='', nlgeom=None, space=None)
Methods
Return the list of all weak forms.
PlateEquilibriumFI.initialize(assembly, pb)PlateEquilibriumFI.nvar(self)Return the number of variables used in the modeling space associated to the WeakForm.
PlateEquilibriumFI.set_damping([damping])Mechanical alias for
set_dissipation.Attach a dissipative contribution.
Mechanical alias for
set_storage.PlateEquilibriumFI.set_start(assembly, pb)PlateEquilibriumFI.set_storage(storage[, ...])Attach a time-storage weakform to this static weakform.
PlateEquilibriumFI.sum(wf1, wf2)PlateEquilibriumFI.to_start(assembly, pb)PlateEquilibriumFI.update(assembly, pb)PlateEquilibriumFI.update_2(assembly, pb)Return the name of the WeakForm.
Return the ModelingSpace associated to the WeakForm if defined.