PLUTO
pluto.h File Reference

PLUTO main header file. More...

#include <stdio.h>
#include <stdarg.h>
#include <string.h>
#include <math.h>
#include <stdlib.h>
#include <time.h>
#include "definitions.h"
#include "macros.h"
#include "structs.h"
#include "mod_defs.h"
#include "States/plm_coeffs.h"
#include "Math_Tools/math_tools.h"
#include "eos.h"
#include "prototypes.h"
Include dependency graph for pluto.h:

Go to the source code of this file.

Macros

#define PLUTO_VERSION   "4.2"
 
#define YES   1
 
#define NO   0
 
#define DEFAULT   -1
 
#define TRUE   YES
 
#define FALSE   NO
 
#define CARTESIAN   1
 
#define CYLINDRICAL   2
 
#define POLAR   3
 
#define SPHERICAL   4
 
#define UNIFORM_GRID   1
 
#define STRETCHED_GRID   2
 
#define LOGARITHMIC_INC_GRID   3
 
#define LOGARITHMIC_DEC_GRID   4
 
#define IDEAL   1
 
#define PVTE_LAW   2
 
#define TAUB   3
 
#define BAROTROPIC   4
 
#define ISOTHERMAL   5
 
#define SELECTIVE   1
 
#define ALWAYS   2
 
#define CHOMBO_REGRID   3
 
#define EULER   1
 
#define HANCOCK   2
 
#define CHARACTERISTIC_TRACING   3
 
#define RK2   5
 
#define RK3   6
 
#define RK_MIDPOINT   7
 
#define SSP_RK4   8
 
#define EXPLICIT   1 /* -- just a number different from 0 !!! -- */
 
#define SUPER_TIME_STEPPING   2 /* -- just a number different from EXPLICIT -- */
 
#define RK_CHEBYSHEV   4
 
#define HYPERBOLIC_STEP   1
 
#define PARABOLIC_STEP   2
 
#define SOURCE_STEP   3
 
#define DBL_OUTPUT   1
 
#define FLT_OUTPUT   2
 
#define VTK_OUTPUT   3
 
#define DBL_H5_OUTPUT   4
 
#define FLT_H5_OUTPUT   5
 
#define TAB_OUTPUT   6
 
#define PPM_OUTPUT   7
 
#define PNG_OUTPUT   8
 
#define VTK_VECTOR   5 /* -- any number but NOT 1 -- */
 
#define MAX_OUTPUT_TYPES   11
 
#define MAX_OUTPUT_VARS   128
 
#define POWER_LAW   3
 
#define MINEq   4
 
#define SNEq   5
 
#define TABULATED   6
 
#define H2_COOL   7
 
#define ADVECTION   1
 
#define HD   2
 
#define RHD   3
 
#define MHD   4
 
#define RMHD   5
 
#define NONE   0
 
#define EIGHT_WAVES   1
 
#define DIV_CLEANING   2
 
#define CONSTRAINED_TRANSPORT   3
 
#define VECTOR   4 /* corresponds to 100 in binary */
 
#define POTENTIAL   8 /* corresponds to 1000 in binary */
 
#define OUTFLOW   1 /* any number except 0 !! */
 
#define REFLECTIVE   2
 
#define AXISYMMETRIC   3
 
#define EQTSYMMETRIC   4
 
#define PERIODIC   5
 
#define SHEARING   6
 
#define USERDEF   7
 
#define X12_PLANE   3
 
#define X13_PLANE   5
 
#define X23_PLANE   6
 
#define IDIR   0 /* This sequence (0,1,2) should */
 
#define JDIR   1 /* never be changed */
 
#define KDIR   2 /* */
 
#define ALL_DIR   -1
 
#define CENTER   0
 
#define X1FACE   1
 
#define X2FACE   2
 
#define X3FACE   3
 
#define CELL_CENTER   50 /* really needed ? */
 
#define FACE_CENTER   51
 
#define EDGE_CENTER   52
 
#define FLAT   1
 
#define LINEAR   2
 
#define CENO3   3
 
#define PARABOLIC   4
 
#define LINEAR_MULTID   5
 
#define MP5   6
 
#define LimO3   7
 
#define WENO3   8
 
#define SPLINE1   30 /* Used by Table2D interpolation */
 
#define SPLINE2   31 /* Used by Table2D interpolation */
 
#define WENO3_FD   103
 
#define WENO5_FD   105
 
#define WENOZ_FD   106
 
#define WENO7_FD   107
 
#define MP5_FD   125
 
#define LIMO3_FD   300
 
#define ONED   1
 
#define MULTID   3
 
#define FLAT_LIM   1
 
#define MINMOD_LIM   2
 
#define VANALBADA_LIM   3
 
#define OSPRE_LIM   4
 
#define UMIST_LIM   5
 
#define VANLEER_LIM   6
 
#define MC_LIM   7
 
#define FOURTH_ORDER_LIM   8
 
#define BACKGROUND_FIELD   NO
 
#define CHAR_LIMITING   NO
 
#define DUST   NO
 
#define ENTROPY_SWITCH   NO
 
