pyHarm.Elements.NodeToNodeElements.Jenkins

Attributes

Classes

Jenkins

This element is jenkins element, modeling a friction contact using an approximate Coulomb law considering a linear spring behavior when stuck.

Functions

JenkinsCorLoop_jax(x_k, k, DFT, limit_friction_force)

JenkinsResidual_jax(x, om, Pdir, Pslave, Pmaster, mu, ...)

JenkinsCorLoop(x_k, k, dx_kdx_j, DFT, limit_friction_force)

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

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

Module Contents

pyHarm.Elements.NodeToNodeElements.Jenkins.JenkinsCorLoop_jax(x_k, k, DFT, limit_friction_force)
pyHarm.Elements.NodeToNodeElements.Jenkins.JenkinsResidual_jax(x, om, Pdir, Pslave, Pmaster, mu, N0, k, DFT, DTF, f_time_n=0.0)
pyHarm.Elements.NodeToNodeElements.Jenkins.jaxf
pyHarm.Elements.NodeToNodeElements.Jenkins.jaxf = None
pyHarm.Elements.NodeToNodeElements.Jenkins.JenkinsCorLoop(x_k, k, dx_kdx_j, DFT, limit_friction_force)
pyHarm.Elements.NodeToNodeElements.Jenkins.JenkinsResidual(x, om, Pdir, Pslave, Pmaster, mu, N0, k, DFT, DTF)
pyHarm.Elements.NodeToNodeElements.Jenkins.JenkinsJacobian(x, om, Pdir, Pslave, Pmaster, mu, N0, k, DFT, DTF)
class pyHarm.Elements.NodeToNodeElements.Jenkins.Jenkins(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.NodeToNodeElement

This element is jenkins element, modeling a friction contact using an approximate Coulomb law considering a linear spring behavior when stuck.

mu

friction coefficient.

Type:

float

N0

normal preload on the element.

Type:

float

k

linear spring value.

Type:

foat

jac

if “analytical” uses analytical expression of jacobian, if “jax” uses automatic differentiation, if “DF” uses finite difference.

Type:

str

factory_keyword: str = 'Jenkins'

keyword that is used to call the creation of this class in the system factory.

Type:

str

__post_init__()
__flag_update__()
_evalJaco_ana(xg, om, *args)
_evalJaco_jax(xg, om, *args)
adim(lc, wc)

Modifies the element properties according to the characteristic length and angular frequency.

k

modified linear coefficient to apply 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

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