Analysis Software
Documentation for
sPHENIX
simulation software
Home page
Related Pages
Modules
Namespaces
Classes
Files
Examples
External Links
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
fld.h
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file fld.h
1
#include <iosfwd>
2
#include "
cll.h
"
3
4
class
EoS
;
5
class
TransportCoeff
;
6
class
Cornelius
;
7
8
// this class contains the information and methods related to the hydro grid
9
// 'z' direction actually denotes eta direction, as well as
10
// dz == d(eta), getZ returns eta coordinate etc.
11
class
Fluid
{
12
private
:
13
EoS
*
eos
, *
eosH
;
// equation(s) of state
14
TransportCoeff
*
trcoeff
;
// transport coefficients for visc fluid
15
Cornelius
*
cornelius
;
// instance of Cornelius to calculate the hypersurface
16
Cell
*
cell
;
// 3D hydro grid, packed in 1D array
17
Cell
*
cell0
;
// reference to cell containing all zero quantities
18
int
nx
,
ny
,
nz
;
// dimensions of the grid
19
// physical dimensions of the grid
20
double
minx
,
maxx
,
miny
,
maxy
,
minz
,
maxz
;
21
double
dx
,
dy
,
dz
,
dt
;
// physical sizes of the hydro cell and timestep
22
// double vEff, EtotSurf ; // cumulative effective volume and
23
std::ofstream
foutkw
,
foutkw_dim
,
foutxvisc
,
foutyvisc
,
foutdiagvisc
,
foutx
,
24
fouty
,
foutdiag
,
foutz
,
fout_aniz
,
fout2d
,
ffreeze
;
25
int
compress2dOut
;
26
27
public
:
28
Fluid
(
EoS
*_eos,
EoS
*_eosH,
TransportCoeff
*_trcoeff,
int
_nx,
int
_ny,
29
int
_nz,
double
_minx,
double
_maxx,
double
_miny,
double
_maxy,
30
double
_minz,
double
_maxz,
double
dt
,
double
eCrit
);
31
~Fluid
();
32
void
initOutput
(
char
*dir,
int
maxstep
,
double
tau0
,
int
cmpr2dOut);
33
int
output_xy_spacing
;
34
int
output_eta_points
;
35
int
output_tau_spacing
;
36
int
output_eta_spacing
;
37
38
int
output_nt
,
output_nx
,
output_ny
;
39
40
inline
int
getNX
() {
return
nx
; }
41
inline
int
getNY
() {
return
ny
; }
42
inline
int
getNZ
() {
return
nz
; }
43
inline
double
getDx
() {
return
dx
; }
44
inline
double
getDy
() {
return
dy
; }
45
inline
double
getDz
() {
return
dz
; }
46
inline
double
getX
(
int
ix) {
return
minx
+ ix *
dx
; }
47
inline
double
getY
(
int
iy) {
return
miny
+ iy *
dy
; }
48
inline
double
getZ
(
int
iz) {
return
minz
+ iz *
dz
; }
49
50
void
getCMFvariables
(
Cell
*
c
,
double
tau
,
double
&
e
,
double
&nb,
double
&nq,
51
double
&
ns
,
double
&
vx
,
double
&
vy
,
double
&
Y
);
52
53
inline
Cell
*
getCell
(
int
ix,
int
iy,
int
iz) {
54
ix = ix > 0 ? ix : 0;
55
ix = ix <
nx
? ix :
nx
- 1;
56
iy = iy > 0 ? iy : 0;
57
iy = iy <
ny
? iy :
ny
- 1;
58
iz = iz > 0 ? iz : 0;
59
iz = iz <
nz
? iz :
nz
- 1;
60
return
&
cell
[ix +
nx
* iy +
nx
*
ny
* iz];
61
}
62
63
void
correctImagCells
(
void
);
// only ideal hydro part
64
void
correctImagCellsFull
(
void
);
// correct ideal+visc
65
void
updateM
(
double
tau
,
double
dt
);
66
67
void
outputGnuplot
(
double
tau
);
68
void
calcTotals
(
double
tau
);
69
};
JETSCAPE
blob
main
jail
vhlle
src
fld.h
Built by
Jin Huang
. updated:
Sat Feb 17 2024 22:18:24
using
1.8.2 with
sPHENIX GitHub integration