#define EOS   -1
 
#define INCLUDE_PARTICLES   NO
 
#define RECONSTRUCT_4VEL   NO
 When set to YES, reconstruct 4-velocity rather than 3-velocity (only for RHD and RMHD physics modules) More...
 
#define RESISTIVITY   NO
 
#define ROTATING_FRAME   NO
 
#define THERMAL_CONDUCTION   NO
 
#define UNIT_DENSITY   (CONST_mp)
 Unit density in gr/cm^3. More...
 
#define UNIT_LENGTH   (CONST_au)
 Unit Length in cm. More...
 
#define UNIT_VELOCITY   (1.e5)
 Unit velocity in cm/sec. More...
 
#define UPDATE_VECTOR_POTENTIAL   NO
 
#define VISCOSITY   NO
 
#define HAVE_ENERGY   NO
 
#define KELVIN   (UNIT_VELOCITY*UNIT_VELOCITY*CONST_amu/CONST_kB)
 
#define CHECK_EIGENVECTORS   NO
 
#define CHECK_CONSERVATIVE_VAR   NO
 
#define CHECK_DIVB_CONDITION   NO
 
#define GET_MAX_DT   YES
 
#define PARABOLIC_FLUX   (RESISTIVITY|THERMAL_CONDUCTION|VISCOSITY)
 
#define H_MASS_FRAC   0.7110
 
#define He_MASS_FRAC   0.2741
 
#define Z_MASS_FRAC   (1.0 - H_MASS_FRAC - He_MASS_FRAC)
 
#define FRAC_He   (He_MASS_FRAC/CONST_AHe*CONST_AH/H_MASS_FRAC)
 
#define FRAC_Z   (Z_MASS_FRAC /CONST_AZ *CONST_AH/H_MASS_FRAC)
 
#define NIONS   0
 
#define NSCL   (NTRACER + NIONS + (ENTROPY_SWITCH != 0))
 
#define NDUST   0
 
#define NDUST_BEG   (NFLX + NSCL)
 
#define NDUST_END   (NDUST_BEG + NDUST - 1)
 
#define TRC   (NFLX + NIONS)
 
#define NVAR   (NFLX + NSCL + NDUST)
 
#define NFLX_LOOP(n)    for ((n) = NFLX; (n)--; )
 
#define NIONS_LOOP(n)    for ((n) = NFLX; (n) < (NFLX+NIONS); (n)++)
 
#define NTRACER_LOOP(n)   for ((n) = TRC; (n) < (TRC+NTRACER); (n)++)
 
#define NSCL_LOOP(n)    for ((n) = NFLX; (n) < (NFLX+NSCL); (n)++)
 
#define NDUST_LOOP(n)    for ((n) = NDUST_BEG; (n) <= NDUST_END; (n)++)
 
#define NVAR_LOOP(n)    for ((n) = NVAR; (n)--; )
 
#define IF_DUST(a)
 
#define IF_ENERGY(a)
 
#define IF_FARGO(a)
 
#define IF_ROTATING_FRAME(a)
 
#define NX1_MAX   NX1_TOT
 
#define NX2_MAX   NX2_TOT
 
#define NX3_MAX   NX3_TOT
 
Labels identifying different boundary and domain regions.

These are useful in Boundary() and when setting RBox structures in different points of the code.

#define X1_BEG   101
 Boundary region at X1 beg. More...
 
#define X1_END   102
 Boundary region at X1 end. More...
 
#define X2_BEG   103
 Boundary region at X2 beg. More...
 
#define X2_END   104
 Boundary region at X2 end. More...
 
#define X3_BEG   105
 Boundary region at X3 beg. More...
 
#define X3_END   106
 Boundary region at X3 end. More...
 
#define DOM   107
 Computational domain (interior) More...
 
#define TOT   108
 Computational domain (total) More...
 
Bit flag labels.

The following macros define the bits that can be turned on or off in an unsigned char (= 1 byte = 8 bits) variable. Different bit flags allow to enable or disable certain actions in a given cell at different points in the code, see also flag.c. The 3D unsigned char ***flag array is used for bookeeping, in each zone (i,j,k), which bits are actually switched on or off. A simple bitwise operation is used to enable a flag, e.g., flag[k][j][i] |= FLAG_XXX . For instance, by turning the FLAG_HLL bit on, we have flag = 00000100 , while by also enabling the FLAG_SPLIT_CELL one has flag = 00010100 and so on. Individual bits can also be turned off with the complement operator

Individual bits can also be turned off, e.g., flag &= ~FLAG_XXX;

#define FLAG_MINMOD   1
 Reconstruct using MINMOD limiter. More...
 
#define FLAG_FLAT   2
 Reconstruct using FLAT limiter. More...
 
#define FLAG_HLL   4
 Use HLL Riemann solver. More...
 
#define FLAG_ENTROPY   8
 Update pressure using entropy equation. More...
 
#define FLAG_SPLIT_CELL   16
 Zone is covered by a finer level (AMR only). More...
 
#define FLAG_INTERNAL_BOUNDARY   32
 Zone belongs to an internal boundary region and should be excluded from being updated in time. More...
 
