pyHarm.Elements.NodeToNodeElements.Jenkins ========================================== .. py:module:: pyHarm.Elements.NodeToNodeElements.Jenkins Attributes ---------- .. autoapisummary:: pyHarm.Elements.NodeToNodeElements.Jenkins.jaxf pyHarm.Elements.NodeToNodeElements.Jenkins.jaxf Classes ------- .. autoapisummary:: pyHarm.Elements.NodeToNodeElements.Jenkins.Jenkins Functions --------- .. autoapisummary:: pyHarm.Elements.NodeToNodeElements.Jenkins.JenkinsCorLoop_jax pyHarm.Elements.NodeToNodeElements.Jenkins.JenkinsResidual_jax pyHarm.Elements.NodeToNodeElements.Jenkins.JenkinsCorLoop pyHarm.Elements.NodeToNodeElements.Jenkins.JenkinsResidual pyHarm.Elements.NodeToNodeElements.Jenkins.JenkinsJacobian Module Contents --------------- .. py:function:: JenkinsCorLoop_jax(x_k, k, DFT, limit_friction_force) .. py:function:: JenkinsResidual_jax(x, om, Pdir, Pslave, Pmaster, mu, N0, k, DFT, DTF, f_time_n=0.0) .. py:data:: jaxf .. py:data:: jaxf :value: None .. py:function:: JenkinsCorLoop(x_k, k, dx_kdx_j, DFT, limit_friction_force) .. py:function:: JenkinsResidual(x, om, Pdir, Pslave, Pmaster, mu, N0, k, DFT, DTF) .. py:function:: JenkinsJacobian(x, om, Pdir, Pslave, Pmaster, mu, N0, k, DFT, DTF) .. py:class:: Jenkins(nh: int, nti: int, name: str, data: dict, CS: pyHarm.CoordinateSystem.CoordinateSystem) Bases: :py:obj:`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. .. attribute:: mu friction coefficient. :type: float .. attribute:: N0 normal preload on the element. :type: float .. attribute:: k linear spring value. :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: 'Jenkins' keyword that is used to call the creation of this class in the system factory. :type: str .. py:method:: __post_init__() .. py:method:: __flag_update__() .. py:method:: _evalJaco_ana(xg, om, *args) .. py:method:: _evalJaco_jax(xg, om, *args) .. py:method:: adim(lc, wc) Modifies the element properties according to the characteristic length and angular frequency. .. attribute:: k modified linear coefficient to apply according to the characteristic parameters. :type: float .. attribute:: flag_adim True if equations are to be adimensionalized :type: bool .. py:method:: evalResidual(xg, om) Computes the residual. :param xg: full displacement vector. :type xg: np.ndarray :param om: angular frequency value. :type om: float :returns: residual vector. :rtype: np.ndarray .. py:method:: evalJacobian(xg, om) Computes the jacobians. :param xg: full displacement vector. :type xg: np.ndarray :param om: angular frequency value. :type om: float :returns: Jacobian with respect to displacement. np.ndarray: Jacobian with respect to angular frequency. :rtype: np.ndarray