xref: /honee/qfunctions/newtonian_types.h (revision 34ea8d65901bd7006b149be7adbb43f72161ce3e)
1 // Copyright (c) 2017-2022, Lawrence Livermore National Security, LLC and other CEED contributors.
2 // All Rights Reserved. See the top-level LICENSE and NOTICE files for details.
3 //
4 // SPDX-License-Identifier: BSD-2-Clause
5 //
6 // This file is part of CEED:  http://github.com/ceed
7 
8 #ifndef newtonian_types_h
9 #define newtonian_types_h
10 
11 #include <ceed.h>
12 #include "stabilization_types.h"
13 
14 typedef struct SetupContext_ *SetupContext;
15 struct SetupContext_ {
16   CeedScalar theta0;
17   CeedScalar thetaC;
18   CeedScalar P0;
19   CeedScalar N;
20   CeedScalar cv;
21   CeedScalar cp;
22   CeedScalar g[3];
23   CeedScalar rc;
24   CeedScalar lx;
25   CeedScalar ly;
26   CeedScalar lz;
27   CeedScalar center[3];
28   CeedScalar dc_axis[3];
29   CeedScalar time;
30   int wind_type;              // See WindType: 0=ROTATION, 1=TRANSLATION
31   int bubble_type;            // See BubbleType: 0=SPHERE, 1=CYLINDER
32   int bubble_continuity_type; // See BubbleContinuityType: 0=SMOOTH, 1=BACK_SHARP 2=THICK
33 };
34 
35 typedef struct NewtonianIdealGasContext_ *NewtonianIdealGasContext;
36 struct NewtonianIdealGasContext_ {
37   CeedScalar lambda;
38   CeedScalar mu;
39   CeedScalar k;
40   CeedScalar cv;
41   CeedScalar cp;
42   CeedScalar g[3];
43   CeedScalar c_tau;
44   CeedScalar Ctau_t;
45   CeedScalar Ctau_v;
46   CeedScalar Ctau_C;
47   CeedScalar Ctau_M;
48   CeedScalar Ctau_E;
49   CeedScalar dt;
50   CeedScalar ijacobian_time_shift;
51   CeedScalar P0;
52   bool       is_implicit;
53   bool       use_primitive;
54   StabilizationType stabilization;
55 };
56 
57 #endif // newtonian_types_h
58