PLUTO
mod_defs.h File Reference

Set labels, indexes and prototypes for the MHD module. More...

Go to the source code of this file.

Macros

#define RHO   0
 
#define MX1   1
 
#define MX2   (COMPONENTS >= 2 ? 2: 255)
 
#define MX3   (COMPONENTS == 3 ? 3: 255)
 
#define BX1   (COMPONENTS + 1)
 
#define BX2   (COMPONENTS >= 2 ? (BX1+1): 255)
 
#define BX3   (COMPONENTS == 3 ? (BX1+2): 255)
 
#define PSI_GLM   (2*COMPONENTS + 1 + HAVE_ENERGY)
 
#define VX1   MX1
 
#define VX2   MX2
 
#define VX3   MX3
 
#define NFLX   (1 + 2*COMPONENTS + HAVE_ENERGY + (DIVB_CONTROL == DIV_CLEANING))
 
#define AX   AX1
 
#define AY   AX2
 
#define AZ   AX3
 
#define VX   VX1
 
#define VY   VX2
 
#define VZ   VX3
 
#define MX   MX1
 
#define MY   MX2
 
#define MZ   MX3
 
#define BX   BX1
 
#define BY   BX2
 
#define BZ   BX3
 
#define iVR   VX1
 
#define iVZ   VX2
 
#define iVPHI   VX3
 
#define iMR   MX1
 
#define iMZ   MX2
 
#define iMPHI   MX3
 
#define iBR   BX1
 
#define iBZ   BX2
 
#define iBPHI   BX3
 
#define iVR   VX1
 
#define iVPHI   VX2
 
#define iVZ   VX3
 
#define iMR   MX1
 
#define iMPHI   MX2
 
#define iMZ   MX3
 
#define iBR   BX1
 
#define iBPHI   BX2
 
#define iBZ   BX3
 
#define iVR   VX1
 
#define iVTH   VX2
 
#define iVPHI   VX3
 
#define iMR   MX1
 
#define iMTH   MX2
 
#define iMPHI   MX3
 
#define iBR   BX1
 
#define iBTH   BX2
 
#define iBPHI   BX3
 
Vector Potential Labels

These may only be used in the STARTUP / INIT functions. They're convenient in obtaining a discretization that preserve the divergence-free condition (for staggered field) or if you simply wish to initialize the magnetic field from the vector potential.

#define AX1   (NVAR + 1)
 
#define AX2   (NVAR + 2)
 
#define AX3   (NVAR + 3)
 

Enumerations

enum  KWAVES {
  KSOUNDM, KSOUNDP, KFASTM, KFASTP,
  KPSI_GLMM, KPSI_GLMP, KFASTM, KFASTP,
  KENTRP, KPSI_GLMM, KPSI_GLMP
}
 

Detailed Description

Set labels, indexes and prototypes for the MHD module.

Contains basic macro definitions, structure definitions and global variable declarations used by the MHD module.

Author
A. Mignone (migno.nosp@m.ne@p.nosp@m.h.uni.nosp@m.to.i.nosp@m.t)
Date
April, 2, 2015

Definition in file mod_defs.h.

Macro Definition Documentation

#define AX   AX1

Definition at line 90 of file mod_defs.h.

#define AX1   (NVAR + 1)

Definition at line 85 of file mod_defs.h.

#define AX2   (NVAR + 2)

Definition at line 86 of file mod_defs.h.

#define AX3   (NVAR + 3)

Definition at line 87 of file mod_defs.h.

#define AY   AX2

Definition at line 91 of file mod_defs.h.

#define AZ   AX3

Definition at line 92 of file mod_defs.h.

#define BX   BX1

Definition at line 108 of file mod_defs.h.

#define BX1   (COMPONENTS + 1)

Definition at line 25 of file mod_defs.h.

#define BX2   (COMPONENTS >= 2 ? (BX1+1): 255)

Definition at line 26 of file mod_defs.h.

#define BX3   (COMPONENTS == 3 ? (BX1+2): 255)

Definition at line 27 of file mod_defs.h.

#define BY   BX2

Definition at line 109 of file mod_defs.h.

#define BZ   BX3

Definition at line 110 of file mod_defs.h.

#define iBPHI   BX3

Definition at line 152 of file mod_defs.h.

#define iBPHI   BX2

Definition at line 152 of file mod_defs.h.

#define iBPHI   BX3

