|
MAST
|
#include <level_set_eigenproblem_assembly.h>


Public Member Functions | |
| LevelSetEigenproblemAssembly () | |
| constructor associates this assembly object with the system More... | |
| virtual | ~LevelSetEigenproblemAssembly () |
| destructor resets the association of this assembly object with the system More... | |
| virtual void | set_level_set_function (MAST::FieldFunction< Real > &level_set) |
attaches level set function to this More... | |
| virtual void | clear_level_set_function () |
| clears association with level set function More... | |
| virtual void | set_level_set_velocity_function (MAST::FieldFunction< RealVectorX > &velocity) |
| the velocity function used to calculate topology sensitivity More... | |
| virtual void | clear_level_set_velocity_function () |
| clears the velocity function More... | |
| MAST::LevelSetIntersection & | get_intersection () |
| virtual void | eigenproblem_assemble (libMesh::SparseMatrix< Real > *A, libMesh::SparseMatrix< Real > *B) |
| assembles the matrices for eigenproblem depending on the analysis type More... | |
| virtual bool | eigenproblem_sensitivity_assemble (const MAST::FunctionBase &f, libMesh::SparseMatrix< Real > *sensitivity_A, libMesh::SparseMatrix< Real > *sensitivity_B) |
| Assembly function. More... | |
Public Member Functions inherited from MAST::EigenproblemAssembly | |
| EigenproblemAssembly () | |
| constructor associates the eigen system with this assembly object More... | |
| virtual | ~EigenproblemAssembly () |
| destructor resets the association with the eigen system from this assembly object More... | |
| libMesh::SparseMatrix< Real > & | A_matrix () |
| libMesh::SparseMatrix< Real > & | B_matrix () |
| void | set_base_solution (const libMesh::NumericVector< Real > &sol, bool if_sens=false) |
| if the eigenproblem is defined about a non-zero base solution, then this method provides the object with the base solution. More... | |
| void | clear_base_solution (bool if_sens=false) |
| Clears the pointer to the solution. More... | |
| bool | if_linearized_about_nonzero_solution () const |
| const libMesh::NumericVector< Real > & | base_sol (bool if_sens=false) const |
| libMesh::NumericVector< Real > & | base_sol (bool if_sens=false) |
Public Member Functions inherited from MAST::AssemblyBase | |
| AssemblyBase () | |
| constructor takes a reference to the discipline that provides the boundary conditions, volume loads, properties, etc. More... | |
| virtual | ~AssemblyBase () |
| virtual destructor More... | |
| const MAST::PhysicsDisciplineBase & | discipline () const |
| MAST::PhysicsDisciplineBase & | discipline () |
| MAST::AssemblyElemOperations & | get_elem_ops () |
| virtual void | set_discipline_and_system (MAST::PhysicsDisciplineBase &discipline, MAST::SystemInitialization &system) |
| attaches a system to this discipline More... | |
| void | attach_elem_parameter_dependence_object (MAST::AssemblyBase::ElemParameterDependence &dep) |
| This object, if provided by user, will be used to reduce unnecessary computations in sensitivity analysis assembly operations. More... | |
| void | clear_elem_parameter_dependence_object () |
| virtual void | clear_discipline_and_system () |
| clears association with a system to this discipline More... | |
| virtual void | set_elem_operation_object (MAST::AssemblyElemOperations &elem_ops) |
attaches a element operation to this object, and associated this with the element operation object. More... | |
| virtual void | clear_elem_operation_object () |
clears the association of this object with the assembly element operation object. More... | |
| const MAST::NonlinearSystem & | system () const |
| MAST::NonlinearSystem & | system () |
| MAST::SystemInitialization & | system_init () |
| void | set_solver_monitor (MAST::AssemblyBase::SolverMonitor &monitor) |
| attaches the solver monitor, which is a user provided routine that is called each time More... | |
| MAST::AssemblyBase::SolverMonitor * | get_solver_monitor () |
| void | clear_solver_monitor () |
| clears the monitor object More... | |
| void | attach_solution_function (MAST::MeshFieldFunction &f) |
| tells the assembly object that this function is will need to be initialized before each residual evaluation More... | |
| void | detach_solution_function () |
| removes the attachment of the solution function More... | |
| virtual void | residual_and_jacobian (const libMesh::NumericVector< Real > &X, libMesh::NumericVector< Real > *R, libMesh::SparseMatrix< Real > *J, libMesh::NonlinearImplicitSystem &S) |
| function that assembles the matrices and vectors quantities for nonlinear solution More... | |
| virtual bool | sensitivity_assemble (const MAST::FunctionBase &f, libMesh::NumericVector< Real > &sensitivity_rhs) |
| Assembly function. More... | |
| virtual void | calculate_output (const libMesh::NumericVector< Real > &X, MAST::OutputAssemblyElemOperations &output) |
calculates the value of quantity . More... | |
| virtual void | calculate_output_derivative (const libMesh::NumericVector< Real > &X, MAST::OutputAssemblyElemOperations &output, libMesh::NumericVector< Real > &dq_dX) |
calculates More... | |
| virtual void | calculate_output_direct_sensitivity (const libMesh::NumericVector< Real > &X, const libMesh::NumericVector< Real > *dXdp, const MAST::FunctionBase &p, MAST::OutputAssemblyElemOperations &output) |
evaluates the sensitivity of the outputs in the attached discipline with respect to the parametrs in params. More... | |
| virtual Real | calculate_output_adjoint_sensitivity (const libMesh::NumericVector< Real > &X, const libMesh::NumericVector< Real > &dq_dX, const MAST::FunctionBase &p, MAST::AssemblyElemOperations &elem_ops, MAST::OutputAssemblyElemOperations &output, const bool include_partial_sens=true) |
Evaluates the total sensitivity of output wrt p using the adjoint solution provided in dq_dX for a linearization about solution X. More... | |
| std::unique_ptr< libMesh::NumericVector< Real > > | build_localized_vector (const libMesh::System &sys, const libMesh::NumericVector< Real > &global) const |
| localizes the parallel vector so that the local copy stores all values necessary for calculation of the element quantities More... | |
Protected Attributes | |
| MAST::FieldFunction< Real > * | _level_set |
| MAST::LevelSetIntersection * | _intersection |
| MAST::FieldFunction< RealVectorX > * | _velocity |
Protected Attributes inherited from MAST::EigenproblemAssembly | |
| const libMesh::NumericVector< Real > * | _base_sol |
| base solution about which this eigenproblem is defined. More... | |
| const libMesh::NumericVector< Real > * | _base_sol_sensitivity |
| sensitivity of base solution may be needed for sensitivity analysis. More... | |
Protected Attributes inherited from MAST::AssemblyBase | |
| MAST::AssemblyElemOperations * | _elem_ops |
| provides assembly elem operations for use by this class More... | |
| MAST::PhysicsDisciplineBase * | _discipline |
| PhysicsDisciplineBase object for which this class is assembling. More... | |
| MAST::SystemInitialization * | _system |
| System for which this assembly is performed. More... | |
| MAST::MeshFieldFunction * | _sol_function |
| system solution that will be initialized before each solution More... | |
| MAST::AssemblyBase::SolverMonitor * | _solver_monitor |
| User provided solver monitor is attached to the linear nonlinear solvers, if provided. More... | |
| MAST::AssemblyBase::ElemParameterDependence * | _param_dependence |
| If provided by user, this object is used by sensitiivty analysis to check for whether or the current design parameter influences an element. More... | |
Additional Inherited Members | |
Public Attributes inherited from MAST::AssemblyBase | |
| bool | close_matrix |
| flag to control the closing fo the Jacobian after assembly More... | |
Definition at line 34 of file level_set_eigenproblem_assembly.h.
| MAST::LevelSetEigenproblemAssembly::LevelSetEigenproblemAssembly | ( | ) |
constructor associates this assembly object with the system
Definition at line 42 of file level_set_eigenproblem_assembly.cpp.
|
virtual |
destructor resets the association of this assembly object with the system
Definition at line 52 of file level_set_eigenproblem_assembly.cpp.
|
virtual |
clears association with level set function
Definition at line 82 of file level_set_eigenproblem_assembly.cpp.

