1 // Copyright (c) 2017-2023, 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 advection_types_h 9 #define advection_types_h 10 11 #include <ceed.h> 12 #include "stabilization_types.h" 13 14 typedef enum { 15 WIND_ROTATION = 0, 16 WIND_TRANSLATION = 1, 17 } WindType; 18 19 // Advection - Bubble Types 20 typedef enum { 21 BUBBLE_SPHERE = 0, // dim=3 22 BUBBLE_CYLINDER = 1, // dim=2 23 BUBBLE_COSINE = 2, 24 } BubbleType; 25 26 // Advection - Bubble Continuity Types 27 typedef enum { 28 BUBBLE_CONTINUITY_SMOOTH = 0, // Original continuous, smooth shape 29 BUBBLE_CONTINUITY_BACK_SHARP = 1, // Discontinuous, sharp back half shape 30 BUBBLE_CONTINUITY_THICK = 2, // Define a finite thickness 31 } BubbleContinuityType; 32 33 typedef struct AdvectionContext_ *AdvectionContext; 34 struct AdvectionContext_ { 35 CeedScalar CtauS; 36 CeedScalar strong_form; 37 CeedScalar E_wind; 38 bool implicit; 39 StabilizationType stabilization; 40 }; 41 42 #endif /* ifndef advection_types_h */ 43