MAST
|
Computes the compliance as . More...
#include <compliance_output.h>
Public Member Functions | |
ComplianceOutput () | |
default constructor More... | |
virtual | ~ComplianceOutput () |
virtual void | set_elem_data (unsigned int dim, const libMesh::Elem &ref_elem, MAST::GeomElem &elem) const |
sets the structural element y-vector if 1D element is used. More... | |
virtual void | init (const MAST::GeomElem &elem) |
initialize for the element. More... | |
virtual void | zero_for_analysis () |
zeroes the output quantity values stored inside this object so that assembly process can begin. More... | |
virtual void | zero_for_sensitivity () |
zeroes the output quantity values stored inside this object so that assembly process can begin. More... | |
virtual void | evaluate () |
this evaluates all relevant stress components on the element to evaluate the p-averaged quantity. More... | |
virtual void | evaluate_sensitivity (const MAST::FunctionBase &f) |
this evaluates all relevant stress sensitivity components on the element to evaluate the p-averaged quantity sensitivity. More... | |
virtual void | evaluate_shape_sensitivity (const MAST::FunctionBase &f) |
this evaluates all relevant shape sensitivity components on the element. More... | |
virtual void | evaluate_topology_sensitivity (const MAST::FunctionBase &f, const MAST::FieldFunction< RealVectorX > &vel) |
This evaluates the contribution to the topology sensitivity on the boundary. More... | |
virtual Real | output_for_elem () |
should not get called for this output. More... | |
virtual Real | output_total () |
virtual Real | output_sensitivity_for_elem (const MAST::FunctionBase &p) |
virtual Real | output_sensitivity_total (const MAST::FunctionBase &p) |
virtual void | output_derivative_for_elem (RealVectorX &dq_dX) |
calculates the derivative of p-norm von Mises stress for the norm identified using set_p_val() . More... | |
Public Member Functions inherited from MAST::OutputAssemblyElemOperations | |
OutputAssemblyElemOperations () | |
virtual | ~OutputAssemblyElemOperations () |
virtual destructor More... | |
void | set_participating_subdomains (const std::set< libMesh::subdomain_id_type > &sids) |
The output function can be a boundary integrated quantity, volume integrated quantity or a combination of these two. More... | |
void | set_participating_elements (const std::set< const libMesh::Elem * > &elems) |
sets the elements for which this object will evaluate and store the output data. More... | |
void | set_participating_elements_to_all () |
This will allow volume contribution from all elements. More... | |
void | set_participating_boundaries (const std::set< libMesh::boundary_id_type > &bids) |
The assembly will integration over boudnaries with ids specified in bids . More... | |
const std::set< const libMesh::Elem * > & | get_participating_elements () const |
const std::set< libMesh::subdomain_id_type > & | get_participating_subdomains () |
const std::set< libMesh::boundary_id_type > & | get_participating_boundaries () |
virtual bool | if_evaluate_for_element (const MAST::GeomElem &elem) const |
checks to see if the object has been told about the subset of elements and if the specified element is in the subset. More... | |
virtual bool | if_evaluate_for_boundary (const MAST::GeomElem &elem, const unsigned int s) const |
checks to see if the specified side of the element needs evaluation of the output contribution. More... | |
Public Member Functions inherited from MAST::AssemblyElemOperations | |
AssemblyElemOperations () | |
virtual | ~AssemblyElemOperations () |
MAST::SystemInitialization & | get_system_initialization () |
MAST::PhysicsDisciplineBase & | get_discipline () |
virtual void | set_discipline_and_system (MAST::PhysicsDisciplineBase &discipline, MAST::SystemInitialization &system) |
attaches a system to this discipline More... | |
virtual void | clear_discipline_and_system () |
clears association with a system to this discipline More... | |
virtual void | set_assembly (MAST::AssemblyBase &assembly) |
sets the assembly object More... | |
virtual MAST::AssemblyBase & | get_assembly () |
virtual void | clear_assembly () |
clears the assembly object More... | |
virtual void | clear_elem () |
clears the element initialization More... | |
MAST::ElementBase & | get_physics_elem () |
virtual void | set_elem_solution (const RealVectorX &sol) |
sets the element solution More... | |
virtual void | set_elem_solution_sensitivity (const RealVectorX &sol) |
sets the element solution sensitivity More... | |
virtual void | set_elem_perturbed_solution (const RealVectorX &sol) |
sets the element perturbed solution More... | |
virtual void | set_elem_velocity (const RealVectorX &vel) |
sets the element velocity More... | |
virtual void | set_elem_velocity_sensitivity (const RealVectorX &vel) |
sets the element velocity sensitivity More... | |
virtual void | set_elem_perturbed_velocity (const RealVectorX &vel) |
sets the element perturbed velocity More... | |
virtual void | set_elem_acceleration (const RealVectorX &accel) |
sets the element acceleration More... | |
virtual void | set_elem_acceleration_sensitivity (const RealVectorX &accel) |
sets the element acceleration More... | |
virtual void | set_elem_perturbed_acceleration (const RealVectorX &accel) |
sets the element perturbed acceleration More... | |
Protected Attributes | |
Real | _compliance |
Real | _dcompliance_dp |
Protected Attributes inherited from MAST::OutputAssemblyElemOperations | |
bool | _if_evaluate_on_all_elems |
if true, evaluates on all elements. More... | |
std::set< const libMesh::Elem * > | _elem_subset |
set of elements for which the data will be stored. More... | |
std::set< libMesh::subdomain_id_type > | _sub_domain_ids |
set of subdomain ids for which data will be processed. More... | |
std::set< libMesh::boundary_id_type > | _bids |
set of bids for which data will be processed More... | |
Protected Attributes inherited from MAST::AssemblyElemOperations | |
MAST::SystemInitialization * | _system |
MAST::PhysicsDisciplineBase * | _discipline |
MAST::AssemblyBase * | _assembly |
MAST::ElementBase * | _physics_elem |
Computes the compliance as .
Definition at line 46 of file compliance_output.h.
MAST::ComplianceOutput::ComplianceOutput | ( | ) |
default constructor
Definition at line 35 of file compliance_output.cpp.
|
virtual |
Definition at line 45 of file compliance_output.cpp.
|
virtual |
this evaluates all relevant stress components on the element to evaluate the p-averaged quantity.
This is only done on the current element for which this object has been initialized.
Implements MAST::OutputAssemblyElemOperations.
Definition at line 70 of file compliance_output.cpp.
|
virtual |
this evaluates all relevant stress sensitivity components on the element to evaluate the p-averaged quantity sensitivity.
This is only done on the current element for which this object has been initialized.
Implements MAST::OutputAssemblyElemOperations.
Definition at line 105 of file compliance_output.cpp.
|
inlinevirtual |
this evaluates all relevant shape sensitivity components on the element.
This is only done on the current element for which this object has been initialized.
Implements MAST::OutputAssemblyElemOperations.
Definition at line 112 of file compliance_output.h.
|
virtual |
This evaluates the contribution to the topology sensitivity on the boundary.
Given that the integral is nonlinear due to the norm, the expression is quite involved:
Implements MAST::OutputAssemblyElemOperations.
Definition at line 156 of file compliance_output.cpp.
|
virtual |
initialize for the element.
Implements MAST::AssemblyElemOperations.
Definition at line 271 of file compliance_output.cpp.
|
virtual |
calculates the derivative of p-norm von Mises stress for the norm identified using set_p_val()
.
The quantity is evaluated over the current element for which this object is initialized.
Implements MAST::OutputAssemblyElemOperations.
Definition at line 218 of file compliance_output.cpp.
|
inlinevirtual |
should not get called for this output.
Use output_total() instead.
Implements MAST::OutputAssemblyElemOperations.
Definition at line 135 of file compliance_output.h.
|
inlinevirtual |
set_p_val()
. The returned quantity is evaluated for the element for which this object is initialized. Implements MAST::OutputAssemblyElemOperations.
Definition at line 150 of file compliance_output.h.
|
virtual |
with respect to parameter . This returns the quantity accumulated over all elements.
Implements MAST::OutputAssemblyElemOperations.
Definition at line 208 of file compliance_output.cpp.
|
virtual |
Implements MAST::OutputAssemblyElemOperations.
Definition at line 198 of file compliance_output.cpp.
|
virtual |
sets the structural element y-vector if 1D element is used.
Implements MAST::AssemblyElemOperations.
Definition at line 254 of file compliance_output.cpp.
|
virtual |
zeroes the output quantity values stored inside this object so that assembly process can begin.
This will zero out data so that it is ready for a new evaluation. Before sensitivity analysis, call the other method, since some nonlinear functionals need the forward quantities for sensitivity analysis, eg., stress output.
Implements MAST::OutputAssemblyElemOperations.
Definition at line 53 of file compliance_output.cpp.
|
virtual |
zeroes the output quantity values stored inside this object so that assembly process can begin.
This will only zero the data to compute new sensitivity analysis.
Implements MAST::OutputAssemblyElemOperations.
Definition at line 62 of file compliance_output.cpp.
|
protected |
Definition at line 175 of file compliance_output.h.
|
protected |
Definition at line 176 of file compliance_output.h.