|
virtual |
clears the velocity function
Definition at line 110 of file level_set_eigenproblem_assembly.cpp.

|
virtual |
assembles the matrices for eigenproblem depending on the analysis type
Reimplemented from MAST::EigenproblemAssembly.
Definition at line 119 of file level_set_eigenproblem_assembly.cpp.


|
virtual |
Assembly function.
This function will be called to assemble the sensitivity of eigenproblem matrices. The method provides dA/dp and dB/dp for f parameter.
If the routine is not able to provide sensitivity for this parameter, then it should return false, and the system will attempt to use finite differencing.
Reimplemented from MAST::EigenproblemAssembly.
Definition at line 235 of file level_set_eigenproblem_assembly.cpp.


| MAST::LevelSetIntersection & MAST::LevelSetEigenproblemAssembly::get_intersection | ( | ) |
Definition at line 60 of file level_set_eigenproblem_assembly.cpp.

|
virtual |
attaches level set function to this
Definition at line 69 of file level_set_eigenproblem_assembly.cpp.

|
virtual |
the velocity function used to calculate topology sensitivity
Definition at line 97 of file level_set_eigenproblem_assembly.cpp.

|
protected |
Definition at line 108 of file level_set_eigenproblem_assembly.h.
|
protected |
Definition at line 106 of file level_set_eigenproblem_assembly.h.
|
protected |
Definition at line 110 of file level_set_eigenproblem_assembly.h.