pyHarm.Analysis.FRF_NonLinear¶
Classes¶
Nonlinear forced response analysis. |
Module Contents¶
- class pyHarm.Analysis.FRF_NonLinear.FRF_NonLinear(inputData: dict, System: pyHarm.Systems.ABCSystem.ABCSystem, logger: logging.Logger | None = None, key: str = '', **kwargs)¶
Bases:
pyHarm.Analysis.ABCAnalysis.ABCAnalysisNonlinear forced response analysis.
Predicts a starting point using the predictor and then solves the residual equations from the starting point.
- flag_print¶
if True, prints a message after each Solve method.
- Type:
bool
- flag_purge¶
if True, the jacobian values are purged from the solutions stored in the solution list.
- Type:
bool
- analysis_options¶
input dictionary completed with the default values if keywords are missing.
- Type:
dict
- ds¶
initial prediction step size.
- Type:
float
- SolList¶
list of SystemSolution stored after each Solve method.
- Type:
list[SystemSolution]
- adaptstep¶
ABCStepSizeRule associated with the analysis.
- Type:
- predictor¶
ABCPredictor associated with the analysis.
- Type:
- corrector¶
ABCCorrector associated with the analysis.
- Type:
- stopper¶
ABCStopCriterion associated with the analysis.
- Type:
- solver¶
ABCNLSolver associated with the analysis.
- Type:
- corrector_init¶
instance of no-continuation corrector for initial solution.
- Type:
- reductor¶
ABCChainedReductor associated with the analysis.
- Type:
ABCChainedReductor
- factory_keyword: str = 'frf'¶
keyword that is used to call the creation of this class in the system factory.
- Type:
str
- name = 'Nonlinear FRF'¶
- default¶
default dictionary for the analysis.
- Type:
dict
- key = ''¶
- analysis_options¶
- flag_print¶
- flag_purge¶
- logger: logging.Logger¶
- ds¶
- SolList = []¶
- system¶
- adaptstep¶
- predictor¶
- corrector¶
- stopper¶
- solver¶
- corrector_init¶
- reductor¶
- initialise(x0=None, **kwargs)¶
First Solve on the initial guess.
- Parameters:
x0 (None|str|np.ndarray) – if None x0 is the linear solution at initial angular frequency, if “null” x0 is null vector, otherwise x0 is initialised using the provided array.
- _get_x0(x0)¶
- CompleteSolution(sol: pyHarm.Solver.SystemSolution)¶
Completes a SystemSolution informations that just went out of the Solve method.
- Parameters:
sol (SystemSolution) – solution to the system.
- globalResidual(solx: numpy.ndarray, sol: pyHarm.Solver.SystemSolution)¶
Computes the residual of the whole system without the reducers.
- Parameters:
solx (np.ndarray) – displacement vector for which residual is computed.
sol (SystemSolution) – actual SystemSolution being solved.
- globalJacobian(solx: numpy.ndarray, sol: pyHarm.Solver.SystemSolution)¶
Computes the jacobians of the whole system without the reducers.
- Parameters:
solx (np.ndarray) – displacement vector for which residual is computed.
sol (SystemSolution) – actual SystemSolution being solved.
- globalJacobianwRed(solq: numpy.ndarray, sol: pyHarm.Solver.SystemSolution)¶
Computes the reduced jacobians of the whole system.
- Parameters:
solq (np.ndarray) – reduced displacement vector for which residual is computed.
sol (SystemSolution) – actual SystemSolution being solved.
- globalResidualwRed(solq: numpy.ndarray, sol: pyHarm.Solver.SystemSolution)¶
Computes the reduced residuals of the whole system.
- Parameters:
solq (np.ndarray) – reduced displacement vector for which residual is computed.
sol (SystemSolution) – actual SystemSolution being solved.
- _update_reductor(xpred_full, last_solution_pointer=None)¶
Updates the reducers
- Parameters:
xpred_full (np.ndarray) – full starting displacement vector.
last_solution_pointer (SystemSolution) – SystemSolution from which the prediction has been generated.
- Returns:
reduced starting displacement vector. J_red (np.ndarray): reduced jacobian matrix. output_expl_dofs (pd.DataFrame): DataFrame of the dofs after applying the reduction layers.
- Return type:
xpred_red (np.ndarray)
- makeStep(**kwargs)¶
Makes a step of solving : get a step size, generate a predicted point, solve the nonlinear system, save the solution.
- Solve(x0=None, **kwargs)¶
Makes the whole analysis using continuation techniques until the stopping criterion is validated
- Parameters:
x0 (None|str|np.ndarray) – if None x0 is the linear solution at initial angular frequency, if “null” x0 is null vector, otherwise x0 is initialised using the provided array.
- purge_jacobians()¶
Purge the Jacobians of Solutions that are no longer used.
- export(export_path: str, prefix: str, **kwargs) None¶
export resutlts in csv files
- _init_log()¶
- _end_log()¶
- _export_log()¶