PLUTO  4.4-patch2
shearingbox.h
Go to the documentation of this file.
1 /* ///////////////////////////////////////////////////////////////////// */
25 /* ///////////////////////////////////////////////////////////////////// */
26 
28 #if RECONSTRUCTION == LINEAR || RECONSTRUCTION == WENO3 || RECONSTRUCTION == LimO3
29  #define SB_ORDER 2
30 #else
31  #define SB_ORDER 3
32 #endif
33 
34 #ifndef FARGO
35 /* ----------------------------------------------
36  Standard shearing-box
37  ---------------------------------------------- */
38  #ifndef SB_SYMMETRIZE_HYDRO
39  #define SB_SYMMETRIZE_HYDRO YES
43  #endif
44 
45  #ifndef SB_SYMMETRIZE_EY
46  #define SB_SYMMETRIZE_EY (YES && (DIMENSIONS == 3))
49  #endif
50 
51  #ifndef SB_SYMMETRIZE_EZ
52  #define SB_SYMMETRIZE_EZ YES
55  #endif
56 
57  #define SB_FORCE_EMF_PERIODS NO
59 #else
60 /* ----------------------------------------------
61  FARGO shearing-box
62  ---------------------------------------------- */
63  #define SB_SYMMETRIZE_HYDRO NO
64  #define SB_SYMMETRIZE_EY (NO && (DIMENSIONS == 3))
65  #define SB_SYMMETRIZE_EZ NO
66  #define SB_FORCE_EMF_PERIODS NO
67 #endif
68 
69 /* ----------------------------
70  Global variables
71  ---------------------------- */
72 
73 #ifndef SB_Q
74  #define SB_Q 1.5
76 #endif
77 #ifndef SB_OMEGA
78  #define SB_OMEGA 1.0
80 #endif
81 
82 extern double sb_vy;
84 #define SB_A (-0.5*SB_OMEGA*SB_Q)
87 /* ***********************************************************
88  \cond REPEAT_FUNCTION_DOCUMENTATION_IN_HEADER_FILES
89  Function prototyping
90  *********************************************************** */
91 
92 void SB_Boundary (const Data *, int, Grid *) ;
93 void SB_ShearingInterp (double *, double *, double, int, Grid *);
94 void SB_CorrectFluxes (Data_Arr, double, double, Grid *);
95 #ifdef STAGGERED_MHD
96 void SB_CorrectEMF (EMF *, Data_Arr, Grid *);
97 #endif
98 int SB_JSHIFT (int);
99 void SB_SaveFluxes (Sweep *, Grid *);
100 void SB_SetBoundaryVar(double ***, RBox *, int, double, Grid *);
101 void SB_ShiftBoundaryVar(double ***, RBox *, int, double, Grid *);
102 void SB_FillBoundaryGhost(double ***, RBox *, int, int, Grid *);
103 
104 #ifdef PARALLEL
105  void ExchangeX (double *, double *, int, Grid *);
106 #endif
107 
108 /* \endcond */
void SB_ShearingInterp(double *qL, double *qR, double t, int side, Grid *grid)
Definition: sb_tools.c:450
Definition: structs.h:31
void SB_Boundary(const Data *d, int side, Grid *grid)
Definition: sb_boundary.c:27
Definition: structs.h:124
void SB_CorrectFluxes(Data_Arr U, double t, double dt, Grid *grid)
Definition: sb_flux.c:101
void SB_FillBoundaryGhost(double ***U, RBox *box, int nghL, int nghR, Grid *grid)
Definition: sb_tools.c:300
int SB_JSHIFT(int jc)
Definition: sb_tools.c:644
Definition: structs.h:514
void SB_ShiftBoundaryVar(double ***q, RBox *box, int side, double t, Grid *grid)
Definition: sb_tools.c:116
void ExchangeX(double *bufL, double *bufR, int nel, Grid *grid)
Definition: sb_flux.c:621
void SB_SetBoundaryVar(double ***U, RBox *box, int side, double t, Grid *grid)
Definition: sb_tools.c:38
double sb_vy
Definition: sb_boundary.c:24
Definition: structs.h:201
void SB_SaveFluxes(Sweep *sweep, Grid *grid)
Definition: sb_flux.c:57
void SB_CorrectEMF(EMF *emf, Data_Arr V0, Grid *grid)
Definition: sb_flux.c:270
Definition: structs.h:289