#define FLAG_CONS2PRIM_FAIL   64
 
#define FLAG_BIT8   128
 
Physical constants in c.g.s units.

The following set of macros express some useful physical constants in c.g.s units (erg, cm and sec). Values have been taken from http://physic.nist.gov/cuu/Constants/index.html

#define CONST_AH   1.008
 
#define CONST_AHe   4.004
 Atomic weight of Helium. More...
 
#define CONST_AZ   30.0
 Mean atomic weight of heavy elements. More...
 
#define CONST_amu   1.66053886e-24
 Atomic mass unit. More...
 
#define CONST_au   1.49597892e13
 Astronomical unit. More...
 
#define CONST_c   2.99792458e10
 Speed of Light. More...
 
#define CONST_eV   1.602176463158e-12
 Electron Volt in erg. More...
 
#define CONST_G   6.6726e-8
 Gravitational Constant. More...
 
#define CONST_h   6.62606876e-27
 Planck Constant. More...
 
#define CONST_kB   1.3806505e-16
 Boltzmann constant. More...
 
#define CONST_ly   0.9461e18
 Light year. More...
 
#define CONST_mp   1.67262171e-24
 Proton mass. More...
 
#define CONST_mn   1.67492728e-24
 Neutron mass. More...
 
#define CONST_me   9.1093826e-28
 Electron mass. More...
 
#define CONST_mH   1.6733e-24
 Hydrogen atom mass. More...
 
#define CONST_Msun   2.e33
 Solar Mass. More...
 
#define CONST_Mearth   5.9736e27
 Earth Mass. More...
 
#define CONST_NA   6.0221367e23
 Avogadro Contant. More...
 
#define CONST_pc   3.0856775807e18
 Parsec. More...
 
#define CONST_PI   3.14159265358979
 $ \pi $. More...
 
#define CONST_Rearth   6.378136e8
 Earth Radius. More...
 
#define CONST_Rsun   6.96e10
 Solar Radius. More...
 
#define CONST_sigma   5.67051e-5
 Stephan Boltmann constant. More...
 
#define CONST_sigmaT   6.6524e-25
 Thomson Cross section. More...
 

Typedefs

typedef double real
 
typedef void Riemann_Solver(const State_1D *, int, int, double *, Grid *)
 
typedef void Limiter(double *, double *, double *, int, int, Grid *)
 
typedef double Reconstruct(double *, double, int)
 
typedef double **** Data_Arr
 

Variables

int SZ
 
int SZ_stagx
 
int SZ_stagy
 
int SZ_stagz
 
int SZ_char
 
int SZ_float
 
int SZ_Float_Vect
 
int SZ_rgb
 
int SZ_short
 
int prank
 Processor rank. More...
 
long int IBEG
 Lower grid index of the computational domain in the the X1 direction for the local processor. More...
 
long int IEND
 Upper grid index of the computational domain in the the X1 direction for the local processor. More...
 
long int JBEG
 Lower grid index of the computational domain in the the X2 direction for the local processor. More...
 
long int JEND
 Upper grid index of the computational domain in the the X2 direction for the local processor. More...
 
long int KBEG
 Lower grid index of the computational domain in the the X3 direction for the local processor. More...
 
long int KEND
 Upper grid index of the computational domain in the the X3 direction for the local processor. More...
 
long int NX1
 Number of interior zones in the X1 directions (boundaries excluded) for the local processor. More...
 
long int NX2
 Number of interior zones in the X2 directions (boundaries excluded) for the local processor. More...
 
long int NX3
 Number of interior zones in the X3 directions (boundaries excluded) for the local processor. More...
 
long int NX1_TOT
 Total number of zones in the X1 direction (boundaries included) for the local processor. More...
 
long int NX2_TOT
 Total number of zones in the X2 direction (boundaries included) for the local processor. More...
 
long int NX3_TOT
 Total number of zones in the X3 direction (boundaries included) for the local processor. More...
 
long int NMAX_POINT
 Maximum number of points among the three directions, boundaries excluded. More...
 
int VXn
 
int VXt
 
int VXb
 
int MXn
 
int MXt
 
int MXb
 
int BXn
 
int BXt
 
int BXb
 
int g_i
 x1 grid index when sweeping along the x2 or x3 direction. More...
 
int g_j
 x2 grid index when sweeping along the x1 or x3 direction. More...
 
int g_k
 x3 grid index when sweeping along the x1 or x2 direction. More...
 
int g_dir
 Specifies the current sweep or direction of integration. More...
 
int g_maxRiemannIter
 Maximum number of iterations for iterative Riemann Solver. More...
 
int g_maxRootIter
 Maximum number of iterations for root finder. More...
 
long int g_usedMemory
 Amount of used memory in bytes. More...
 
long int g_stepNumber
 Gives the current integration step number. More...
 
int g_intStage
 Gives the current integration stage of the time stepping method (predictor = 0, 1st corrector = 1, and so on). More...
 
int g_operatorStep
 Gives the current operator step. More...
 
double g_maxCoolingRate
 The maximum fractional variation due to cooling from one step to the next. More...
 
