pyHarm.Elements.NodeToNodeElements.DLFTElements.DLFTFriction ============================================================ .. py:module:: pyHarm.Elements.NodeToNodeElements.DLFTElements.DLFTFriction Attributes ---------- .. autoapisummary:: pyHarm.Elements.NodeToNodeElements.DLFTElements.DLFTFriction.DLFTFrictionJacobian_jax Classes ------- .. autoapisummary:: pyHarm.Elements.NodeToNodeElements.DLFTElements.DLFTFriction.DLFTFriction Functions --------- .. autoapisummary:: pyHarm.Elements.NodeToNodeElements.DLFTElements.DLFTFriction.DLFTFrictionResidualCorLoop_jax pyHarm.Elements.NodeToNodeElements.DLFTElements.DLFTFriction.DLFTFrictionResidual_jax pyHarm.Elements.NodeToNodeElements.DLFTElements.DLFTFriction.DLFTFrictionResidualCorLoop pyHarm.Elements.NodeToNodeElements.DLFTElements.DLFTFriction.DLFTFrictionResidual pyHarm.Elements.NodeToNodeElements.DLFTElements.DLFTFriction.DLFTFrictionJacobianCorLoop pyHarm.Elements.NodeToNodeElements.DLFTElements.DLFTFriction.DLFTFrictionJacobian Module Contents --------------- .. py:function:: DLFTFrictionResidualCorLoop_jax(lambda_opt_t, lambda_pre_t, limit_friction_force) .. py:function:: DLFTFrictionResidual_jax(x, om, Rlin, nbSub, Pdir, Pslave, Pmaster, mu, N0, eps, DFT, DTF, f_time_n) .. py:data:: DLFTFrictionJacobian_jax :type: Callable :value: None .. py:function:: DLFTFrictionResidualCorLoop(lambda_opt_t, lambda_pre_t, mu, N0) .. py:function:: DLFTFrictionResidual(x, om, Rlin, nbSub, Pdir, Pslave, Pmaster, mu, N0, eps, DFT, DTF) .. py:function:: DLFTFrictionJacobianCorLoop(dlamdx_opt_t_ss, dlamdx_opt_t_sm, dlamdom_opt_t, lambda_pre_t, mu, N0) .. py:function:: DLFTFrictionJacobian(x, om, Rlin, dJdxlin, dJdomlin, nbSub, Pdir, Pslave, Pmaster, mu, N0, eps, DFT, DTF) .. py:class:: DLFTFriction(nh: int | list[int], nti: int, name: str, data: dict, CS: pyHarm.CoordinateSystem.CoordinateSystem, dynop: Optional[dict[str, numpy.ndarray]] = None) Bases: :py:obj:`pyHarm.Elements.NodeToNodeElements.DLFTElements.DLFTElement.DLFTElement` This element is the DLFT friction element, modeling a friction contact using a Coulomb law. .. attribute:: mu friction coefficient. :type: float .. attribute:: N0 normal precharge on the element. :type: float .. attribute:: eps penalty parameter of the DLFT method. :type: foat .. attribute:: jac if "analytical" uses analytical expression of jacobian, if "jax" uses automatic differentiation, if "DF" uses finite difference. :type: str .. py:attribute:: factory_keyword :type: str :value: 'DLFTFriction' keyword that is used to call the creation of this class in the system factory. :type: str .. py:method:: __post_init__() .. py:method:: _evalJaco_ana(xg, om, Rglin, dJgdxlin, dJgdomlin, *args) .. py:method:: _evalJaco_jax(xg, om, Rglin=None) .. py:method:: adim(lc, wc) Modifies the element properties according to the characteristic length and angular frequency. .. attribute:: eps modified penalty coefficient to apply according to the characteristic parameters. :type: float .. attribute:: flag_adim characteristic angular frequency value. :type: bool .. py:method:: evalResidual(xg, om, Rglin=None) Computes the residual. :param xg: full displacement vector. :type xg: np.ndarray :param om: angular frequency value. :type om: float :param Rglin: Residual vector of all the linear element contributions. :type Rglin: np.ndarray :returns: residual vector. :rtype: np.ndarray .. py:method:: evalJacobian(xg, om, Rglin=None, dJgdxlin=None, dJgdomlin=None) Computes the jacobians. :param xg: full displacement vector. :type xg: np.ndarray :param om: angular frequency value. :type om: float :param Rglin: Residual vector of all the linear element contributions. :type Rglin: np.ndarray :param dJgdxlin: Jacobian with respect to displacement of all the linear element contributions. :type dJgdxlin: np.ndarray :param dJgdomlin: Jacobian with respect to angular frequency of all the linear element contributions. :type dJgdomlin: np.ndarray :returns: Jacobian with respect to displacement. np.ndarray: Jacobian with respect to angular frequency. :rtype: np.ndarray