| MAST
    | 
This class implements a system for quasi-static analysis of nonlinear structures. More...
#include <structural_system.h>


| Public Member Functions | |
| StructuralSystem (libMesh::EquationSystems &es, const std::string &name, const unsigned int number) | |
| Default constructor.  More... | |
| virtual | ~StructuralSystem () | 
| void | set_load_parameter (MAST::Parameter ¶m, Real min_p, Real max_p) | 
| sets the laod parameter for incrementing  More... | |
| virtual void | clear () libmesh_override | 
| Clear all the data structures associated with the system.  More... | |
| virtual void | solve (MAST::AssemblyElemOperations &elem_ops, MAST::AssemblyBase &assembly) libmesh_override | 
| Assembles & solves the nonlinear system R(x) = 0.  More... | |
|  Public Member Functions inherited from MAST::NonlinearSystem | |
| NonlinearSystem (libMesh::EquationSystems &es, const std::string &name, const unsigned int number) | |
| Default constructor.  More... | |
| virtual | ~NonlinearSystem () | 
| MAST::NonlinearSystem::Operation | operation () | 
| void | set_operation (MAST::NonlinearSystem::Operation op) | 
| sets the current operation of the system  More... | |
| void | set_init_B_matrix () | 
| flag to also initialize the B matrix.  More... | |
| virtual void | reinit () libmesh_override | 
| Reinitializes the member data fields associated with the system, so that, e.g., assemble()may be used.  More... | |
| virtual std::pair< unsigned int, Real > | get_linear_solve_parameters () | 
| calls NonlinearImplicitSystem::set_solver_parameters() before accessing the values.  More... | |
| virtual void | sensitivity_solve (MAST::AssemblyElemOperations &elem_ops, MAST::AssemblyBase &assembly, const MAST::FunctionBase &p, bool if_assemble_jacobian=true) | 
| Solves the sensitivity problem for the provided parameter.  More... | |
| virtual void | adjoint_solve (MAST::AssemblyElemOperations &elem_ops, MAST::OutputAssemblyElemOperations &output, MAST::AssemblyBase &assembly, bool if_assemble_jacobian=true) | 
| solves the adjoint problem for the provided output function.  More... | |
| virtual void | eigenproblem_solve (MAST::AssemblyElemOperations &elem_ops, MAST::EigenproblemAssembly &assembly) | 
| Assembles & solves the eigen system.  More... | |
| virtual void | eigenproblem_sensitivity_solve (MAST::AssemblyElemOperations &elem_ops, MAST::EigenproblemAssembly &assembly, const MAST::FunctionBase &f, std::vector< Real > &sens, const std::vector< unsigned int > *indices=nullptr) | 
| Solves the sensitivity system, for the provided parameters.  More... | |
| virtual void | get_eigenvalue (unsigned int i, Real &re, Real &im) | 
| gets the real and imaginary parts of the ith eigenvalue for the eigenproblem  , and the associated eigenvector.  More... | |
| virtual void | get_eigenpair (unsigned int i, Real &re, Real &im, libMesh::NumericVector< Real > &vec_re, libMesh::NumericVector< Real > *vec_im=nullptr) | 
| gets the real and imaginary parts of the ith eigenvalue for the eigenproblem  , and the associated eigenvector.  More... | |
| void | set_exchange_A_and_B (bool flag) | 
| sets the flag to exchange the A and B matrices for a generalized eigenvalue problem.  More... | |
| void | set_n_requested_eigenvalues (unsigned int n) | 
| sets the number of eigenvalues requested  More... | |
| unsigned int | get_n_converged_eigenvalues () const | 
| unsigned int | get_n_requested_eigenvalues () const | 
| unsigned int | get_n_iterations () const | 
| void | set_eigenproblem_type (libMesh::EigenProblemType ept) | 
| Sets the type of the current eigen problem.  More... | |
| libMesh::EigenProblemType | get_eigenproblem_type () const | 
| bool | generalized () const | 
| void | initialize_condensed_dofs (MAST::PhysicsDisciplineBase &physics) | 
| Loop over the dofs on each processor to initialize the list of non-condensed dofs.  More... | |
| unsigned int | n_global_non_condensed_dofs () const | 
| void | write_out_vector (libMesh::NumericVector< Real > &vec, const std::string &directory_name, const std::string &data_name, const bool write_binary_vectors) | 
| writes the specified vector with the specified name in a directory.  More... | |
| void | read_in_vector (libMesh::NumericVector< Real > &vec, const std::string &directory_name, const std::string &data_name, const bool read_binary_vectors) | 
| reads the specified vector with the specified name in a directory.  More... | |
| void | project_vector_without_dirichlet (libMesh::NumericVector< Real > &new_vector, libMesh::FunctionBase< Real > &f) const | 
| Protected Attributes | |
| unsigned int | _iter | 
| iteration counter  More... | |
| Real | _beta | 
| value of beta that scales the external load vector in the constrain  More... | |
| Real | _dl | 
| value of update length  More... | |
| MAST::Parameter * | _load_param | 
| load parameter that is updated by this solution procedure  More... | |
| Real | _min_p | 
| maximum and minimum values of the parameter  More... | |
| Real | _max_p | 
|  Protected Attributes inherited from MAST::NonlinearSystem | |
| bool | _initialize_B_matrix | 
| initialize the B matrix in addition to A, which might be needed for solution of complex system of equations using PC field split  More... | |
| bool | _condensed_dofs_initialized | 
| A private flag to indicate whether the condensed dofs have been initialized.  More... | |
| unsigned int | _n_requested_eigenpairs | 
| The number of requested eigenpairs.  More... | |
| bool | _exchange_A_and_B | 
| flag to exchange the A and B matrices in the eigenproblem solution  More... | |
| unsigned int | _n_converged_eigenpairs | 
| The number of converged eigenpairs.  More... | |
| unsigned int | _n_iterations | 
| The number of iterations of the eigen solver algorithm.  More... | |
| bool | _is_generalized_eigenproblem | 
| A boolean flag to indicate whether we are dealing with a generalized eigenvalue problem.  More... | |
| libMesh::EigenProblemType | _eigen_problem_type | 
| The type of the eigenvalue problem.  More... | |
| MAST::NonlinearSystem::Operation | _operation | 
| current operation of the system  More... | |
| std::vector< libMesh::dof_id_type > | _local_non_condensed_dofs_vector | 
| Vector storing the local dof indices that will not be condensed.  More... | |
| Additional Inherited Members | |
|  Public Types inherited from MAST::NonlinearSystem | |
| enum | Operation { NONLINEAR_SOLVE, EIGENPROBLEM_SOLVE, FORWARD_SENSITIVITY_SOLVE, ADJOINT_SOLVE, NONE } | 
|  Public Attributes inherited from MAST::NonlinearSystem | |
| libMesh::SparseMatrix< Real > * | matrix_A | 
| The system matrix for standard eigenvalue problems.  More... | |
| libMesh::SparseMatrix< Real > * | matrix_B | 
| A second system matrix for generalized eigenvalue problems.  More... | |
| std::unique_ptr< MAST::SlepcEigenSolver > | eigen_solver | 
| The EigenSolver, definig which interface, i.e solver package to use.  More... | |
| std::unique_ptr< libMesh::LinearSolver< Real > > | linear_solver | 
| The LinearSolver for solution of the linear equations.  More... | |
|  Protected Member Functions inherited from MAST::NonlinearSystem | |
| virtual void | init_data () libmesh_override | 
| Initializes the member data fields associated with the system, so that, e.g., assemble()may be used.  More... | |
| void | set_n_converged (unsigned int nconv) | 
| Set the _n_converged_eigenpairs member, useful for subclasses of EigenSystem.  More... | |
| void | set_n_iterations (unsigned int its) | 
| Set the _n_iterations member, useful for subclasses of EigenSystem.  More... | |
This class implements a system for quasi-static analysis of nonlinear structures.
Definition at line 45 of file structural_system.h.
| MAST::StructuralSystem::StructuralSystem | ( | libMesh::EquationSystems & | es, | 
| const std::string & | name, | ||
| const unsigned int | number | ||
| ) | 
Default constructor.
Definition at line 35 of file structural_system.cpp.
| 
 | virtual | 
Definition at line 50 of file structural_system.cpp.
| 
 | virtual | 
Clear all the data structures associated with the system.
Reimplemented from MAST::NonlinearSystem.
Definition at line 72 of file structural_system.cpp.

| void MAST::StructuralSystem::set_load_parameter | ( | MAST::Parameter & | param, | 
| Real | min_p, | ||
| Real | max_p | ||
| ) | 
sets the laod parameter for incrementing
Definition at line 57 of file structural_system.cpp.
| 
 | virtual | 
Assembles & solves the nonlinear system R(x) = 0.
Reimplemented from MAST::NonlinearSystem.
Definition at line 85 of file structural_system.cpp.

| 
 | protected | 
value of beta that scales the external load vector in the constrain
Definition at line 95 of file structural_system.h.
| 
 | protected | 
value of update length
Definition at line 101 of file structural_system.h.
| 
 | protected | 
iteration counter
Definition at line 89 of file structural_system.h.
| 
 | protected | 
load parameter that is updated by this solution procedure
Definition at line 107 of file structural_system.h.
| 
 | protected | 
Definition at line 113 of file structural_system.h.
| 
 | protected | 
maximum and minimum values of the parameter
Definition at line 113 of file structural_system.h.