double g_minCoolingTemp
 The minimum temperature (in K) below which cooling is suppressed. More...
 
double g_smallDensity
 Small value for density fix. More...
 
double g_smallPressure
 Small value for pressure fix. More...
 
double g_time
 The current integration time. More...
 
double g_dt
 The current integration time step. More...
 
double g_maxMach
 The maximum Mach number computed during integration. More...
 
double g_domBeg [3]
 Lower limits of the computational domain. More...
 
double g_domEnd [3]
 Upper limits of the computational domain. More...
 
double g_inputParam [32]
 Array containing the user-defined parameters. More...
 

Detailed Description

PLUTO main header file.

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

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

Definition in file pluto.h.

Macro Definition Documentation

#define ADVECTION   1

Definition at line 108 of file pluto.h.

#define ALL_DIR   -1

Definition at line 196 of file pluto.h.

#define ALWAYS   2

Definition at line 54 of file pluto.h.

#define AXISYMMETRIC   3

Definition at line 135 of file pluto.h.

#define BACKGROUND_FIELD   NO

Definition at line 289 of file pluto.h.

#define BAROTROPIC   4

Definition at line 48 of file pluto.h.

#define CARTESIAN   1

Definition at line 33 of file pluto.h.

#define CELL_CENTER   50 /* really needed ? */

Definition at line 205 of file pluto.h.

#define CENO3   3

Definition at line 213 of file pluto.h.

#define CENTER   0

Definition at line 200 of file pluto.h.

#define CHAR_LIMITING   NO

Definition at line 293 of file pluto.h.

#define CHARACTERISTIC_TRACING   3

Definition at line 61 of file pluto.h.

#define CHECK_CONSERVATIVE_VAR   NO

Definition at line 416 of file pluto.h.

#define CHECK_DIVB_CONDITION   NO

Definition at line 422 of file pluto.h.

#define CHECK_EIGENVECTORS   NO

Definition at line 411 of file pluto.h.

#define CHOMBO_REGRID   3

Definition at line 55 of file pluto.h.

#define CONST_AH   1.008

Atomic weight of Hydrogen

Definition at line 250 of file pluto.h.

#define CONST_AHe   4.004

Atomic weight of Helium.

Definition at line 251 of file pluto.h.

#define CONST_amu   1.66053886e-24

Atomic mass unit.

Definition at line 253 of file pluto.h.

#define CONST_au   1.49597892e13

Astronomical unit.

Definition at line 254 of file pluto.h.

#define CONST_AZ   30.0

Mean atomic weight of heavy elements.

Definition at line 252 of file pluto.h.

#define CONST_c   2.99792458e10

Speed of Light.

Definition at line 255 of file pluto.h.

#define CONST_eV   1.602176463158e-12

Electron Volt in erg.

Definition at line 256 of file pluto.h.

#define CONST_G   6.6726e-8

Gravitational Constant.

Definition at line 257 of file pluto.h.

#define CONST_h   6.62606876e-27

Planck Constant.

Definition at line 258 of file pluto.h.

#define CONST_kB   1.3806505e-16

Boltzmann constant.

Definition at line 259 of file pluto.h.

#define CONST_ly   0.9461e18

Light year.

Definition at line 260 of file pluto.h.

#define CONST_me   9.1093826e-28

Electron mass.

Definition at line 263 of file pluto.h.

#define CONST_Mearth   5.9736e27

Earth Mass.

Definition at line 266 of file pluto.h.

#define CONST_mH   1.6733e-24

Hydrogen atom mass.

Definition at line 264 of file pluto.h.

#define CONST_mn   1.67492728e-24

Neutron mass.

Definition at line 262 of file pluto.h.

#define CONST_mp   1.67262171e-24

Proton mass.

Definition at line 261 of file pluto.h.

#define CONST_Msun   2.e33

Solar Mass.

Definition at line 265 of file pluto.h.

#define CONST_NA   6.0221367e23

Avogadro Contant.

Definition at line 267 of file pluto.h.

#define CONST_pc   3.0856775807e18

Parsec.

Definition at line 268 of file pluto.h.

#define CONST_PI   3.14159265358979

$ \pi $.

Definition at line 269 of file pluto.h.

#define CONST_Rearth   6.378136e8

Earth Radius.

Definition at line 270 of file pluto.h.

#define CONST_Rsun   6.96e10

Solar Radius.

Definition at line 271 of file pluto.h.

#define CONST_sigma   5.67051e-5

Stephan Boltmann constant.

Definition at line 272 of file pluto.h.

#define CONST_sigmaT   6.6524e-25

Thomson Cross section.

Definition at line 273 of file pluto.h.

#define CONSTRAINED_TRANSPORT   3

Definition at line 122 of file pluto.h.

#define CYLINDRICAL   2

Definition at line 34 of file pluto.h.

#define DBL_H5_OUTPUT   4

Definition at line 82 of file pluto.h.

#define DBL_OUTPUT   1

Definition at line 79 of file pluto.h.

#define DEFAULT   -1

Definition at line 27 of file pluto.h.

