MAST
Multidisciplinary-design Adaptation and Sensitivity Toolkit (MAST)
build_structural_elem_1D.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_1d_h__
22 #define __mast_test_build_structural_element_1d_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/fe_type.h"
34 #include "libmesh/dof_map.h"
35 
36 
37 
38 namespace MAST {
39 
40  // Forward declerations
41  class StructuralSystemInitialization;
42  class StructuralDiscipline;
43  class Parameter;
44  class ConstantFieldFunction;
45  class IsotropicMaterialPropertyCard;
46  class Solid1DSectionElementPropertyCard;
47  class PistonTheoryBoundaryCondition;
48  class BoundaryConditionBase;
49  class NonlinearSystem;
50 
51 
53 
54 
56 
57 
59 
60 
61  void init(bool if_link_offset_to_th,
62  bool if_nonlinear);
63 
64 
66 
67 
68  // create the mesh
69  libMesh::SerialMesh* _mesh;
70 
71  // create the equation system
72  libMesh::EquationSystems* _eq_sys;
73 
74  // create the libmesh system
76 
77  // initialize the system to the right set of variables
79  MAST::StructuralDiscipline* _discipline;
80 
81  // create the property functions and add them to the
83  *_thy,
84  *_thz,
85  *_E,
86  *_nu,
87  *_hy_off,
88  *_hz_off,
89  *_zero,
90  *_temp,
91  *_alpha,
92  *_velocity,
93  *_mach,
94  *_rho_air,
95  *_gamma_air,
96  *_dwdx,
97  *_dwdt;
98 
99 
102  *_thz_f,
103  *_E_f,
104  *_nu_f,
105  *_hyoff_f,
106  *_hzoff_f,
107  *_temp_f,
108  *_ref_temp_f,
109  *_alpha_f,
110  *_velocity_f,
111  *_mach_f,
112  *_rho_air_f,
113  *_gamma_air_f,
114  *_dwdx_f,
115  *_dwdt_f;
116 
117 
118  // create the material property card
120 
121  // create the element property card
123 
124  // create the piston theory boundary condition
126 
127  // create the temperature boundary condition
129 
130  // vector of parameters to evaluate sensitivity wrt
131  std::vector<MAST::Parameter*> _params_for_sensitivity;
132  };
133 }
134 
135 
136 #endif // __mast_test_build_structural_element_1d_h__
137 
MAST::ConstantFieldFunction * _hzoff_f
MAST::ConstantFieldFunction * _gamma_air_f
This class implements a system for solution of nonlinear systems.
MAST::ConstantFieldFunction * _nu_f
MAST::ConstantFieldFunction * _thy_f
MAST::ConstantFieldFunction * _alpha_f
MAST::ConstantFieldFunction * _ref_temp_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 * _E_f
MAST::ConstantFieldFunction * _rho_air_f
MAST::StructuralSystemInitialization * _structural_sys
std::vector< MAST::Parameter * > _params_for_sensitivity
MAST::Solid1DSectionElementPropertyCard * _p_card
MAST::ConstantFieldFunction * _dwdt_f
libMesh::EquationSystems * _eq_sys
MAST::ConstantFieldFunction * _mach_f
MAST::BoundaryConditionBase * _thermal_load
MAST::PistonTheoryBoundaryCondition * _p_theory
MAST::ConstantFieldFunction * _thz_f
void init(bool if_link_offset_to_th, bool if_nonlinear)
MAST::ConstantFieldFunction * _temp_f
MAST::StructuralDiscipline * _discipline
MAST::IsotropicMaterialPropertyCard * _m_card
MAST::ConstantFieldFunction * _hyoff_f
MAST::ConstantFieldFunction * _dwdx_f
MAST::ConstantFieldFunction * _velocity_f