MAST
Multidisciplinary-design Adaptation and Sensitivity Toolkit (MAST)
build_structural_elem_2D.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 
21 #ifndef __mast_test_build_structural_element_2d_h__
22 #define __mast_test_build_structural_element_2d_h__
23 
24 // C++ includes
25 #include <memory>
26 #include <vector>
27 
28 // libMesh includes
29 #include "libmesh/libmesh.h"
30 #include "libmesh/equation_systems.h"
31 #include "libmesh/serial_mesh.h"
32 #include "libmesh/mesh_generation.h"
33 #include "libmesh/nonlinear_implicit_system.h"
34 #include "libmesh/fe_type.h"
35 #include "libmesh/dof_map.h"
36 
37 
38 
39 namespace MAST {
40 
41  // Forward declerations
42  class StructuralSystemInitialization;
43  class StructuralDiscipline;
44  class Parameter;
45  class ConstantFieldFunction;
46  class IsotropicMaterialPropertyCard;
47  class Solid2DSectionElementPropertyCard;
48  class PistonTheoryBoundaryCondition;
49  class BoundaryConditionBase;
50  class NonlinearSystem;
51 
53 
54 
56 
57 
59 
60 
61  void init(bool if_link_offset_to_th,
62  bool if_nonlinear,
63  libMesh::ElemType e_type);
64 
65 
67 
68  libMesh::ElemType _e_type;
69 
70  // create the mesh
71  libMesh::SerialMesh* _mesh;
72 
73  // create the equation system
74  libMesh::EquationSystems* _eq_sys;
75 
76  // create the libmesh system
78 
79  // initialize the system to the right set of variables
81  MAST::StructuralDiscipline* _discipline;
82 
83  // create the property functions and add them to the
85  *_thz,
86  *_E,
87  *_nu,
88  *_kappa,
89  *_hzoff,
90  *_zero,
91  *_temp,
92  *_alpha,
93  *_velocity,
94  *_mach,
95  *_rho_air,
96  *_gamma_air,
97  *_dwdx,
98  *_dwdt;
99 
102  *_E_f,
103  *_nu_f,
104  *_kappa_f,
105  *_hzoff_f,
106  *_temp_f,
107  *_ref_temp_f,
108  *_alpha_f,
109  *_velocity_f,
110  *_mach_f,
111  *_rho_air_f,
112  *_gamma_air_f,
113  *_dwdx_f,
114  *_dwdt_f;
115 
116 
117  // create the material property card
119 
120  // create the element property card
122 
123  // create the boundary condition
125 
126  // create the temperature boundary condition
128 
129  // vector of parameters to evaluate sensitivity wrt
130  std::vector<MAST::Parameter*> _params_for_sensitivity;
131  };
132 }
133 
134 
135 #endif // __mast_test_build_structural_element_2d_h__
MAST::ConstantFieldFunction * _mach_f
std::vector< MAST::Parameter * > _params_for_sensitivity
MAST::BoundaryConditionBase * _thermal_load
MAST::ConstantFieldFunction * _ref_temp_f
This class implements a system for solution of nonlinear systems.
MAST::IsotropicMaterialPropertyCard * _m_card
MAST::ConstantFieldFunction * _dwdt_f
This is a scalar function whose value can be changed and one that can be used as a design variable in...
Definition: parameter.h:35
MAST::ConstantFieldFunction * _thz_f
MAST::ConstantFieldFunction * _kappa_f
MAST::ConstantFieldFunction * _E_f
MAST::ConstantFieldFunction * _temp_f
MAST::ConstantFieldFunction * _rho_air_f
MAST::ConstantFieldFunction * _velocity_f
libMesh::EquationSystems * _eq_sys
MAST::ConstantFieldFunction * _hzoff_f
MAST::ConstantFieldFunction * _gamma_air_f
MAST::StructuralDiscipline * _discipline
void init(bool if_link_offset_to_th, bool if_nonlinear, libMesh::ElemType e_type)
MAST::StructuralSystemInitialization * _structural_sys
MAST::ConstantFieldFunction * _nu_f
MAST::PistonTheoryBoundaryCondition * _p_theory
MAST::ConstantFieldFunction * _alpha_f
MAST::Solid2DSectionElementPropertyCard * _p_card
MAST::ConstantFieldFunction * _dwdx_f