pyHarm.Elements.NodeToNodeElements.Penalty3D

Attributes

Classes

Penalty3D

This element is a combination of an unilateral gap element and a jenkins element on the perpendicular directions when contact is made.

Functions

evalResidual_jax(x, om, Pdir, Pslave, Pmaster, mu, N0, ...)

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, nti: int, name: str, data: dict, CS: pyHarm.CoordinateSystem.CoordinateSystem)

Bases: pyHarm.Elements.NodeToNodeElements.NodeToNodeElement.NodeToNodeElement

This 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