#define DIV_CLEANING   2

Definition at line 121 of file pluto.h.

#define DOM   107

Computational domain (interior)

Definition at line 152 of file pluto.h.

#define DUST   NO

Definition at line 333 of file pluto.h.

#define EDGE_CENTER   52

Definition at line 207 of file pluto.h.

#define EIGHT_WAVES   1

Definition at line 120 of file pluto.h.

#define ENTROPY_SWITCH   NO

Definition at line 337 of file pluto.h.

#define EOS   -1

Definition at line 341 of file pluto.h.

#define EQTSYMMETRIC   4

Definition at line 136 of file pluto.h.

#define EULER   1

Definition at line 59 of file pluto.h.

#define EXPLICIT   1 /* -- just a number different from 0 !!! -- */

Definition at line 67 of file pluto.h.

#define FACE_CENTER   51

Definition at line 206 of file pluto.h.

#define FALSE   NO

Definition at line 29 of file pluto.h.

#define FLAG_BIT8   128

Definition at line 190 of file pluto.h.

#define FLAG_CONS2PRIM_FAIL   64

Definition at line 189 of file pluto.h.

#define FLAG_ENTROPY   8

Update pressure using entropy equation.

Definition at line 182 of file pluto.h.

#define FLAG_FLAT   2

Reconstruct using FLAT limiter.

Definition at line 180 of file pluto.h.

#define FLAG_HLL   4

Use HLL Riemann solver.

Definition at line 181 of file pluto.h.

#define FLAG_INTERNAL_BOUNDARY   32

Zone belongs to an internal boundary region and should be excluded from being updated in time.

Definition at line 184 of file pluto.h.

#define FLAG_MINMOD   1

Reconstruct using MINMOD limiter.

Definition at line 179 of file pluto.h.

#define FLAG_SPLIT_CELL   16

Zone is covered by a finer level (AMR only).

Definition at line 183 of file pluto.h.

#define FLAT   1

Definition at line 211 of file pluto.h.

#define FLAT_LIM   1

Definition at line 234 of file pluto.h.

#define FLT_H5_OUTPUT   5

Definition at line 83 of file pluto.h.

#define FLT_OUTPUT   2

Definition at line 80 of file pluto.h.

#define FOURTH_ORDER_LIM   8

Definition at line 241 of file pluto.h.

#define FRAC_He   (He_MASS_FRAC/CONST_AHe*CONST_AH/H_MASS_FRAC)

Definition at line 555 of file pluto.h.

#define FRAC_Z   (Z_MASS_FRAC /CONST_AZ *CONST_AH/H_MASS_FRAC)

Definition at line 556 of file pluto.h.

#define GET_MAX_DT   YES

Definition at line 448 of file pluto.h.

#define H2_COOL   7

Definition at line 104 of file pluto.h.

#define H_MASS_FRAC   0.7110

Definition at line 542 of file pluto.h.

#define HANCOCK   2

Definition at line 60 of file pluto.h.

#define HAVE_ENERGY   NO

Definition at line 395 of file pluto.h.

#define HD   2

Definition at line 109 of file pluto.h.

#define He_MASS_FRAC   0.2741

Definition at line 551 of file pluto.h.

#define HYPERBOLIC_STEP   1

Definition at line 73 of file pluto.h.

#define IDEAL   1

Definition at line 45 of file pluto.h.

#define IDIR   0 /* This sequence (0,1,2) should */

Definition at line 193 of file pluto.h.

#define IF_DUST (   a)

Definition at line 625 of file pluto.h.

#define IF_ENERGY (   a)

Definition at line 631 of file pluto.h.

#define IF_FARGO (   a)

Definition at line 637 of file pluto.h.

#define IF_ROTATING_FRAME (   a)

Definition at line 643 of file pluto.h.

#define INCLUDE_PARTICLES   NO

Definition at line 345 of file pluto.h.

#define ISOTHERMAL   5

Definition at line 49 of file pluto.h.

#define JDIR   1 /* never be changed */

Definition at line 194 of file pluto.h.

#define KDIR   2 /* */

Definition at line 195 of file pluto.h.

Define the conversion constant between dimensionless temperature prs/rho and physical temperature in Kelvin, T = (prs/rho)*KELVIN*mu

Definition at line 401 of file pluto.h.

#define LimO3   7

Definition at line 217 of file pluto.h.

#define LIMO3_FD   300

Definition at line 227 of file pluto.h.

#define LINEAR   2

Definition at line 212 of file pluto.h.

#define LINEAR_MULTID   5

Definition at line 215 of file pluto.h.

#define LOGARITHMIC_DEC_GRID   4

Definition at line 41 of file pluto.h.

#define LOGARITHMIC_INC_GRID   3

Definition at line 40 of file pluto.h.

#define MAX_OUTPUT_TYPES   11

The maximum number of output file formats is fixed to 11 so that the size of runtime structure (defined below) is 64 bytes. This should prevent, for some compilers, attempts to change the alignment of the structure and therefore troubleshooting when restarting from files written on different architectures.

Definition at line 95 of file pluto.h.