Definition at line 152 of file mod_defs.h.

#define iBR   BX1

Definition at line 150 of file mod_defs.h.

#define iBR   BX1

Definition at line 150 of file mod_defs.h.

#define iBR   BX1

Definition at line 150 of file mod_defs.h.

#define iBTH   BX2

Definition at line 151 of file mod_defs.h.

#define iBZ   BX2

Definition at line 138 of file mod_defs.h.

#define iBZ   BX3

Definition at line 138 of file mod_defs.h.

#define iMPHI   MX3

Definition at line 148 of file mod_defs.h.

#define iMPHI   MX2

Definition at line 148 of file mod_defs.h.

#define iMPHI   MX3

Definition at line 148 of file mod_defs.h.

#define iMR   MX1

Definition at line 146 of file mod_defs.h.

#define iMR   MX1

Definition at line 146 of file mod_defs.h.

#define iMR   MX1

Definition at line 146 of file mod_defs.h.

#define iMTH   MX2

Definition at line 147 of file mod_defs.h.

#define iMZ   MX2

Definition at line 134 of file mod_defs.h.

#define iMZ   MX3

Definition at line 134 of file mod_defs.h.

#define iVPHI   VX3

Definition at line 144 of file mod_defs.h.

#define iVPHI   VX2

Definition at line 144 of file mod_defs.h.

#define iVPHI   VX3

Definition at line 144 of file mod_defs.h.

#define iVR   VX1

Definition at line 142 of file mod_defs.h.

#define iVR   VX1

Definition at line 142 of file mod_defs.h.

#define iVR   VX1

Definition at line 142 of file mod_defs.h.

#define iVTH   VX2

Definition at line 143 of file mod_defs.h.

#define iVZ   VX2

Definition at line 130 of file mod_defs.h.

#define iVZ   VX3

Definition at line 130 of file mod_defs.h.

#define MX   MX1

Definition at line 104 of file mod_defs.h.

#define MX1   1

Definition at line 22 of file mod_defs.h.

#define MX2   (COMPONENTS >= 2 ? 2: 255)

Definition at line 23 of file mod_defs.h.

#define MX3   (COMPONENTS == 3 ? 3: 255)

Definition at line 24 of file mod_defs.h.

#define MY   MX2

Definition at line 105 of file mod_defs.h.

#define MZ   MX3

Definition at line 106 of file mod_defs.h.

#define NFLX   (1 + 2*COMPONENTS + HAVE_ENERGY + (DIVB_CONTROL == DIV_CLEANING))

Definition at line 41 of file mod_defs.h.

#define PSI_GLM   (2*COMPONENTS + 1 + HAVE_ENERGY)

Definition at line 34 of file mod_defs.h.

#define RHO   0

Definition at line 20 of file mod_defs.h.

#define VX   VX1

Definition at line 100 of file mod_defs.h.

#define VX1   MX1

Definition at line 37 of file mod_defs.h.

#define VX2   MX2

Definition at line 38 of file mod_defs.h.

#define VX3   MX3

Definition at line 39 of file mod_defs.h.

#define VY   VX2

Definition at line 101 of file mod_defs.h.

#define VZ   VX3

Definition at line 102 of file mod_defs.h.

Enumeration Type Documentation

enum KWAVES

Label the different waves in increasing order following the number of vector components.

IMPORTANT: the KPSI_GLMM & KPSI_GLMP modes are present only in the MHD-GLM formulation. We keep them at the END of the enumeration so we can skip them in unnecessary loops. Please do NOT change them !

Enumerator
KSOUNDM 
KSOUNDP 
KFASTM 
KFASTP 
KPSI_GLMM 
KPSI_GLMP 
KFASTM 
KFASTP 
KENTRP 
KPSI_GLMM 
KPSI_GLMP 

Definition at line 57 of file mod_defs.h.

57  {
58  KFASTM, KFASTP
59  #if HAVE_ENERGY
60  , KENTRP
61  #endif
62 
63  #if DIVB_CONTROL != DIV_CLEANING
64  , KDIVB
65  #endif
66 
67  #if COMPONENTS >= 2
68  , KSLOWM, KSLOWP
69  #if COMPONENTS == 3
70  , KALFVM, KALFVP
71  #endif
72  #endif
73 
74  #if DIVB_CONTROL == DIV_CLEANING
76  #endif
77 };