|
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.