pyHarm.Elements.NodeToNodeElements.DLFTElements.DLFTFriction

Attributes

Classes

DLFTFriction

This element is the DLFT friction element, modeling a friction contact using a Coulomb law.

Functions

DLFTFrictionResidualCorLoop_jax(lambda_opt_t, ...)

DLFTFrictionResidual_jax(x, om, Rlin, nbSub, Pdir, ...)

DLFTFrictionResidualCorLoop(lambda_opt_t, ...)

DLFTFrictionResidual(x, om, Rlin, nbSub, Pdir, Pslave, ...)

DLFTFrictionJacobianCorLoop(dlamdx_opt_t_ss, ...)

DLFTFrictionJacobian(x, om, Rlin, dJdxlin, dJdomlin, ...)

Module Contents

pyHarm.Elements.NodeToNodeElements.DLFTElements.DLFTFriction.DLFTFrictionResidualCorLoop_jax(lambda_opt_t, lambda_pre_t, limit_friction_force)
pyHarm.Elements.NodeToNodeElements.DLFTElements.DLFTFriction.DLFTFrictionResidual_jax(x, om, Rlin, nbSub, Pdir, Pslave, Pmaster, mu, N0, eps, DFT, DTF, f_time_n)
pyHarm.Elements.NodeToNodeElements.DLFTElements.DLFTFriction.DLFTFrictionJacobian_jax: Callable = None
pyHarm.Elements.NodeToNodeElements.DLFTElements.DLFTFriction.DLFTFrictionResidualCorLoop(lambda_opt_t, lambda_pre_t, mu, N0)
pyHarm.Elements.NodeToNodeElements.DLFTElements.DLFTFriction.DLFTFrictionResidual(x, om, Rlin, nbSub, Pdir, Pslave, Pmaster, mu, N0, eps, DFT, DTF)
pyHarm.Elements.NodeToNodeElements.DLFTElements.DLFTFriction.DLFTFrictionJacobianCorLoop(dlamdx_opt_t_ss, dlamdx_opt_t_sm, dlamdom_opt_t, lambda_pre_t, mu, N0)
pyHarm.Elements.NodeToNodeElements.DLFTElements.DLFTFriction.DLFTFrictionJacobian(x, om, Rlin, dJdxlin, dJdomlin, nbSub, Pdir, Pslave, Pmaster, mu, N0, eps, DFT, DTF)
class pyHarm.Elements.NodeToNodeElements.DLFTElements.DLFTFriction.DLFTFriction(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.DLFTElements.DLFTElement.DLFTElement

This element is the DLFT friction element, modeling a friction contact using a Coulomb law.

mu

friction coefficient.

Type:

float

N0

normal precharge on the element.

Type:

float

eps

penalty parameter of the DLFT method.

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 = 'DLFTFriction'

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

Type:

str

__post_init__()
_evalJaco_ana(xg, om, Rglin, dJgdxlin, dJgdomlin, *args)
_evalJaco_jax(xg, om, Rglin=None)
adim(lc, wc)

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

eps

modified penalty coefficient to apply according to the characteristic parameters.

Type:

float

flag_adim

characteristic angular frequency value.

Type:

bool

evalResidual(xg, om, Rglin=None)

Computes the residual.

Parameters:
  • xg (np.ndarray) – full displacement vector.

  • om (float) – angular frequency value.

  • Rglin (np.ndarray) – Residual vector of all the linear element contributions.

Returns:

residual vector.

Return type:

np.ndarray

evalJacobian(xg, om, Rglin=None, dJgdxlin=None, dJgdomlin=None)

Computes the jacobians.

Parameters:
  • xg (np.ndarray) – full displacement vector.

  • om (float) – angular frequency value.

  • Rglin (np.ndarray) – Residual vector of all the linear element contributions.

  • dJgdxlin (np.ndarray) – Jacobian with respect to displacement of all the linear element contributions.

  • dJgdomlin (np.ndarray) – Jacobian with respect to angular frequency of all the linear element contributions.

Returns:

Jacobian with respect to displacement. np.ndarray: Jacobian with respect to angular frequency.

Return type:

np.ndarray