pyHarm.Elements.NodeToNodeElements.DLFTElements.DLFTUniGap ========================================================== .. py:module:: pyHarm.Elements.NodeToNodeElements.DLFTElements.DLFTUniGap Attributes ---------- .. autoapisummary:: pyHarm.Elements.NodeToNodeElements.DLFTElements.DLFTUniGap.jaxf pyHarm.Elements.NodeToNodeElements.DLFTElements.DLFTUniGap.jaxf Classes ------- .. autoapisummary:: pyHarm.Elements.NodeToNodeElements.DLFTElements.DLFTUniGap.DLFTUniGap Functions --------- .. autoapisummary:: pyHarm.Elements.NodeToNodeElements.DLFTElements.DLFTUniGap.DLFTUniGapResidual_jax pyHarm.Elements.NodeToNodeElements.DLFTElements.DLFTUniGap.DLFTUniGapResidual pyHarm.Elements.NodeToNodeElements.DLFTElements.DLFTUniGap.DLFTUniGapJacobian Module Contents --------------- .. py:function:: DLFTUniGapResidual_jax(x, om, Rlin, nbSub, Pdir, Pslave, Pmaster, g, eps, DFT, DTF, N0) .. py:data:: jaxf .. py:data:: jaxf :value: None .. py:function:: DLFTUniGapResidual(x, om, Rlin, nbSub, Pdir, Pslave, Pmaster, g, eps, DFT, DTF, N0) .. py:function:: DLFTUniGapJacobian(x, om, Rlin, dJdxlin, dJdomlin, nbSub, Pdir, Pslave, Pmaster, g, eps, DFT, DTF) .. py:class:: DLFTUniGap(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 unilateral gap element. .. attribute:: N0 normal force applied at contact. :type: float .. attribute:: g gap value. :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: 'DLFTUniGap' 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, dJgdxlin=None, dJgdomlin=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:: g modified gap value according to the characteristic parameters. :type: float .. attribute:: flag_adim True if equations are to be adimensionalized :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