pyHarm.Reductors.ABCReductor ============================ .. py:module:: pyHarm.Reductors.ABCReductor Classes ------- .. autoapisummary:: pyHarm.Reductors.ABCReductor.ABCReductor Module Contents --------------- .. py:class:: ABCReductor(data: dict, expl_dofs: pandas.DataFrame, *args) Bases: :py:obj:`abc.ABC` This is the abstract class ruling the reducers class. The reducer is responsible for reducing the size of the system to be solved based on different hypotheses. :param data: A dictionary containing the reducers parameters. :type data: dict :param expl_dofs: DataFrame describing the positioning of dofs. It is generated by ABCSystem objects. :type expl_dofs: pd.DataFrame .. attribute:: expl_dofs DataFrame describing the positioning of dofs. It is generated by ABCSystem objects. :type: pd.DataFrame .. py:property:: factory_keyword :type: str :abstractmethod: Returns: str: keyword that is used to call the creation of this class in the system factory. .. py:attribute:: data .. py:attribute:: expl_dofs .. py:method:: __post_init__(*args) A post init method to be customized if needed when building new class. .. py:method:: output_expl_dofs() -> pandas.DataFrame Returns the explicit dof list after transformation by the reducer. :returns: reduced explicit dof DataFrame after passing through the reducer. :rtype: pd.DataFrame .. py:method:: reduce_vectorx(q: numpy.ndarray) -> numpy.ndarray Applies the reduce_vector method to the input vector of displacement. :param q: vector of displacement of full size. :type q: np.ndarray :returns: reduced vector of displacement. :rtype: np.ndarray .. py:method:: update_reductor(*args) -> None :abstractmethod: Using the given parameters, performs an update of the reductor and generates its new transformation matrix .. py:method:: expand(q: numpy.ndarray) -> numpy.ndarray :abstractmethod: From reduced vector, performs the inverse transformation to retrieve the original vector. :param q: reduced vector of displacement :type q: np.ndarray :returns: full size vector of displacement. :rtype: np.ndarray .. py:method:: reduce_vector(x: numpy.ndarray) -> numpy.ndarray :abstractmethod: From original vector, performs the transformation to get the reduced vector. :param x: full size vector. :type x: np.ndarray :returns: reduced vector. :rtype: np.ndarray .. py:method:: reduce_matrix(dJdx: numpy.ndarray) -> numpy.ndarray :abstractmethod: From original matrix, perform the transformation to get the reduced matrix. :param dJdx: full size jacobian matrix with respect to displacement. :type dJdx: np.ndarray :returns: reduced size jacobian matrix with respect to displacement. :rtype: np.ndarray