pyHarm.Elements.NodeToNodeElements.PenaltyBilateralGap

Classes

PenaltyBilateralGap

This element is an approximation of bilateral contact by adding a rigidity when contact is made.

Functions

PenalGapResidual(x, om, Pdir, Pslave, Pmaster, g, k, ...)

PenalGapJacobian(x, om, Pdir, Pslave, Pmaster, g, k, ...)

Module Contents

pyHarm.Elements.NodeToNodeElements.PenaltyBilateralGap.PenalGapResidual(x, om, Pdir, Pslave, Pmaster, g, k, DFT, DTF)
pyHarm.Elements.NodeToNodeElements.PenaltyBilateralGap.PenalGapJacobian(x, om, Pdir, Pslave, Pmaster, g, k, DFT, DTF)
class pyHarm.Elements.NodeToNodeElements.PenaltyBilateralGap.PenaltyBilateralGap(nh: int, nti: int, name: str, data: dict, CS: pyHarm.CoordinateSystem.CoordinateSystem)

Bases: pyHarm.Elements.NodeToNodeElements.NodeToNodeElement.NodeToNodeElement

This element is an approximation of bilateral contact by adding a rigidity when contact is made.

g

gap value.

Type:

float

k

linear spring value.

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

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

Type:

str

__post_init__()
__flag_update__()
_evalJaco_DF(xg, om, step)

Computes the jacobian using finite difference method.

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

  • om (float) – angular frequency value.

  • step (float) – step size for the finite difference method.

Returns:

jacobian with respect to displacement vector. dJdom (np.ndarray): jacobian with respect to angular frequency.

Return type:

dJdx (np.ndarray)

_evalJaco_ana(xg, om)
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

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

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