MAST
Multidisciplinary-design Adaptation and Sensitivity Toolkit (MAST)
stress_assembly.h
Go to the documentation of this file.
1 /*
2  * MAST: Multidisciplinary-design Adaptation and Sensitivity Toolkit
3  * Copyright (C) 2013-2020 Manav Bhatia and MAST authors
4  *
5  * This library is free software; you can redistribute it and/or
6  * modify it under the terms of the GNU Lesser General Public
7  * License as published by the Free Software Foundation; either
8  * version 2.1 of the License, or (at your option) any later version.
9  *
10  * This library is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13  * Lesser General Public License for more details.
14  *
15  * You should have received a copy of the GNU Lesser General Public
16  * License along with this library; if not, write to the Free Software
17  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
18  */
19 
20 #ifndef __mast__stress_assembly__
21 #define __mast__stress_assembly__
22 
23 // MAST includes
24 #include "base/assembly_base.h"
25 
26 // libMesh includes
27 #include "libmesh/nonlinear_implicit_system.h"
28 
29 
30 namespace MAST {
31 
32  // Forward declerations
33  class StressStrainOutputBase;
34 
35 
37  public MAST::AssemblyBase {
38  public:
39 
40 
45 
46 
51  virtual ~StressAssembly();
52 
53 
54 
61  virtual void
63  const libMesh::NumericVector<Real>& X);
64 
71  virtual void
73  const libMesh::NumericVector<Real>& X,
74  const libMesh::NumericVector<Real>& dXdp,
75  const MAST::FunctionBase& p,
76  libMesh::NumericVector<Real>& dsigmadp);
77 
78 
79  protected:
80 
81  };
82 }
83 
84 
85 #endif //__mast__stress_assembly__
86 
StressAssembly()
constructor associates this assembly object with the system
Data structure provides the mechanism to store stress and strain output from a structural analysis...
virtual ~StressAssembly()
destructor resets the association of this assembly object with the system
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.
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 sensitivi...