MAST
MAST::LevelSetStressAssembly Class Reference

#include <level_set_stress_assembly.h>

Inheritance diagram for MAST::LevelSetStressAssembly:
Collaboration diagram for MAST::LevelSetStressAssembly:

Public Member Functions

 LevelSetStressAssembly ()
 constructor associates this assembly object with the system More...
 
virtual ~LevelSetStressAssembly ()
 destructor resets the association of this assembly object with the system More...
 
virtual void init (MAST::FieldFunction< Real > &level_set, MAST::LevelSetInterfaceDofHandler *dof_handler=nullptr)
 attaches level set function to this. More...
 
virtual void clear ()
 clears association with level set function More...
 
virtual void update_stress_strain_data (MAST::StressStrainOutputBase &ops, const libMesh::NumericVector< Real > &X)
 updates the stresses and strains for the specified solution vector X. More...
 
- Public Member Functions inherited from MAST::StressAssembly
 StressAssembly ()
 constructor associates this assembly object with the system More...
 
virtual ~StressAssembly ()
 destructor resets the association of this assembly object with the system More...
 
virtual void update_stress_strain_sensitivity_data (MAST::StressStrainOutputBase &ops, const libMesh::NumericVector< Real > &X, const libMesh::NumericVector< Real > &dXdp, const MAST::FunctionBase &p, libMesh::NumericVector< Real > &dsigmadp)
 updates the sensitivity of stresses and strains for the specified solution vector X and its sensitivity, dXdp, with respect to parameter p. 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::PhysicsDisciplineBasediscipline () const
 
MAST::PhysicsDisciplineBasediscipline ()
 
MAST::AssemblyElemOperationsget_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::NonlinearSystemsystem () const
 
MAST::NonlinearSystemsystem ()
 
MAST::SystemInitializationsystem_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::SolverMonitorget_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 $ q(X,p) $. More...
 
virtual void calculate_output_derivative (const libMesh::NumericVector< Real > &X, MAST::OutputAssemblyElemOperations &output, libMesh::NumericVector< Real > &dq_dX)
 calculates $ \frac{\partial q(X, p)}{\partial X} $ 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::LevelSetInterfaceDofHandler_dof_handler
 
- 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...
 

Detailed Description

Definition at line 35 of file level_set_stress_assembly.h.

Constructor & Destructor Documentation

MAST::LevelSetStressAssembly::LevelSetStressAssembly ( )

constructor associates this assembly object with the system

Definition at line 38 of file level_set_stress_assembly.cpp.

MAST::LevelSetStressAssembly::~LevelSetStressAssembly ( )
virtual

destructor resets the association of this assembly object with the system

Definition at line 47 of file level_set_stress_assembly.cpp.

Member Function Documentation

void MAST::LevelSetStressAssembly::clear ( )
virtual

clears association with level set function

Definition at line 70 of file level_set_stress_assembly.cpp.

Here is the call graph for this function:

void MAST::LevelSetStressAssembly::init ( MAST::FieldFunction< Real > &  level_set,
MAST::LevelSetInterfaceDofHandler dof_handler = nullptr 
)
virtual

attaches level set function to this.

If dof_handler is provided then its solution will be used in computing stress.

Definition at line 55 of file level_set_stress_assembly.cpp.

void MAST::LevelSetStressAssembly::update_stress_strain_data ( MAST::StressStrainOutputBase ops,
const libMesh::NumericVector< Real > &  X 
)
virtual

updates the stresses and strains for the specified solution vector X.

Only the maximum values out of each element are updated. This will put the stress data in the System::solution vector related to stress/strain values.

Reimplemented from MAST::StressAssembly.

Definition at line 94 of file level_set_stress_assembly.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

Member Data Documentation

MAST::LevelSetInterfaceDofHandler* MAST::LevelSetStressAssembly::_dof_handler
protected

Definition at line 84 of file level_set_stress_assembly.h.

MAST::LevelSetIntersection* MAST::LevelSetStressAssembly::_intersection
protected

Definition at line 83 of file level_set_stress_assembly.h.

MAST::FieldFunction<Real>* MAST::LevelSetStressAssembly::_level_set
protected

Definition at line 82 of file level_set_stress_assembly.h.


The documentation for this class was generated from the following files: