MAST
Multidisciplinary-design Adaptation and Sensitivity Toolkit (MAST)
build_conservative_fluid_elem.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_build_conservative_fluid_elem_h__
22 #define __mast_build_conservative_fluid_elem_h__
23 
24 
25 // C++ includes
26 #include <memory>
27 #include <vector>
28 #include <string>
29 
30 // MAST includes
31 #include "base/mast_data_types.h"
32 
33 
34 // libMesh includes
35 #include "libmesh/libmesh.h"
36 #include "libmesh/equation_systems.h"
37 #include "libmesh/parallel_mesh.h"
38 #include "libmesh/mesh_generation.h"
39 #include "libmesh/fe_type.h"
40 #include "libmesh/dof_map.h"
41 
42 
43 
44 namespace MAST {
45 
46  // Forward declerations
47  class ConservativeFluidSystemInitialization;
48  class ConservativeFluidDiscipline;
49  class Parameter;
50  class ConstantFieldFunction;
51  class BoundaryConditionBase;
52  class FlightCondition;
53  class FrequencyFunction;
54  class RigidSurfaceMotion;
55  class RigidSurfaceDisplacement;
56  class RigidSurfaceNormalRotation;
57  class NonlinearSystem;
58 
59 
61 
62 
64 
65 
67 
68 
69  // create the mesh
70  libMesh::ParallelMesh* _mesh;
71 
72  // create the equation system
73  libMesh::EquationSystems* _eq_sys;
74 
75  // create the libmesh system
77 
78  // initialize the system to the right set of variables
81 
82  // flight condition
84 
85 
87 
88  // boundary condition
91  *_slip_wall;
92 
96  MAST::RigidSurfaceMotion
98  MAST::RigidSurfaceDisplacement
100  MAST::RigidSurfaceNormalRotation
102 
103  // parameters used in the system
106  *_velocity,
107  *_b_ref;
108 
109 
112  *_velocity_f,
113  *_b_ref_f;
114 
115 
120  };
121 }
122 
123 
124 
125 
126 #endif // __mast_build_conservative_fluid_elem_h__
127 
MAST::ConservativeFluidDiscipline * _discipline
MAST::BoundaryConditionBase * _far_field
This class implements a system for solution of nonlinear systems.
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::RigidSurfaceMotion * _motion
surface rigid motion
MAST::ConservativeFluidSystemInitialization * _fluid_sys
MAST::RigidSurfaceDisplacement * _displacement
MAST::FrequencyFunction * _freq_function
frequency object
MAST::RigidSurfaceNormalRotation * _normal_rot
Matrix< Real, Dynamic, 1 > RealVectorX
MAST::BoundaryConditionBase * _slip_wall