pyHarm.Reductors.ChainReductor ============================== .. py:module:: pyHarm.Reductors.ChainReductor Classes ------- .. autoapisummary:: pyHarm.Reductors.ChainReductor.ChainReductor Module Contents --------------- .. py:class:: ChainReductor(data: dict, expl_dofs: pandas.DataFrame, *args) Bases: :py:obj:`pyHarm.Reductors.ABCReductor.ABCReductor` This is a ABCReductor that is a list of ABCReductor allowing to chain the reducing operations. Attributes : reductors (list[ABCReductor]): list of ABCReductor. .. py:attribute:: factory_keyword :type: str :value: 'ChainReductor' keyword that is used to call the creation of this class in the factory. :type: str .. py:attribute:: default dictionary containing default parameters. :type: dict .. py:method:: __post_init__(*args) A post init method to be customized if needed when building new class. .. py:method:: update_reductor(xpred, J_f, expl_dofs, system, *args) Loops over the reducers in the list and update them. :param xpred: point predicted as the new starting point for the next iteration of the analysis process. :type xpred: np.ndarray :param J_f: full jacobian with respect to displacement and angular frequency (contains the correction equation residual). :type J_f: np.ndarray :param expl_dofs: explicit dof DataFrame created by the ABCSystem studied. :type expl_dofs: pd.DataFrame :param system: System studied. :type system: ABCSystem :returns: same displacement vector given as input after passing through the reductor np.ndarray: same jacobian matrix given as input after passing through the reductor pd.DataFrame: same explicit dof DataFrame after passing through the reductor :rtype: np.ndarray .. py:method:: expand(q: numpy.ndarray) -> numpy.ndarray Expands the reduced dof vector by looping over the reducers contained in the list. :param q: vector of reduced displacement. :type q: np.ndarray :returns: vector of original displacement with the linear dof being exact solution. :rtype: np.ndarray .. py:method:: reduce_vectorx(x: numpy.ndarray) -> numpy.ndarray Reduces the displacement vector by applying the chain of reductor methods. :param x: vector of displacement. :type x: np.ndarray :returns: vector of reduced displacement. :rtype: np.ndarray .. py:method:: reduce_vector(R: numpy.ndarray) -> numpy.ndarray Reduces the residual vector by applying the chain of reductor methods. :param R: vector of residual. :type R: np.ndarray :returns: vector of reduced residual. :rtype: np.ndarray .. py:method:: reduce_matrix(dJdxom: numpy.ndarray, *args) -> numpy.ndarray From original jacobian, performs the reduction by applying the chain of reduction. :param dJdxom: full size jacobian matrix with respect to displacement and angular frequency. :type dJdxom: np.ndarray :returns: reduced jacobian matrix with respect to displacement and angular frequency. :rtype: np.ndarray