|
MAST
|
#include <transient_assembly.h>


Classes | |
| class | PostAssemblyOperation |
| user-provided object to perform actions after assembly and before returning to the solver. More... | |
Public Member Functions | |
| TransientAssembly () | |
| constructor associates this assembly object with the system More... | |
| virtual | ~TransientAssembly () |
| destructor resets the association of this assembly object with the system More... | |
| void | set_post_assembly_operation (MAST::TransientAssembly::PostAssemblyOperation &post) |
| sets the PostAssemblyOperation object for use after assembly. 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 void | linearized_jacobian_solution_product (const libMesh::NumericVector< Real > &X, const libMesh::NumericVector< Real > &dX, libMesh::NumericVector< Real > &JdX, libMesh::NonlinearImplicitSystem &S) |
calculates the product of the Jacobian and a perturbation in solution vector . More... | |
| virtual bool | sensitivity_assemble (const MAST::FunctionBase &f, libMesh::NumericVector< Real > &sensitivity_rhs) |
| Assembly function. More... | |
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 | 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::TransientAssembly::PostAssemblyOperation * | _post_assembly |
| this object, if non-NULL is user-provided to perform actions after assembly and before returning to the solver 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 38 of file transient_assembly.h.
| MAST::TransientAssembly::TransientAssembly | ( | ) |
constructor associates this assembly object with the system
Definition at line 39 of file transient_assembly.cpp.

|
virtual |
destructor resets the association of this assembly object with the system
Definition at line 47 of file transient_assembly.cpp.


|
virtual |
calculates the product of the Jacobian and a perturbation in solution vector
.
For a single discipline system the solution vector and linearized solution provided here are used. For a multiphysics system, the user must ensure that all relevant multidisciplinary data-structures are initialized before calling this method.
Definition at line 183 of file transient_assembly.cpp.


|
virtual |
function that assembles the matrices and vectors quantities for nonlinear solution
Reimplemented from MAST::AssemblyBase.
Reimplemented in MAST::LevelSetReinitializationTransientAssembly.
Definition at line 64 of file transient_assembly.cpp.


|
virtual |
Assembly function.
This function will be called to assemble the sensitivity of system residual prior to a solve and must be provided by the user in a derived class. The method provides dR/dp_i for i ^th parameter in the vector parameters.
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::AssemblyBase.
Definition at line 289 of file transient_assembly.cpp.


| void MAST::TransientAssembly::set_post_assembly_operation | ( | MAST::TransientAssembly::PostAssemblyOperation & | post | ) |
sets the PostAssemblyOperation object for use after assembly.
Note that calling clear_discipline_and_system() will clear this pointer and the user will have to call this function again.
Definition at line 55 of file transient_assembly.cpp.


|
protected |
this object, if non-NULL is user-provided to perform actions after assembly and before returning to the solver
Definition at line 127 of file transient_assembly.h.