#define MAX_OUTPUT_VARS   128

Definition at line 96 of file pluto.h.

#define MC_LIM   7

Definition at line 240 of file pluto.h.

#define MHD   4

Definition at line 111 of file pluto.h.

#define MINEq   4

Definition at line 101 of file pluto.h.

#define MINMOD_LIM   2

Definition at line 235 of file pluto.h.

#define MP5   6

Definition at line 216 of file pluto.h.

#define MP5_FD   125

Definition at line 226 of file pluto.h.

#define MULTID   3

Definition at line 230 of file pluto.h.

#define NDUST   0

Definition at line 575 of file pluto.h.

#define NDUST_BEG   (NFLX + NSCL)

Definition at line 577 of file pluto.h.

#define NDUST_END   (NDUST_BEG + NDUST - 1)

Definition at line 578 of file pluto.h.

#define NDUST_LOOP (   n)    for ((n) = NDUST_BEG; (n) <= NDUST_END; (n)++)

Definition at line 617 of file pluto.h.

#define NFLX_LOOP (   n)    for ((n) = NFLX; (n)--; )

Definition at line 613 of file pluto.h.

#define NIONS   0

Definition at line 560 of file pluto.h.

#define NIONS_LOOP (   n)    for ((n) = NFLX; (n) < (NFLX+NIONS); (n)++)

Definition at line 614 of file pluto.h.

#define NO   0

Definition at line 26 of file pluto.h.

#define NONE   0

Definition at line 119 of file pluto.h.

#define NSCL   (NTRACER + NIONS + (ENTROPY_SWITCH != 0))

