pyHarm.Elements.NodeToNodeElements.NodeToNodeElement ==================================================== .. py:module:: pyHarm.Elements.NodeToNodeElements.NodeToNodeElement .. autoapi-nested-parse:: This module contains the basic NodeToNodeElement class being a abstract class derived from the ABCElement class It mostly implements a part of the required abstract methods : the methods that generates the indices from the input datas. Classes ------- .. autoapisummary:: pyHarm.Elements.NodeToNodeElements.NodeToNodeElement.NodeToNodeElement Module Contents --------------- .. py:class:: NodeToNodeElement(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.ABCElement.ABCElement` Abstract ABCElement subclass that implements some of the methods in order to help building a node to node connector. :param nh: number of harmonics. :type nh: int :param nti: number of time steps. :type nti: int :param name: name given to the kinematic condition. :type name: str :param data: dictionary containing all the definition information of the kinematic condition. :type data: dict :param CS: local or global coordinate system the kinematic condition is defined on. :type CS: CoordinateSystem .. attribute:: indices index of the dofs that the kinematic conditions needs. :type: np.ndarray .. attribute:: Pdir a slice of first dimension is a transformation matrix to a direction in local coordinate system. :type: np.ndarray .. attribute:: Pslave selection array that selects the slave dofs of the kinematic condition. :type: np.ndarray .. attribute:: Pmaster selection array that selects the master dofs of the kinematic condition. :type: np.ndarray .. attribute:: subs list containing the name of the substructures tht are involved. :type: list[str] .. attribute:: nbSub number of substructure involved. :type: int .. attribute:: nodes list of list of nodes the kinematic conditions act on. :type: list[list] .. attribute:: nbdofi number of nodes involved per substructure. :type: int .. py:method:: __init_data__(name, data, CS: pyHarm.CoordinateSystem.CoordinateSystem) " Method that interprets and deals with the input dictionary by creating some of the essential attributes. .. attribute:: subs list containing the name of the substructures tht are involved. :type: list[str] .. attribute:: nbSub number of substructure involved. :type: int .. attribute:: nodes list of list of nodes the kinematic conditions act on. :type: list[list] .. attribute:: nbdofi number of nodes involved per substructure. :type: int .. py:method:: __str__() .. py:method:: generateIndices(expl_dofs: pandas.DataFrame) From the explicit dof DataFrame, generates the index of dofs concerned by the connector. :param expl_dofs: explicit dof DataFrame from the studied system. :type expl_dofs: pd.DataFrame .. attribute:: indices index of the dofs that the connector needs. :type: np.ndarray .. attribute:: Pdir a slice of first dimension is a transformation matrix to a direction in local coordinate system. :type: np.ndarray .. attribute:: Pslave selection array that selects the slave dofs of the connector. :type: np.ndarray .. attribute:: Pmaster selection array that selects the master dofs of the connector. :type: np.ndarray .. py:method:: _gen_Pdir(_components) .. py:method:: _evalJaco_DF(xg, om, step) Computes the jacobian using finite difference method. :param xg: full displacement vector. :type xg: np.ndarray :param om: angular frequency value. :type om: float :param step: step size for the finite difference method. :type step: float :returns: jacobian with respect to displacement vector. dJdom (np.ndarray): jacobian with respect to angular frequency. :rtype: dJdx (np.ndarray)