20 #ifndef __mast__transient_assembly__ 21 #define __mast__transient_assembly__ 27 #include "libmesh/nonlinear_implicit_system.h" 34 class TransientSolverBase;
35 class TransientAssemblyElemOperations;
52 virtual void post_assembly(
const libMesh::NumericVector<Real>& X,
53 libMesh::NumericVector<Real>* R,
54 libMesh::SparseMatrix<Real>* J,
55 libMesh::NonlinearImplicitSystem& S) = 0;
87 libMesh::NumericVector<Real>* R,
88 libMesh::SparseMatrix<Real>* J,
89 libMesh::NonlinearImplicitSystem& S);
101 const libMesh::NumericVector<Real>& dX,
102 libMesh::NumericVector<Real>& JdX,
103 libMesh::NonlinearImplicitSystem& S);
117 libMesh::NumericVector<Real>& sensitivity_rhs);
134 #endif // __mast__transient_assembly__
TransientAssembly()
constructor associates this assembly object with the system
MAST::TransientAssembly::PostAssemblyOperation * _post_assembly
this object, if non-NULL is user-provided to perform actions after assembly and before returning to t...
virtual ~TransientAssembly()
destructor resets the association of this assembly object with the system
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 .
virtual ~PostAssemblyOperation()
virtual void post_assembly(const libMesh::NumericVector< Real > &X, libMesh::NumericVector< Real > *R, libMesh::SparseMatrix< Real > *J, libMesh::NonlinearImplicitSystem &S)=0
virtual bool sensitivity_assemble(const MAST::FunctionBase &f, libMesh::NumericVector< Real > &sensitivity_rhs)
Assembly function.
void set_post_assembly_operation(MAST::TransientAssembly::PostAssemblyOperation &post)
sets the PostAssemblyOperation object for use after assembly.
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 ...
user-provided object to perform actions after assembly and before returning to the solver...