MAST
level_set_stress_assembly.h
Go to the documentation of this file.
1 /*
2  * MAST: Multidisciplinary-design Adaptation and Sensitivity Toolkit
3  * Copyright (C) 2013-2019 Manav Bhatia
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__level_set_stress_assembly__
21 #define __mast__level_set_stress_assembly__
22 
23 // MAST includes
25 
26 
27 namespace MAST {
28 
29  // Forward declerations
30  template <typename ValType> class FieldFunction;
31  class LevelSetIntersection;
32  class LevelSetInterfaceDofHandler;
33 
34 
36  public MAST::StressAssembly {
37  public:
38 
39 
44 
45 
50  virtual ~LevelSetStressAssembly();
51 
52 
57  virtual void
59  MAST::LevelSetInterfaceDofHandler* dof_handler = nullptr);
60 
61 
65  virtual void
66  clear();
67 
68 
75  virtual void
77  const libMesh::NumericVector<Real>& X);
78 
79 
80  protected:
81 
85  };
86 }
87 
88 
89 #endif //__mast__level_set_stress_assembly__
90 
91 
virtual void clear()
clears association with level set function
Data structure provides the mechanism to store stress and strain output from a structural analysis...
MAST::LevelSetInterfaceDofHandler * _dof_handler
MAST::FieldFunction< Real > * _level_set
virtual void init(MAST::FieldFunction< Real > &level_set, MAST::LevelSetInterfaceDofHandler *dof_handler=nullptr)
attaches level set function to this.
virtual ~LevelSetStressAssembly()
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.
LevelSetStressAssembly()
constructor associates this assembly object with the system
MAST::LevelSetIntersection * _intersection