The number of scalars (passive tracers). This includes

  • NTRACER (user-supplied)
  • NIONS chemical fractions (added by cooling modules)
  • Entropy In total, there are NSCL = NIONS+NTRACER+(ENTROPY passive scalar to be advected.

Definition at line 572 of file pluto.h.

#define NSCL_LOOP (   n)    for ((n) = NFLX; (n) < (NFLX+NSCL); (n)++)

Definition at line 616 of file pluto.h.

#define NTRACER_LOOP (   n)    for ((n) = TRC; (n) < (TRC+NTRACER); (n)++)

Definition at line 615 of file pluto.h.

#define NVAR   (NFLX + NSCL + NDUST)

The total number of variables that are evolved in time. This includes:

  • NFLX: number of equations defining the system of conservation laws. For example, for the HD module, it consists of density, momentum and energy. It is defined in the physics module header file mod_defs.h.
  • NIONS: number of chemical species; defined in the cooling modules cooling.h, if present.
  • NTRACER: number of user-defined tracers; defined in the problem directory header file definitions.h
           NFLX    NIONS    NTRACER    ENTR    NDUST
                   <---------------------->
                              NSCL
           <--------------------------------------->
                    NVAR
    

Definition at line 609 of file pluto.h.

#define NVAR_LOOP (   n)    for ((n) = NVAR; (n)--; )

Definition at line 618 of file pluto.h.

#define NX1_MAX   NX1_TOT

Definition at line 741 of file pluto.h.

#define NX2_MAX   NX2_TOT

Definition at line 742 of file pluto.h.

#define NX3_MAX   NX3_TOT

Definition at line 743 of file pluto.h.

#define ONED   1

Definition at line 229 of file pluto.h.

#define OSPRE_LIM   4

Definition at line 237 of file pluto.h.

#define OUTFLOW   1 /* any number except 0 !! */

Definition at line 133 of file pluto.h.

#define PARABOLIC   4

Definition at line 214 of file pluto.h.

#define PARABOLIC_FLUX   (RESISTIVITY|THERMAL_CONDUCTION|VISCOSITY)

Definition at line 466 of file pluto.h.

#define PARABOLIC_STEP   2

Definition at line 74 of file pluto.h.

#define PERIODIC   5

Definition at line 137 of file pluto.h.

#define PLUTO_VERSION   "4.2"

Definition at line 16 of file pluto.h.

#define PNG_OUTPUT   8

Definition at line 86 of file pluto.h.

#define POLAR   3

Definition at line 35 of file pluto.h.

#define POTENTIAL   8 /* corresponds to 1000 in binary */

Definition at line 129 of file pluto.h.

#define POWER_LAW   3

Definition at line 100 of file pluto.h.

#define PPM_OUTPUT   7

Definition at line 85 of file pluto.h.

#define PVTE_LAW   2

Definition at line 46 of file pluto.h.

#define RECONSTRUCT_4VEL   NO

When set to YES, reconstruct 4-velocity rather than 3-velocity (only for RHD and RMHD physics modules)

Definition at line 349 of file pluto.h.

#define REFLECTIVE   2

Definition at line 134 of file pluto.h.

#define RESISTIVITY   NO

Definition at line 357 of file pluto.h.

#define RHD   3

Definition at line 110 of file pluto.h.

#define RK2   5

Definition at line 62 of file pluto.h.

#define RK3   6

Definition at line 63 of file pluto.h.

#define RK_CHEBYSHEV   4

Definition at line 69 of file pluto.h.

#define RK_MIDPOINT   7

Definition at line 64 of file pluto.h.

#define RMHD   5

Definition at line 112 of file pluto.h.

#define ROTATING_FRAME   NO

Definition at line 361 of file pluto.h.

#define SELECTIVE   1

Definition at line 53 of file pluto.h.

#define SHEARING   6

Definition at line 138 of file pluto.h.

#define SNEq   5

Definition at line 102 of file pluto.h.

#define SOURCE_STEP   3

Definition at line 75 of file pluto.h.

#define SPHERICAL   4

Definition at line 36 of file pluto.h.

#define SPLINE1   30 /* Used by Table2D interpolation */

Definition at line 219 of file pluto.h.

#define SPLINE2   31 /* Used by Table2D interpolation */

Definition at line 220 of file pluto.h.

#define SSP_RK4   8

Definition at line 65 of file pluto.h.

#define STRETCHED_GRID   2

Definition at line 39 of file pluto.h.

#define SUPER_TIME_STEPPING   2 /* -- just a number different from EXPLICIT -- */

Definition at line 68 of file pluto.h.

#define TAB_OUTPUT   6

Definition at line 84 of file pluto.h.

#define TABULATED   6

Definition at line 103 of file pluto.h.

#define TAUB   3

Definition at line 47 of file pluto.h.

#define THERMAL_CONDUCTION   NO

Definition at line 365 of file pluto.h.

#define TOT   108

Computational domain (total)

Definition at line 153 of file pluto.h.

#define TRC   (NFLX + NIONS)

Definition at line 581 of file pluto.h.

#define TRUE   YES

Definition at line 28 of file pluto.h.

#define UMIST_LIM   5

Definition at line 238 of file pluto.h.

#define UNIFORM_GRID   1

Definition at line 38 of file pluto.h.

#define UNIT_DENSITY   (CONST_mp)

Unit density in gr/cm^3.

Definition at line 369 of file pluto.h.

#define UNIT_LENGTH   (CONST_au)

Unit Length in cm.

Definition at line 373 of file pluto.h.

#define UNIT_VELOCITY   (1.e5)

Unit velocity in cm/sec.

Definition at line 377 of file pluto.h.

#define UPDATE_VECTOR_POTENTIAL   NO

Definition at line 381 of file pluto.h.

#define USERDEF   7

Definition at line 139 of file pluto.h.

#define VANALBADA_LIM   3

Definition at line 236 of file pluto.h.

#define VANLEER_LIM   6

Definition at line 239 of file pluto.h.

#define VECTOR   4 /* corresponds to 100 in binary */

Definition at line 128 of file pluto.h.

#define VISCOSITY   NO

Definition at line 385 of file pluto.h.

#define VTK_OUTPUT   3

Definition at line 81 of file pluto.h.

#define VTK_VECTOR   5 /* -- any number but NOT 1 -- */

Definition at line 88 of file pluto.h.

#define WENO3   8

Definition at line 218 of file pluto.h.

#define WENO3_FD   103

Definition at line 222 of file pluto.h.

#define WENO5_FD   105

Definition at line 223 of file pluto.h.

#define WENO7_FD   107

Definition at line 225 of file pluto.h.

#define WENOZ_FD   106

Definition at line 224 of file pluto.h.

#define X12_PLANE   3

Definition at line 158 of file pluto.h.

#define X13_PLANE   5

Definition at line 159 of file pluto.h.

#define X1_BEG   101

Boundary region at X1 beg.

Definition at line 146 of file pluto.h.

#define X1_END   102

Boundary region at X1 end.

Definition at line 147 of file pluto.h.

#define X1FACE   1

Definition at line 201 of file pluto.h.

#define X23_PLANE   6

Definition at line 160 of file pluto.h.

#define X2_BEG   103

Boundary region at X2 beg.

Definition at line 148 of file pluto.h.

#define X2_END   104

Boundary region at X2 end.

Definition at line 149 of file pluto.h.

#define X2FACE   2

Definition at line 202 of file pluto.h.

#define X3_BEG   105

Boundary region at X3 beg.

Definition at line 150 of file pluto.h.

#define X3_END   106

Boundary region at X3 end.

Definition at line 151 of file pluto.h.

#define X3FACE   3

Definition at line 203 of file pluto.h.

#define YES   1

Definition at line 25 of file pluto.h.

#define Z_MASS_FRAC   (1.0 - H_MASS_FRAC - He_MASS_FRAC)

Definition at line 554 of file pluto.h.

Typedef Documentation

typedef double**** Data_Arr

Definition at line 492 of file pluto.h.

typedef void Limiter(double *, double *, double *, int, int, Grid *)

Definition at line 490 of file pluto.h.

typedef double real

Definition at line 488 of file pluto.h.

typedef double Reconstruct(double *, double, int)

Definition at line 491 of file pluto.h.

typedef void Riemann_Solver(const State_1D *, int, int, double *, Grid *)

Definition at line 489 of file pluto.h.

Variable Documentation

int BXb

Definition at line 75 of file globals.h.

int BXn

Definition at line 75 of file globals.h.

int BXt

Definition at line 75 of file globals.h.

int g_dir

Specifies the current sweep or direction of integration.

Its value is set usually in the time stepping functions and can take the values

  • IDIR, for integration in the X1 dir;
  • JDIR, for integration in the X2 dir;
  • KDIR, for integration in the X3 dir;

Definition at line 86 of file globals.h.

double g_domBeg[3]

Lower limits of the computational domain.

Definition at line 125 of file globals.h.

double g_domEnd[3]

Upper limits of the computational domain.

Definition at line 126 of file globals.h.

double g_dt

The current integration time step.

Definition at line 118 of file globals.h.

int g_i

x1 grid index when sweeping along the x2 or x3 direction.

Definition at line 82 of file globals.h.

double g_inputParam[32]

Array containing the user-defined parameters.

The index names of this array are defined in definitions.h through the python interface.

Definition at line 131 of file globals.h.

int g_intStage

Gives the current integration stage of the time stepping method (predictor = 0, 1st corrector = 1, and so on).

Definition at line 98 of file globals.h.

int g_j

x2 grid index when sweeping along the x1 or x3 direction.

Definition at line 83 of file globals.h.

int g_k

x3 grid index when sweeping along the x1 or x2 direction.

Definition at line 84 of file globals.h.

double g_maxCoolingRate

The maximum fractional variation due to cooling from one step to the next.

Definition at line 104 of file globals.h.

double g_maxMach

The maximum Mach number computed during integration.

Definition at line 119 of file globals.h.

int g_maxRiemannIter

Maximum number of iterations for iterative Riemann Solver.

Definition at line 93 of file globals.h.

int g_maxRootIter

Maximum number of iterations for root finder.

Definition at line 95 of file globals.h.

double g_minCoolingTemp

The minimum temperature (in K) below which cooling is suppressed.

Definition at line 106 of file globals.h.

int g_operatorStep

Gives the current operator step.

(HYPERBOLIC_STEP/PARABOLIC_STEP/SOURCE_STEP).

Definition at line 101 of file globals.h.

double g_smallDensity

Small value for density fix.

Definition at line 109 of file globals.h.

double g_smallPressure

Small value for pressure fix.

Definition at line 110 of file globals.h.

long int g_stepNumber

Gives the current integration step number.

Definition at line 97 of file globals.h.

double g_time

The current integration time.

Definition at line 117 of file globals.h.

long int g_usedMemory

Amount of used memory in bytes.

Definition at line 96 of file globals.h.

long int IBEG

Lower grid index of the computational domain in the the X1 direction for the local processor.

Definition at line 35 of file globals.h.

long int IEND

Upper grid index of the computational domain in the the X1 direction for the local processor.

Definition at line 37 of file globals.h.

long int JBEG

Lower grid index of the computational domain in the the X2 direction for the local processor.

Definition at line 39 of file globals.h.

long int JEND

Upper grid index of the computational domain in the the X2 direction for the local processor.

Definition at line 41 of file globals.h.

long int KBEG

Lower grid index of the computational domain in the the X3 direction for the local processor.

Definition at line 43 of file globals.h.

long int KEND

Upper grid index of the computational domain in the the X3 direction for the local processor.

Definition at line 45 of file globals.h.

int MXb

Definition at line 74 of file globals.h.

int MXn

Definition at line 74 of file globals.h.

int MXt

Definition at line 74 of file globals.h.

long int NMAX_POINT

Maximum number of points among the three directions, boundaries excluded.

Definition at line 62 of file globals.h.

long int NX1

Number of interior zones in the X1 directions (boundaries excluded) for the local processor.

Definition at line 48 of file globals.h.

long int NX1_TOT

Total number of zones in the X1 direction (boundaries included) for the local processor.

Definition at line 55 of file globals.h.

long int NX2

Number of interior zones in the X2 directions (boundaries excluded) for the local processor.

Definition at line 50 of file globals.h.

long int NX2_TOT

Total number of zones in the X2 direction (boundaries included) for the local processor.

Definition at line 57 of file globals.h.

long int NX3

Number of interior zones in the X3 directions (boundaries excluded) for the local processor.

Definition at line 52 of file globals.h.

long int NX3_TOT

Total number of zones in the X3 direction (boundaries included) for the local processor.

Definition at line 59 of file globals.h.

int prank

Processor rank.

In serial mode it is defined to be 0.

Definition at line 33 of file globals.h.

int SZ

Definition at line 23 of file globals.h.

int SZ_char

Definition at line 28 of file globals.h.

int SZ_float

Definition at line 27 of file globals.h.

int SZ_Float_Vect

Definition at line 29 of file globals.h.

int SZ_rgb

Definition at line 30 of file globals.h.

int SZ_short

Definition at line 31 of file globals.h.

int SZ_stagx

Definition at line 24 of file globals.h.

int SZ_stagy

Definition at line 25 of file globals.h.

int SZ_stagz

Definition at line 26 of file globals.h.

int VXb

Definition at line 73 of file globals.h.

int VXn

Definition at line 73 of file globals.h.

int VXt

Definition at line 73 of file globals.h.