56 libmesh_assert_greater(
_sigma0, 0.);
69 std::map<const libMesh::dof_id_type, std::vector<MAST::StressStrainOutputBase::Data*> >::const_iterator
73 for ( ; map_it != map_end; map_it++) {
75 std::vector<MAST::StressStrainOutputBase::Data*>::const_iterator
76 vec_it = map_it->second.begin(),
77 vec_end = map_it->second.end();
79 for ( ; vec_it != vec_end; vec_it++) {
82 e_val = (*vec_it)->von_Mises_stress();
83 JxW = (*vec_it)->quadrature_point_JxW();
107 const libMesh::dof_id_type e_id,
108 Real& dsigma_vm_val_df)
const {
112 libmesh_assert_greater(
_sigma0, 0.);
120 dsigma_vm_val_df = 0.;
123 std::map<const libMesh::dof_id_type, std::vector<MAST::StressStrainOutputBase::Data*> >::const_iterator
127 libmesh_assert(map_it != map_end);
129 std::vector<MAST::StressStrainOutputBase::Data*>::const_iterator
130 vec_it = map_it->second.begin(),
131 vec_end = map_it->second.end();
133 for ( ; vec_it != vec_end; vec_it++) {
136 e_val = (*vec_it)->von_Mises_stress();
137 de_val = (*vec_it)->dvon_Mises_stress_dp(f);
138 JxW = (*vec_it)->quadrature_point_JxW();
153 const libMesh::dof_id_type e_id,
154 Real& dsigma_vm_val_df)
const {
158 libmesh_assert_greater(
_sigma0, 0.);
166 dsigma_vm_val_df = 0.;
169 std::map<const libMesh::dof_id_type, std::vector<MAST::StressStrainOutputBase::Data*> >::const_iterator
173 libmesh_assert(map_it != map_end);
175 std::vector<MAST::StressStrainOutputBase::Data*>::const_iterator
176 vec_it = map_it->second.begin(),
177 vec_end = map_it->second.end();
179 for ( ; vec_it != vec_end; vec_it++) {
182 e_val = (*vec_it)->von_Mises_stress();
183 JxW_Vn = (*vec_it)->quadrature_point_JxW();
185 denom_sens += JxW_Vn;
201 libmesh_assert_greater(
_sigma0, 0.);
208 num_sens = RealVectorX::Zero(dq_dX.size()),
209 de_val = RealVectorX::Zero(dq_dX.size());
215 std::map<const libMesh::dof_id_type, std::vector<MAST::StressStrainOutputBase::Data*> >::const_iterator
220 libmesh_assert(map_it != map_end);
222 std::vector<MAST::StressStrainOutputBase::Data*>::const_iterator
223 vec_it = map_it->second.begin(),
224 vec_end = map_it->second.end();
227 for ( ; vec_it != vec_end; vec_it++) {
230 e_val = (*vec_it)->von_Mises_stress();
231 de_val = (*vec_it)->dvon_Mises_stress_dX();
232 JxW = (*vec_it)->quadrature_point_JxW();
MAST::NonlinearSystem & system()
Data structure provides the mechanism to store stress and strain output from a structural analysis...
std::map< const libMesh::dof_id_type, std::vector< MAST::StressStrainOutputBase::Data * > > _boundary_stress_data
vector of stress with the associated location details
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...
Real _sigma0
reference stress value used in scaling volume.
bool _primal_data_initialized
primal data, needed for sensitivity and adjoints
Real _p_norm_stress
norm to be used for calculation of output stress function.
KSStressStrainOutput()
default constructor
std::map< const libMesh::dof_id_type, std::vector< MAST::StressStrainOutputBase::Data * > > _stress_data
vector of stress with the associated location details
virtual void functional_for_all_elems()
calculates and returns the von Mises p-norm functional for all the elements that this object currentl...
Matrix< Real, Dynamic, 1 > RealVectorX
virtual ~KSStressStrainOutput()
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...
bool _if_stress_plot_mode
identifies the mode in which evaluation is peformed.
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 specifi...
MAST::SystemInitialization * _system