pyHarm.KinematicConditions.ABCKinematic ======================================= .. py:module:: pyHarm.KinematicConditions.ABCKinematic Classes ------- .. autoapisummary:: pyHarm.KinematicConditions.ABCKinematic.ABCKinematic Functions --------- .. autoapisummary:: pyHarm.KinematicConditions.ABCKinematic.ConstructorPslavemaster Module Contents --------------- .. py:function:: ConstructorPslavemaster(nsub, subs, nodes, sub_expl_dofs) Function that creates the selection matrices for the slave dofs and the master dofs. :param nsub: number of substructures that are connected with the kinematic condition. :type nsub: int :param subs: list containing the name of the sbstructures connected with the kinematic condition. :type subs: list[str] :param nodes: list of nodes list that are connected with the kinematic condition. :type nodes: list[list[int]] :param sub_expl_dofs: explicit dofs DataFrame. :type sub_expl_dofs: pd.DataFrame :returns: selection matrix for the slave dofs. np.ndarray: selection matrix for the master dofs. :rtype: np.ndarray .. py:class:: ABCKinematic(nh: int, nti: int, name: str, data: dict, CS: pyHarm.CoordinateSystem.CoordinateSystem) Bases: :py:obj:`abc.ABC` This is the abstract class ruling the kinematic conditions class. The kinematic conditions are responsible to impose kinematic on dofs of the system and transfer the residuals. :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:: nh number of harmonics. :type: int .. attribute:: nti number of time steps. :type: int .. attribute:: D Dynamic operators containing inverse discrete Fourier transform and discrete Fourier transform. :type: dict[np.ndarray,np.ndarray] .. attribute:: nabla Derivation operator. :type: np.ndarray .. 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 that 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:property:: factory_keyword :abstractmethod: .. py:method:: __init_flags__() .. py:method:: __init_harmonic_operators__(nh, nti) .. py:method:: __init_data__(name, data, CS) .. py:method:: __str__() .. py:method:: __repr__() .. py:method:: __post_init__(*args) .. py:method:: __flag_update__(*args) .. py:method:: generateIndices(expl_dofs: pandas.DataFrame) From the explicit dof DataFrame, generates the index of dofs concerned by the kinematic condition. :param expl_dofs: explicit dof DataFrame from the studied system. :type expl_dofs: pd.DataFrame .. 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 .. py:method:: _generateMatrices(sub_expl_dofs) .. py:method:: adim(lc, wc) :abstractmethod: Using adim parameters, modifies the kinematic conditions accordingly. :param lc: characteristic length. :type lc: float :param wc: characteristic angular frequency. :type wc: float .. py:method:: complete_x(x, om) :abstractmethod: Returns a vector x_add of same size of x that completes the vector of displacement x = x + x_add. :param x: displacement vector. :type x: np.ndarray :param om: angular frequency. :type om: float .. py:method:: complete_R(R, x) :abstractmethod: Returns a vector R_add of same size of R that completes the vector of residual R = R + R_add :param R: residual vector. :type R: np.ndarray :param x: displacement vector. :type x: np.ndarray .. py:method:: complete_J(Jx, Jom, x) :abstractmethod: Returns a vector Jx_add and Jom_add of same size of Jx and Jom that completes the Jacobian :param Jx: jacobian matrix with respect to displacement. :type Jx: np.ndarray :param Jom: jacobian matrix with respect to angular frequency. :type Jom: np.ndarray :param x: displacement vector. :type x: np.ndarray