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