MAST
|
This implements the computation of smooth ramp constraint aggregation functional for the stress constraint. More...
#include <smooth_ramp_stress_output.h>
Public Member Functions | |
SmoothRampStressStrainOutput () | |
default constructor More... | |
virtual | ~SmoothRampStressStrainOutput () |
virtual void | functional_for_all_elems () |
calculates and returns the von Mises p-norm functional for all the elements that this object currently stores data for. More... | |
virtual void | functional_sensitivity_for_elem (const MAST::FunctionBase &f, const libMesh::dof_id_type e_id, Real &dsigma_vm_val_df) const |
calculates and returns the sensitivity of von Mises p-norm functional for the element e . More... | |
virtual void | functional_boundary_sensitivity_for_elem (const MAST::FunctionBase &f, const libMesh::dof_id_type e_id, Real &dsigma_vm_val_df) const |
calculates and returns the boundary sensitivity of von Mises p-norm functional for the element e . More... | |
virtual void | functional_state_derivartive_for_elem (const libMesh::dof_id_type e_id, RealVectorX &dq_dX) const |
calculates and returns the derivative of von Mises p-norm functional wrt state vector for the specified element. More... | |
Public Member Functions inherited from MAST::StressStrainOutputBase | |
StressStrainOutputBase () | |
default constructor More... | |
virtual | ~StressStrainOutputBase () |
void | set_aggregation_coefficients (Real p1, Real p2, Real rho, Real sigma0) |
sets the norm for calculation of stress functional More... | |
Real | get_p_stress_val () |
void | set_stress_plot_mode (bool f) |
tells the object that the calculation is for stress to be output for plotting. More... | |
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... | |
bool | stress_plot_mode () const |
bool | primal_data_initialized () const |
void | clear () |
clears the data structure of any stored values so that it can be used for another element. More... | |
virtual void | clear_sensitivity_data () |
clears the data stored for sensitivity analysis. More... | |
MAST::BoundaryConditionBase * | get_thermal_load_for_elem (const MAST::GeomElem &elem) |
unsigned int | n_stress_strain_data_for_elem (const MAST::GeomElem &e) const |
unsigned int | n_boundary_stress_strain_data_for_elem (const GeomElem &e) const |
virtual MAST::StressStrainOutputBase::Data & | add_stress_strain_at_qp_location (const MAST::GeomElem &e, const unsigned int qp, const libMesh::Point &quadrature_pt, const libMesh::Point &physical_pt, const RealVectorX &stress, const RealVectorX &strain, Real JxW) |
add the stress tensor associated with the qp. More... | |
virtual MAST::StressStrainOutputBase::Data & | add_stress_strain_at_boundary_qp_location (const MAST::GeomElem &e, const unsigned int s, const unsigned int qp, const libMesh::Point &quadrature_pt, const libMesh::Point &physical_pt, const RealVectorX &stress, const RealVectorX &strain, Real JxW_Vn) |
add the stress tensor associated with the qp on side s of element e . More... | |
virtual const std::map< const libMesh::dof_id_type, std::vector< MAST::StressStrainOutputBase::Data * > > & | get_stress_strain_data () const |
Real | get_maximum_von_mises_stress () const |
virtual const std::vector< MAST::StressStrainOutputBase::Data * > & | get_stress_strain_data_for_elem (const MAST::GeomElem &e) const |
virtual MAST::StressStrainOutputBase::Data & | get_stress_strain_data_for_elem_at_qp (const MAST::GeomElem &e, const unsigned int qp) |
virtual void | functional_sensitivity_for_all_elems (const MAST::FunctionBase &f, Real &dsigma_vm_val_df) const |
calculates and returns the sensitivity of von Mises p-norm functional for all the elements that this object currently stores data for. More... | |
virtual void | functional_boundary_sensitivity_for_all_elems (const MAST::FunctionBase &f, Real &dsigma_vm_val_df) const |
calculates and returns the sensitivity of von Mises p-norm functional for all the elements that this object currently stores data for. 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... | |
Additional Inherited Members | |
Protected Attributes inherited from MAST::StressStrainOutputBase | |
Real | _p_norm_stress |
norm to be used for calculation of output stress function. More... | |
Real | _p_norm_weight |
Real | _rho |
exponent used in scaling volume based on stress value. More... | |
Real | _sigma0 |
reference stress value used in scaling volume. More... | |
Real | _exp_arg_lim |
bool | _primal_data_initialized |
primal data, needed for sensitivity and adjoints More... | |
Real | _JxW_val |
Real | _sigma_vm_int |
Real | _sigma_vm_p_norm |
bool | _if_stress_plot_mode |
identifies the mode in which evaluation is peformed. More... | |
std::map< const libMesh::dof_id_type, std::vector< MAST::StressStrainOutputBase::Data * > > | _stress_data |
vector of stress with the associated location details More... | |
std::map< const libMesh::dof_id_type, std::vector< MAST::StressStrainOutputBase::Data * > > | _boundary_stress_data |
vector of stress with the associated location details More... | |
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 |
This implements the computation of smooth ramp constraint aggregation functional for the stress constraint.
Definition at line 41 of file smooth_ramp_stress_output.h.
MAST::SmoothRampStressStrainOutput::SmoothRampStressStrainOutput | ( | ) |
default constructor
Definition at line 36 of file smooth_ramp_stress_output.cpp.
|
virtual |
Definition at line 44 of file smooth_ramp_stress_output.cpp.
|
virtual |
calculates and returns the boundary sensitivity of von Mises p-norm functional for the element e
.
Reimplemented from MAST::StressStrainOutputBase.
Definition at line 151 of file smooth_ramp_stress_output.cpp.
|
virtual |
calculates and returns the von Mises p-norm functional for all the elements that this object currently stores data for.
This is defined as
Reimplemented from MAST::StressStrainOutputBase.
Definition at line 52 of file smooth_ramp_stress_output.cpp.
|
virtual |
calculates and returns the sensitivity of von Mises p-norm functional for the element e
.
Reimplemented from MAST::StressStrainOutputBase.
Definition at line 106 of file smooth_ramp_stress_output.cpp.
|
virtual |
calculates and returns the derivative of von Mises p-norm functional wrt state vector for the specified element.
This assumes that the von_Mises_p_norm_functional_for_all_elems()
has been called to calculate the primal data. This is defined as
Reimplemented from MAST::StressStrainOutputBase.
Definition at line 191 of file smooth_ramp_stress_output.cpp.