pyHarm.Elements.NodeToNodeElements.Penalty3D¶
Attributes¶
Classes¶
This element is a combination of an unilateral gap element and a jenkins element on the perpendicular directions when contact is made. |
Functions¶
|
Module Contents¶
- pyHarm.Elements.NodeToNodeElements.Penalty3D.evalResidual_jax(x, om, Pdir, Pslave, Pmaster, mu, N0, g, k_n, k_t, DFT, DTF)¶
- pyHarm.Elements.NodeToNodeElements.Penalty3D.jaxf¶
- pyHarm.Elements.NodeToNodeElements.Penalty3D.jaxf = None¶
- class pyHarm.Elements.NodeToNodeElements.Penalty3D.Penalty3D(nh: int | list[int], nti: int, name: str, data: dict, CS: pyHarm.CoordinateSystem.CoordinateSystem, dynop: dict[str, numpy.ndarray] | None = None)¶
Bases:
pyHarm.Elements.NodeToNodeElements.NodeToNodeElement.NodeToNodeElementThis element is a combination of an unilateral gap element and a jenkins element on the perpendicular directions when contact is made.
- g¶
gap value.
- Type:
float
- k_n¶
linear spring value for the unilateral gap.
- Type:
foat
- k_t¶
linear spring value for the jenkins.
- Type:
foat
- mu¶
friction coefficient.
- Type:
float
- N0¶
normal preload on the element.
- Type:
float
- jac¶
if “analytical” uses analytical expression of jacobian, if “jax” uses automatic differentiation, if “DF” uses finite difference.
- Type:
str
- factory_keyword: str = 'Penalty3D'¶
keyword that is used to call the creation of this class in the system factory.
- Type:
str
- __post_init__()¶
- __flag_update__()¶
- adim(lc, wc)¶
Modifies the element properties according to the characteristic length and angular frequency.
- k_n¶
modified linear coefficient for the unilateral gap to apply according to the characteristic parameters.
- Type:
float
- k_n¶
modified linear coefficient for the jenkins to apply according to the characteristic parameters.
- Type:
float
- g¶
modified gap value according to the characteristic parameters.
- Type:
float
- flag_adim¶
True if equations are to be adimensionalized
- Type:
bool
- evalResidual(xg, om)¶
Computes the residual.
- Parameters:
xg (np.ndarray) – full displacement vector.
om (float) – angular frequency value.
- Returns:
residual vector.
- Return type:
np.ndarray
- _evalJaco_ana(xg, om)¶
- evalJacobian(xg, om)¶
Computes the jacobians.
- Parameters:
xg (np.ndarray) – full displacement vector.
om (float) – angular frequency value.
- Returns:
Jacobian with respect to displacement. np.ndarray: Jacobian with respect to angular frequency.
- Return type:
np.ndarray