Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
V
VirtualFluids
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package Registry
Container Registry
Model registry
Operate
Environments
Terraform modules
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
iRMB
VirtualFluids
Commits
f6647fd7
Commit
f6647fd7
authored
1 year ago
by
Soeren Peters
Browse files
Options
Downloads
Patches
Plain Diff
Remove underscores from K17 Kernel:
https://git.rz.tu-bs.de/irmb/VirtualFluids_dev/-/issues/113
parent
a1b8c8da
No related branches found
No related tags found
1 merge request
!282
Feature/rename collision k17
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
src/lbm/collision/K17CompressibleNavierStokes.h
+253
-252
253 additions, 252 deletions
src/lbm/collision/K17CompressibleNavierStokes.h
with
253 additions
and
252 deletions
src/lbm/collision/K17CompressibleNavierStokes.h
+
253
−
252
View file @
f6647fd7
...
...
@@ -84,64 +84,64 @@ __host__ __device__ void runK17CompressibleNavierStokes(CollisionParameter& para
{
auto
&
distribution
=
parameter
.
distribution
;
real
f
_
000
=
distribution
[
d000
];
real
f
_
P00
=
distribution
[
dP00
];
real
f
_
M00
=
distribution
[
dM00
];
real
f
_
0P0
=
distribution
[
d0P0
];
real
f
_
0M0
=
distribution
[
d0M0
];
real
f
_
00P
=
distribution
[
d00P
];
real
f
_
00M
=
distribution
[
d00M
];
real
f
_
PP0
=
distribution
[
dPP0
];
real
f
_
MM0
=
distribution
[
dMM0
];
real
f
_
PM0
=
distribution
[
dPM0
];
real
f
_
MP0
=
distribution
[
dMP0
];
real
f
_
P0P
=
distribution
[
dP0P
];
real
f
_
M0M
=
distribution
[
dM0M
];
real
f
_
P0M
=
distribution
[
dP0M
];
real
f
_
M0P
=
distribution
[
dM0P
];
real
f
_
0PP
=
distribution
[
d0PP
];
real
f
_
0MM
=
distribution
[
d0MM
];
real
f
_
0PM
=
distribution
[
d0PM
];
real
f
_
0MP
=
distribution
[
d0MP
];
real
f
_
PPP
=
distribution
[
dPPP
];
real
f
_
MPP
=
distribution
[
dMPP
];
real
f
_
PMP
=
distribution
[
dPMP
];
real
f
_
MMP
=
distribution
[
dMMP
];
real
f
_
PPM
=
distribution
[
dPPM
];
real
f
_
MPM
=
distribution
[
dMPM
];
real
f
_
PMM
=
distribution
[
dPMM
];
real
f
_
MMM
=
distribution
[
dMMM
];
real
f000
=
distribution
[
d000
];
real
fP00
=
distribution
[
dP00
];
real
fM00
=
distribution
[
dM00
];
real
f0P0
=
distribution
[
d0P0
];
real
f0M0
=
distribution
[
d0M0
];
real
f00P
=
distribution
[
d00P
];
real
f00M
=
distribution
[
d00M
];
real
fPP0
=
distribution
[
dPP0
];
real
fMM0
=
distribution
[
dMM0
];
real
fPM0
=
distribution
[
dPM0
];
real
fMP0
=
distribution
[
dMP0
];
real
fP0P
=
distribution
[
dP0P
];
real
fM0M
=
distribution
[
dM0M
];
real
fP0M
=
distribution
[
dP0M
];
real
fM0P
=
distribution
[
dM0P
];
real
f0PP
=
distribution
[
d0PP
];
real
f0MM
=
distribution
[
d0MM
];
real
f0PM
=
distribution
[
d0PM
];
real
f0MP
=
distribution
[
d0MP
];
real
fPPP
=
distribution
[
dPPP
];
real
fMPP
=
distribution
[
dMPP
];
real
fPMP
=
distribution
[
dPMP
];
real
fMMP
=
distribution
[
dMMP
];
real
fPPM
=
distribution
[
dPPM
];
real
fMPM
=
distribution
[
dMPM
];
real
fPMM
=
distribution
[
dPMM
];
real
fMMM
=
distribution
[
dMMM
];
////////////////////////////////////////////////////////////////////////////////////
//! - Define aliases to use the same variable for the moments (m's):
//!
real
&
m
_
111
=
f
_
000
;
real
&
m
_
211
=
f
_
P00
;
real
&
m
_
011
=
f
_
M00
;
real
&
m
_
121
=
f
_
0P0
;
real
&
m
_
101
=
f
_
0M0
;
real
&
m
_
112
=
f
_
00P
;
real
&
m
_
110
=
f
_
00M
;
real
&
m
_
221
=
f
_
PP0
;
real
&
m
_
001
=
f
_
MM0
;
real
&
m
_
201
=
f
_
PM0
;
real
&
m
_
021
=
f
_
MP0
;
real
&
m
_
212
=
f
_
P0P
;
real
&
m
_
010
=
f
_
M0M
;
real
&
m
_
210
=
f
_
P0M
;
real
&
m
_
012
=
f
_
M0P
;
real
&
m
_
122
=
f
_
0PP
;
real
&
m
_
100
=
f
_
0MM
;
real
&
m
_
120
=
f
_
0PM
;
real
&
m
_
102
=
f
_
0MP
;
real
&
m
_
222
=
f
_
PPP
;
real
&
m
_
022
=
f
_
MPP
;
real
&
m
_
202
=
f
_
PMP
;
real
&
m
_
002
=
f
_
MMP
;
real
&
m
_
220
=
f
_
PPM
;
real
&
m
_
020
=
f
_
MPM
;
real
&
m
_
200
=
f
_
PMM
;
real
&
m
_
000
=
f
_
MMM
;
real
&
m111
=
f000
;
real
&
m211
=
fP00
;
real
&
m011
=
fM00
;
real
&
m121
=
f0P0
;
real
&
m101
=
f0M0
;
real
&
m112
=
f00P
;
real
&
m110
=
f00M
;
real
&
m221
=
fPP0
;
real
&
m001
=
fMM0
;
real
&
m201
=
fPM0
;
real
&
m021
=
fMP0
;
real
&
m212
=
fP0P
;
real
&
m010
=
fM0M
;
real
&
m210
=
fP0M
;
real
&
m012
=
fM0P
;
real
&
m122
=
f0PP
;
real
&
m100
=
f0MM
;
real
&
m120
=
f0PM
;
real
&
m102
=
f0MP
;
real
&
m222
=
fPPP
;
real
&
m022
=
fMPP
;
real
&
m202
=
fPMP
;
real
&
m002
=
fMMP
;
real
&
m220
=
fPPM
;
real
&
m020
=
fMPM
;
real
&
m200
=
fPMM
;
real
&
m000
=
fMMM
;
//////////////////////////////////////////////////////(unsigned long)//////////////////////////////
//! - Calculate density and velocity using pyramid summation for low round-off errors as in Eq. (J1)-(J3) \ref
...
...
@@ -182,57 +182,57 @@ __host__ __device__ void runK17CompressibleNavierStokes(CollisionParameter& para
//!
////////////////////////////////////////////////////////////////////////////////////
// Z - Dir
forwardInverseChimeraWithK
(
f
_
MMM
,
f
_
MM0
,
f
_
MMP
,
vvz
,
vz2
,
c36o1
,
c1o36
);
forwardInverseChimeraWithK
(
f
_
M0M
,
f
_
M00
,
f
_
M0P
,
vvz
,
vz2
,
c9o1
,
c1o9
);
forwardInverseChimeraWithK
(
f
_
MPM
,
f
_
MP0
,
f
_
MPP
,
vvz
,
vz2
,
c36o1
,
c1o36
);
forwardInverseChimeraWithK
(
f
_
0MM
,
f
_
0M0
,
f
_
0MP
,
vvz
,
vz2
,
c9o1
,
c1o9
);
forwardInverseChimeraWithK
(
f
_
00M
,
f
_
000
,
f
_
00P
,
vvz
,
vz2
,
c9o4
,
c4o9
);
forwardInverseChimeraWithK
(
f
_
0PM
,
f
_
0P0
,
f
_
0PP
,
vvz
,
vz2
,
c9o1
,
c1o9
);
forwardInverseChimeraWithK
(
f
_
PMM
,
f
_
PM0
,
f
_
PMP
,
vvz
,
vz2
,
c36o1
,
c1o36
);
forwardInverseChimeraWithK
(
f
_
P0M
,
f
_
P00
,
f
_
P0P
,
vvz
,
vz2
,
c9o1
,
c1o9
);
forwardInverseChimeraWithK
(
f
_
PPM
,
f
_
PP0
,
f
_
PPP
,
vvz
,
vz2
,
c36o1
,
c1o36
);
forwardInverseChimeraWithK
(
fMMM
,
fMM0
,
fMMP
,
vvz
,
vz2
,
c36o1
,
c1o36
);
forwardInverseChimeraWithK
(
fM0M
,
fM00
,
fM0P
,
vvz
,
vz2
,
c9o1
,
c1o9
);
forwardInverseChimeraWithK
(
fMPM
,
fMP0
,
fMPP
,
vvz
,
vz2
,
c36o1
,
c1o36
);
forwardInverseChimeraWithK
(
f0MM
,
f0M0
,
f0MP
,
vvz
,
vz2
,
c9o1
,
c1o9
);
forwardInverseChimeraWithK
(
f00M
,
f000
,
f00P
,
vvz
,
vz2
,
c9o4
,
c4o9
);
forwardInverseChimeraWithK
(
f0PM
,
f0P0
,
f0PP
,
vvz
,
vz2
,
c9o1
,
c1o9
);
forwardInverseChimeraWithK
(
fPMM
,
fPM0
,
fPMP
,
vvz
,
vz2
,
c36o1
,
c1o36
);
forwardInverseChimeraWithK
(
fP0M
,
fP00
,
fP0P
,
vvz
,
vz2
,
c9o1
,
c1o9
);
forwardInverseChimeraWithK
(
fPPM
,
fPP0
,
fPPP
,
vvz
,
vz2
,
c36o1
,
c1o36
);
////////////////////////////////////////////////////////////////////////////////////
// Y - Dir
forwardInverseChimeraWithK
(
f
_
MMM
,
f
_
M0M
,
f
_
MPM
,
vvy
,
vy2
,
c6o1
,
c1o6
);
forwardChimera
(
f
_
MM0
,
f
_
M00
,
f
_
MP0
,
vvy
,
vy2
);
forwardInverseChimeraWithK
(
f
_
MMP
,
f
_
M0P
,
f
_
MPP
,
vvy
,
vy2
,
c18o1
,
c1o18
);
forwardInverseChimeraWithK
(
f
_
0MM
,
f
_
00M
,
f
_
0PM
,
vvy
,
vy2
,
c3o2
,
c2o3
);
forwardChimera
(
f
_
0M0
,
f
_
000
,
f
_
0P0
,
vvy
,
vy2
);
forwardInverseChimeraWithK
(
f
_
0MP
,
f
_
00P
,
f
_
0PP
,
vvy
,
vy2
,
c9o2
,
c2o9
);
forwardInverseChimeraWithK
(
f
_
PMM
,
f
_
P0M
,
f
_
PPM
,
vvy
,
vy2
,
c6o1
,
c1o6
);
forwardChimera
(
f
_
PM0
,
f
_
P00
,
f
_
PP0
,
vvy
,
vy2
);
forwardInverseChimeraWithK
(
f
_
PMP
,
f
_
P0P
,
f
_
PPP
,
vvy
,
vy2
,
c18o1
,
c1o18
);
forwardInverseChimeraWithK
(
fMMM
,
fM0M
,
fMPM
,
vvy
,
vy2
,
c6o1
,
c1o6
);
forwardChimera
(
fMM0
,
fM00
,
fMP0
,
vvy
,
vy2
);
forwardInverseChimeraWithK
(
fMMP
,
fM0P
,
fMPP
,
vvy
,
vy2
,
c18o1
,
c1o18
);
forwardInverseChimeraWithK
(
f0MM
,
f00M
,
f0PM
,
vvy
,
vy2
,
c3o2
,
c2o3
);
forwardChimera
(
f0M0
,
f000
,
f0P0
,
vvy
,
vy2
);
forwardInverseChimeraWithK
(
f0MP
,
f00P
,
f0PP
,
vvy
,
vy2
,
c9o2
,
c2o9
);
forwardInverseChimeraWithK
(
fPMM
,
fP0M
,
fPPM
,
vvy
,
vy2
,
c6o1
,
c1o6
);
forwardChimera
(
fPM0
,
fP00
,
fPP0
,
vvy
,
vy2
);
forwardInverseChimeraWithK
(
fPMP
,
fP0P
,
fPPP
,
vvy
,
vy2
,
c18o1
,
c1o18
);
////////////////////////////////////////////////////////////////////////////////////
// X - Dir
forwardInverseChimeraWithK
(
f
_
MMM
,
f
_
0MM
,
f
_
PMM
,
vvx
,
vx2
,
c1o1
,
c1o1
);
forwardChimera
(
f
_
M0M
,
f
_
00M
,
f
_
P0M
,
vvx
,
vx2
);
forwardInverseChimeraWithK
(
f
_
MPM
,
f
_
0PM
,
f
_
PPM
,
vvx
,
vx2
,
c3o1
,
c1o3
);
forwardChimera
(
f
_
MM0
,
f
_
0M0
,
f
_
PM0
,
vvx
,
vx2
);
forwardChimera
(
f
_
M00
,
f
_
000
,
f
_
P00
,
vvx
,
vx2
);
forwardChimera
(
f
_
MP0
,
f
_
0P0
,
f
_
PP0
,
vvx
,
vx2
);
forwardInverseChimeraWithK
(
f
_
MMP
,
f
_
0MP
,
f
_
PMP
,
vvx
,
vx2
,
c3o1
,
c1o3
);
forwardChimera
(
f
_
M0P
,
f
_
00P
,
f
_
P0P
,
vvx
,
vx2
);
forwardInverseChimeraWithK
(
f
_
MPP
,
f
_
0PP
,
f
_
PPP
,
vvx
,
vx2
,
c3o1
,
c1o9
);
forwardInverseChimeraWithK
(
fMMM
,
f0MM
,
fPMM
,
vvx
,
vx2
,
c1o1
,
c1o1
);
forwardChimera
(
fM0M
,
f00M
,
fP0M
,
vvx
,
vx2
);
forwardInverseChimeraWithK
(
fMPM
,
f0PM
,
fPPM
,
vvx
,
vx2
,
c3o1
,
c1o3
);
forwardChimera
(
fMM0
,
f0M0
,
fPM0
,
vvx
,
vx2
);
forwardChimera
(
fM00
,
f000
,
fP00
,
vvx
,
vx2
);
forwardChimera
(
fMP0
,
f0P0
,
fPP0
,
vvx
,
vx2
);
forwardInverseChimeraWithK
(
fMMP
,
f0MP
,
fPMP
,
vvx
,
vx2
,
c3o1
,
c1o3
);
forwardChimera
(
fM0P
,
f00P
,
fP0P
,
vvx
,
vx2
);
forwardInverseChimeraWithK
(
fMPP
,
f0PP
,
fPPP
,
vvx
,
vx2
,
c3o1
,
c1o9
);
////////////////////////////////////////////////////////////////////////////////////
//! - Setting relaxation rates for non-hydrodynamic cumulants (default values). Variable names and equations
//! according to <a href="https://doi.org/10.1016/j.jcp.2017.05.040"><b>[ M. Geier et al. (2017),
//! DOI:10.1016/j.jcp.2017.05.040 ]</b></a>
//! => [NAME IN PAPER]=[NAME IN CODE]=[DEFAULT VALUE].
//! - Trace of second order cumulants \f$ C
_
{200}+C
_
{020}+C
_
{002} \f$ used to adjust bulk
//! viscosity:\f$\omega
_
2=OxxPyyPzz=1.0 \f$.
//! - Third order cumulants \f$ C
_
{120}+C
_
{102}, C
_
{210}+C
_
{012}, C
_
{201}+C
_
{021} \f$: \f$ \omega
_
3=OxyyPxzz
//! \f$ set according to Eq. (111) with simplifications assuming \f$ \omega
_
2=1.0\f$.
//! - Third order cumulants \f$ C
_
{120}-C
_
{102}, C
_
{210}-C
_
{012}, C
_
{201}-C
_
{021} \f$: \f$ \omega
_
4 = OxyyMxzz
//! \f$ set according to Eq. (112) with simplifications assuming \f$ \omega
_
2 = 1.0\f$.
//! - Third order cumulants \f$ C
_
{111} \f$: \f$ \omega
_
5 = Oxyz \f$ set according to Eq. (113) with
//! simplifications assuming \f$ \omega
_
2 = 1.0\f$ (modify for different bulk viscosity).
//! - Fourth order cumulants \f$ C
_
{220}, C
_
{202}, C
_
{022}, C
_
{211}, C
_
{121}, C
_
{112} \f$: for simplification
//! all set to the same default value \f$ \omega
_
6=\omega
_
7=\omega
_
8=O4=1.0 \f$.
//! - Fifth order cumulants \f$ C
_
{221}, C
_
{212}, C
_
{122}\f$: \f$\omega
_
9=O5=1.0\f$.
//! - Sixth order cumulant \f$ C
_
{222}\f$: \f$\omega
_
{10}=O6=1.0\f$.
//! - Trace of second order cumulants \f$ C{200}+C{020}+C{002} \f$ used to adjust bulk
//! viscosity:\f$\omega2=OxxPyyPzz=1.0 \f$.
//! - Third order cumulants \f$ C{120}+C{102}, C{210}+C{012}, C{201}+C{021} \f$: \f$ \omega3=OxyyPxzz
//! \f$ set according to Eq. (111) with simplifications assuming \f$ \omega2=1.0\f$.
//! - Third order cumulants \f$ C{120}-C{102}, C{210}-C{012}, C{201}-C{021} \f$: \f$ \omega4 = OxyyMxzz
//! \f$ set according to Eq. (112) with simplifications assuming \f$ \omega2 = 1.0\f$.
//! - Third order cumulants \f$ C{111} \f$: \f$ \omega5 = Oxyz \f$ set according to Eq. (113) with
//! simplifications assuming \f$ \omega2 = 1.0\f$ (modify for different bulk viscosity).
//! - Fourth order cumulants \f$ C{220}, C{202}, C{022}, C{211}, C{121}, C{112} \f$: for simplification
//! all set to the same default value \f$ \omega6=\omega7=\omega8=O4=1.0 \f$.
//! - Fifth order cumulants \f$ C{221}, C{212}, C{122}\f$: \f$\omega9=O5=1.0\f$.
//! - Sixth order cumulant \f$ C{222}\f$: \f$\omega{10}=O6=1.0\f$.
//!
////////////////////////////////////////////////////////////////////////////////////
//! - Calculate modified omega with turbulent viscosity
...
...
@@ -274,39 +274,39 @@ __host__ __device__ void runK17CompressibleNavierStokes(CollisionParameter& para
//!
////////////////////////////////////////////////////////////
// 4.
real
c
_
211
=
m
_
211
-
((
m
_
200
+
c1o3
)
*
m
_
011
+
c2o1
*
m
_
110
*
m
_
101
)
*
oneOverRho
;
real
c
_
121
=
m
_
121
-
((
m
_
020
+
c1o3
)
*
m
_
101
+
c2o1
*
m
_
110
*
m
_
011
)
*
oneOverRho
;
real
c
_
112
=
m
_
112
-
((
m
_
002
+
c1o3
)
*
m
_
110
+
c2o1
*
m
_
101
*
m
_
011
)
*
oneOverRho
;
real
c
m
211
=
m211
-
((
m200
+
c1o3
)
*
m011
+
c2o1
*
m110
*
m101
)
*
oneOverRho
;
real
c
m
121
=
m121
-
((
m020
+
c1o3
)
*
m101
+
c2o1
*
m110
*
m011
)
*
oneOverRho
;
real
c
m
112
=
m112
-
((
m002
+
c1o3
)
*
m110
+
c2o1
*
m101
*
m011
)
*
oneOverRho
;
real
c
_
220
=
m
_
220
-
(((
m
_
200
*
m
_
020
+
c2o1
*
m
_
110
*
m
_
110
)
+
c1o3
*
(
m
_
200
+
m
_
020
))
*
oneOverRho
-
c1o9
*
(
drho
*
oneOverRho
));
real
c
_
202
=
m
_
202
-
(((
m
_
200
*
m
_
002
+
c2o1
*
m
_
101
*
m
_
101
)
+
c1o3
*
(
m
_
200
+
m
_
002
))
*
oneOverRho
-
c1o9
*
(
drho
*
oneOverRho
));
real
c
_
022
=
m
_
022
-
(((
m
_
002
*
m
_
020
+
c2o1
*
m
_
011
*
m
_
011
)
+
c1o3
*
(
m
_
002
+
m
_
020
))
*
oneOverRho
-
c1o9
*
(
drho
*
oneOverRho
));
real
c
m
220
=
m220
-
(((
m200
*
m020
+
c2o1
*
m110
*
m110
)
+
c1o3
*
(
m200
+
m020
))
*
oneOverRho
-
c1o9
*
(
drho
*
oneOverRho
));
real
c
m
202
=
m202
-
(((
m200
*
m002
+
c2o1
*
m101
*
m101
)
+
c1o3
*
(
m200
+
m002
))
*
oneOverRho
-
c1o9
*
(
drho
*
oneOverRho
));
real
c
m
022
=
m022
-
(((
m002
*
m020
+
c2o1
*
m011
*
m011
)
+
c1o3
*
(
m002
+
m020
))
*
oneOverRho
-
c1o9
*
(
drho
*
oneOverRho
));
////////////////////////////////////////////////////////////
// 5.
real
c
_
122
=
m
_
122
-
((
m
_
002
*
m
_
120
+
m
_
020
*
m
_
102
+
c4o1
*
m
_
011
*
m
_
111
+
c2o1
*
(
m
_
101
*
m
_
021
+
m
_
110
*
m
_
012
))
+
c1o3
*
(
m
_
120
+
m
_
102
))
*
real
c
m
122
=
m122
-
((
m002
*
m120
+
m020
*
m102
+
c4o1
*
m011
*
m111
+
c2o1
*
(
m101
*
m021
+
m110
*
m012
))
+
c1o3
*
(
m120
+
m102
))
*
oneOverRho
;
real
c
_
212
=
m
_
212
-
((
m
_
002
*
m
_
210
+
m
_
200
*
m
_
012
+
c4o1
*
m
_
101
*
m
_
111
+
c2o1
*
(
m
_
011
*
m
_
201
+
m
_
110
*
m
_
102
))
+
c1o3
*
(
m
_
210
+
m
_
012
))
*
real
c
m
212
=
m212
-
((
m002
*
m210
+
m200
*
m012
+
c4o1
*
m101
*
m111
+
c2o1
*
(
m011
*
m201
+
m110
*
m102
))
+
c1o3
*
(
m210
+
m012
))
*
oneOverRho
;
real
c
_
221
=
m
_
221
-
((
m
_
200
*
m
_
021
+
m
_
020
*
m
_
201
+
c4o1
*
m
_
110
*
m
_
111
+
c2o1
*
(
m
_
101
*
m
_
120
+
m
_
011
*
m
_
210
))
+
c1o3
*
(
m
_
021
+
m
_
201
))
*
real
c
m
221
=
m221
-
((
m200
*
m021
+
m020
*
m201
+
c4o1
*
m110
*
m111
+
c2o1
*
(
m101
*
m120
+
m011
*
m210
))
+
c1o3
*
(
m021
+
m201
))
*
oneOverRho
;
////////////////////////////////////////////////////////////
// 6.
real
c
_
222
=
m
_
222
+
((
-
c4o1
*
m
_
111
*
m
_
111
-
(
m
_
200
*
m
_
022
+
m
_
020
*
m
_
202
+
m
_
002
*
m
_
220
)
-
c4o1
*
(
m
_
011
*
m
_
211
+
m
_
101
*
m
_
121
+
m
_
110
*
m
_
112
)
-
c2o1
*
(
m
_
120
*
m
_
102
+
m
_
210
*
m
_
012
+
m
_
201
*
m
_
021
))
*
real
c
m
222
=
m222
+
((
-
c4o1
*
m111
*
m111
-
(
m200
*
m022
+
m020
*
m202
+
m002
*
m220
)
-
c4o1
*
(
m011
*
m211
+
m101
*
m121
+
m110
*
m112
)
-
c2o1
*
(
m120
*
m102
+
m210
*
m012
+
m201
*
m021
))
*
oneOverRho
+
(
c4o1
*
(
m
_
101
*
m
_
101
*
m
_
020
+
m
_
011
*
m
_
011
*
m
_
200
+
m
_
110
*
m
_
110
*
m
_
002
)
+
c2o1
*
(
m
_
200
*
m
_
020
*
m
_
002
)
+
c16o1
*
m
_
110
*
m
_
101
*
m
_
011
)
*
(
c4o1
*
(
m101
*
m101
*
m020
+
m011
*
m011
*
m200
+
m110
*
m110
*
m002
)
+
c2o1
*
(
m200
*
m020
*
m002
)
+
c16o1
*
m110
*
m101
*
m011
)
*
oneOverRho
*
oneOverRho
-
c1o3
*
(
m
_
022
+
m
_
202
+
m
_
220
)
*
oneOverRho
-
c1o9
*
(
m
_
200
+
m
_
020
+
m
_
002
)
*
oneOverRho
+
(
c2o1
*
(
m
_
101
*
m
_
101
+
m
_
011
*
m
_
011
+
m
_
110
*
m
_
110
)
+
(
m
_
002
*
m
_
020
+
m
_
002
*
m
_
200
+
m
_
020
*
m
_
200
)
+
c1o3
*
(
m
_
002
+
m
_
020
+
m
_
200
))
*
c1o3
*
(
m022
+
m202
+
m220
)
*
oneOverRho
-
c1o9
*
(
m200
+
m020
+
m002
)
*
oneOverRho
+
(
c2o1
*
(
m101
*
m101
+
m011
*
m011
+
m110
*
m110
)
+
(
m002
*
m020
+
m002
*
m200
+
m020
*
m200
)
+
c1o3
*
(
m002
+
m020
+
m200
))
*
oneOverRho
*
oneOverRho
*
c2o3
+
c1o27
*
((
drho
*
drho
-
drho
)
*
oneOverRho
*
oneOverRho
));
...
...
@@ -315,19 +315,19 @@ __host__ __device__ void runK17CompressibleNavierStokes(CollisionParameter& para
//!
////////////////////////////////////////////////////////////
// 2.
real
mxxPyyPzz
=
m
_
200
+
m
_
020
+
m
_
002
;
real
mxxMyy
=
m
_
200
-
m
_
020
;
real
mxxMzz
=
m
_
200
-
m
_
002
;
real
mxxPyyPzz
=
m200
+
m020
+
m002
;
real
mxxMyy
=
m200
-
m020
;
real
mxxMzz
=
m200
-
m002
;
////////////////////////////////////////////////////////////
// 3.
real
mxxyPyzz
=
m
_
210
+
m
_
012
;
real
mxxyMyzz
=
m
_
210
-
m
_
012
;
real
mxxyPyzz
=
m210
+
m012
;
real
mxxyMyzz
=
m210
-
m012
;
real
mxxzPyyz
=
m
_
201
+
m
_
021
;
real
mxxzMyyz
=
m
_
201
-
m
_
021
;
real
mxxzPyyz
=
m201
+
m021
;
real
mxxzMyyz
=
m201
-
m021
;
real
mxyyPxzz
=
m
_
120
+
m
_
102
;
real
mxyyMxzz
=
m
_
120
-
m
_
102
;
real
mxyyPxzz
=
m120
+
m102
;
real
mxyyMxzz
=
m120
-
m102
;
////////////////////////////////////////////////////////////////////////////////////
// incl. correction
...
...
@@ -339,34 +339,35 @@ __host__ __device__ void runK17CompressibleNavierStokes(CollisionParameter& para
//! DOI:10.1016/j.camwa.2015.05.001 ]</b></a> Note that the division by rho is omitted here as we need rho times
//! the gradients later.
//!
real
Dxy
=
-
c3o1
*
omega
*
m
_
110
;
real
Dxz
=
-
c3o1
*
omega
*
m
_
101
;
real
Dyz
=
-
c3o1
*
omega
*
m
_
011
;
real
dxux
=
c1o2
*
(
-
omega
)
*
(
mxxMyy
+
mxxMzz
)
+
c1o2
*
OxxPyyPzz
*
(
m
_
000
-
mxxPyyPzz
);
real
Dxy
=
-
c3o1
*
omega
*
m110
;
real
Dxz
=
-
c3o1
*
omega
*
m101
;
real
Dyz
=
-
c3o1
*
omega
*
m011
;
real
dxux
=
c1o2
*
(
-
omega
)
*
(
mxxMyy
+
mxxMzz
)
+
c1o2
*
OxxPyyPzz
*
(
m000
-
mxxPyyPzz
);
real
dyuy
=
dxux
+
omega
*
c3o2
*
mxxMyy
;
real
dzuz
=
dxux
+
omega
*
c3o2
*
mxxMzz
;
////////////////////////////////////////////////////////////////////////////////////
switch
(
turbulenceModel
)
{
case
TurbulenceModel
::
None
:
case
TurbulenceModel
::
AMD
:
//AMD is computed in separate kernel
break
;
case
TurbulenceModel
::
Smagorinsky
:
turbulentViscosity
.
value
=
calcTurbulentViscositySmagorinsky
(
turbulentViscosity
.
SGSconstant
,
dxux
,
dyuy
,
dzuz
,
Dxy
,
Dxz
,
Dyz
);
break
;
case
TurbulenceModel
::
QR
:
turbulentViscosity
.
value
=
calcTurbulentViscosityQR
(
turbulentViscosity
.
SGSconstant
,
dxux
,
dyuy
,
dzuz
,
Dxy
,
Dxz
,
Dyz
);
break
;
default:
break
;
switch
(
turbulenceModel
)
{
case
TurbulenceModel
::
None
:
case
TurbulenceModel
::
AMD
:
// AMD is computed in separate kernel
break
;
case
TurbulenceModel
::
Smagorinsky
:
turbulentViscosity
.
value
=
calcTurbulentViscositySmagorinsky
(
turbulentViscosity
.
SGSconstant
,
dxux
,
dyuy
,
dzuz
,
Dxy
,
Dxz
,
Dyz
);
break
;
case
TurbulenceModel
::
QR
:
turbulentViscosity
.
value
=
calcTurbulentViscosityQR
(
turbulentViscosity
.
SGSconstant
,
dxux
,
dyuy
,
dzuz
,
Dxy
,
Dxz
,
Dyz
);
break
;
default:
break
;
}
////////////////////////////////////////////////////////////
//! - Relaxation of second order cumulants with correction terms according to Eq. (33)-(35) in
//! <a href="https://doi.org/10.1016/j.jcp.2017.05.040"><b>[ M. Geier et al. (2017),
//! DOI:10.1016/j.jcp.2017.05.040 ]</b></a>
//!
mxxPyyPzz
+=
OxxPyyPzz
*
(
m
_
000
-
mxxPyyPzz
)
-
c3o1
*
(
c1o1
-
c1o2
*
OxxPyyPzz
)
*
(
vx2
*
dxux
+
vy2
*
dyuy
+
vz2
*
dzuz
);
mxxPyyPzz
+=
OxxPyyPzz
*
(
m000
-
mxxPyyPzz
)
-
c3o1
*
(
c1o1
-
c1o2
*
OxxPyyPzz
)
*
(
vx2
*
dxux
+
vy2
*
dyuy
+
vz2
*
dzuz
);
mxxMyy
+=
omega
*
(
-
mxxMyy
)
-
c3o1
*
(
c1o1
+
c1o2
*
(
-
omega
))
*
(
vx2
*
dxux
-
vy2
*
dyuy
);
mxxMzz
+=
omega
*
(
-
mxxMzz
)
-
c3o1
*
(
c1o1
+
c1o2
*
(
-
omega
))
*
(
vx2
*
dxux
-
vz2
*
dzuz
);
...
...
@@ -376,9 +377,9 @@ __host__ __device__ void runK17CompressibleNavierStokes(CollisionParameter& para
// mxxMyy += -(-omega) * (-mxxMyy);
// mxxMzz += -(-omega) * (-mxxMzz);
//////////////////////////////////////////////////////////////////////////
m
_
011
+=
omega
*
(
-
m
_
011
);
m
_
101
+=
omega
*
(
-
m
_
101
);
m
_
110
+=
omega
*
(
-
m
_
110
);
m011
+=
omega
*
(
-
m011
);
m101
+=
omega
*
(
-
m101
);
m110
+=
omega
*
(
-
m110
);
////////////////////////////////////////////////////////////////////////////////////
// relax
...
...
@@ -388,8 +389,8 @@ __host__ __device__ void runK17CompressibleNavierStokes(CollisionParameter& para
//! <a href="https://doi.org/10.1016/j.jcp.2017.05.040"><b>[ M. Geier et al. (2017),
//! DOI:10.1016/j.jcp.2017.05.040 ]</b></a>
//!
real
wadjust
=
Oxyz
+
(
c1o1
-
Oxyz
)
*
KERNEL_ABS
(
m
_
111
)
/
(
KERNEL_ABS
(
m
_
111
)
+
quadricLimitD
);
m
_
111
+=
wadjust
*
(
-
m
_
111
);
real
wadjust
=
Oxyz
+
(
c1o1
-
Oxyz
)
*
KERNEL_ABS
(
m111
)
/
(
KERNEL_ABS
(
m111
)
+
quadricLimitD
);
m111
+=
wadjust
*
(
-
m111
);
wadjust
=
OxyyPxzz
+
(
c1o1
-
OxyyPxzz
)
*
KERNEL_ABS
(
mxxyPyzz
)
/
(
KERNEL_ABS
(
mxxyPyzz
)
+
quadricLimitP
);
mxxyPyzz
+=
wadjust
*
(
-
mxxyPyzz
);
wadjust
=
OxyyMxzz
+
(
c1o1
-
OxyyMxzz
)
*
KERNEL_ABS
(
mxxyMyzz
)
/
(
KERNEL_ABS
(
mxxyMyzz
)
+
quadricLimitM
);
...
...
@@ -415,16 +416,16 @@ __host__ __device__ void runK17CompressibleNavierStokes(CollisionParameter& para
////////////////////////////////////////////////////////////////////////////////////
//! - Compute inverse linear combinations of second and third order cumulants
//!
m
_
200
=
c1o3
*
(
mxxMyy
+
mxxMzz
+
mxxPyyPzz
);
m
_
020
=
c1o3
*
(
-
c2o1
*
mxxMyy
+
mxxMzz
+
mxxPyyPzz
);
m
_
002
=
c1o3
*
(
mxxMyy
-
c2o1
*
mxxMzz
+
mxxPyyPzz
);
m
_
210
=
(
mxxyMyzz
+
mxxyPyzz
)
*
c1o2
;
m
_
012
=
(
-
mxxyMyzz
+
mxxyPyzz
)
*
c1o2
;
m
_
201
=
(
mxxzMyyz
+
mxxzPyyz
)
*
c1o2
;
m
_
021
=
(
-
mxxzMyyz
+
mxxzPyyz
)
*
c1o2
;
m
_
120
=
(
mxyyMxzz
+
mxyyPxzz
)
*
c1o2
;
m
_
102
=
(
-
mxyyMxzz
+
mxyyPxzz
)
*
c1o2
;
m200
=
c1o3
*
(
mxxMyy
+
mxxMzz
+
mxxPyyPzz
);
m020
=
c1o3
*
(
-
c2o1
*
mxxMyy
+
mxxMzz
+
mxxPyyPzz
);
m002
=
c1o3
*
(
mxxMyy
-
c2o1
*
mxxMzz
+
mxxPyyPzz
);
m210
=
(
mxxyMyzz
+
mxxyPyzz
)
*
c1o2
;
m012
=
(
-
mxxyMyzz
+
mxxyPyzz
)
*
c1o2
;
m201
=
(
mxxzMyyz
+
mxxzPyyz
)
*
c1o2
;
m021
=
(
-
mxxzMyyz
+
mxxzPyyz
)
*
c1o2
;
m120
=
(
mxyyMxzz
+
mxyyPxzz
)
*
c1o2
;
m102
=
(
-
mxyyMxzz
+
mxyyPxzz
)
*
c1o2
;
//////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////
...
...
@@ -434,23 +435,23 @@ __host__ __device__ void runK17CompressibleNavierStokes(CollisionParameter& para
//! to Eq. (43)-(48) <a href="https://doi.org/10.1016/j.jcp.2017.05.040"><b>[ M. Geier et al. (2017),
//! DOI:10.1016/j.jcp.2017.05.040 ]</b></a>
//!
c
_
022
=
-
O4
*
(
c1o1
/
omega
-
c1o2
)
*
(
dyuy
+
dzuz
)
*
c2o3
*
factorA
+
(
c1o1
-
O4
)
*
(
c
_
022
);
c
_
202
=
-
O4
*
(
c1o1
/
omega
-
c1o2
)
*
(
dxux
+
dzuz
)
*
c2o3
*
factorA
+
(
c1o1
-
O4
)
*
(
c
_
202
);
c
_
220
=
-
O4
*
(
c1o1
/
omega
-
c1o2
)
*
(
dyuy
+
dxux
)
*
c2o3
*
factorA
+
(
c1o1
-
O4
)
*
(
c
_
220
);
c
_
112
=
-
O4
*
(
c1o1
/
omega
-
c1o2
)
*
Dxy
*
c1o3
*
factorB
+
(
c1o1
-
O4
)
*
(
c
_
112
);
c
_
121
=
-
O4
*
(
c1o1
/
omega
-
c1o2
)
*
Dxz
*
c1o3
*
factorB
+
(
c1o1
-
O4
)
*
(
c
_
121
);
c
_
211
=
-
O4
*
(
c1o1
/
omega
-
c1o2
)
*
Dyz
*
c1o3
*
factorB
+
(
c1o1
-
O4
)
*
(
c
_
211
);
c
m
022
=
-
O4
*
(
c1o1
/
omega
-
c1o2
)
*
(
dyuy
+
dzuz
)
*
c2o3
*
factorA
+
(
c1o1
-
O4
)
*
(
c
m
022
);
c
m
202
=
-
O4
*
(
c1o1
/
omega
-
c1o2
)
*
(
dxux
+
dzuz
)
*
c2o3
*
factorA
+
(
c1o1
-
O4
)
*
(
c
m
202
);
c
m
220
=
-
O4
*
(
c1o1
/
omega
-
c1o2
)
*
(
dyuy
+
dxux
)
*
c2o3
*
factorA
+
(
c1o1
-
O4
)
*
(
c
m
220
);
c
m
112
=
-
O4
*
(
c1o1
/
omega
-
c1o2
)
*
Dxy
*
c1o3
*
factorB
+
(
c1o1
-
O4
)
*
(
c
m
112
);
c
m
121
=
-
O4
*
(
c1o1
/
omega
-
c1o2
)
*
Dxz
*
c1o3
*
factorB
+
(
c1o1
-
O4
)
*
(
c
m
121
);
c
m
211
=
-
O4
*
(
c1o1
/
omega
-
c1o2
)
*
Dyz
*
c1o3
*
factorB
+
(
c1o1
-
O4
)
*
(
c
m
211
);
//////////////////////////////////////////////////////////////////////////
// 5.
c
_
122
+=
O5
*
(
-
c
_
122
);
c
_
212
+=
O5
*
(
-
c
_
212
);
c
_
221
+=
O5
*
(
-
c
_
221
);
c
m
122
+=
O5
*
(
-
c
m
122
);
c
m
212
+=
O5
*
(
-
c
m
212
);
c
m
221
+=
O5
*
(
-
c
m
221
);
//////////////////////////////////////////////////////////////////////////
// 6.
c
_
222
+=
O6
*
(
-
c
_
222
);
c
m
222
+=
O6
*
(
-
c
m
222
);
////////////////////////////////////////////////////////////////////////////////////
//! - Compute central moments from post collision cumulants according to Eq. (53)-(56) in
...
...
@@ -460,41 +461,41 @@ __host__ __device__ void runK17CompressibleNavierStokes(CollisionParameter& para
//////////////////////////////////////////////////////////////////////////
// 4.
m
_
211
=
c
_
211
+
c1o3
*
((
c3o1
*
m
_
200
+
c1o1
)
*
m
_
011
+
c6o1
*
m
_
110
*
m
_
101
)
*
oneOverRho
;
m
_
121
=
c
_
121
+
c1o3
*
((
c3o1
*
m
_
020
+
c1o1
)
*
m
_
101
+
c6o1
*
m
_
110
*
m
_
011
)
*
oneOverRho
;
m
_
112
=
c
_
112
+
c1o3
*
((
c3o1
*
m
_
002
+
c1o1
)
*
m
_
110
+
c6o1
*
m
_
101
*
m
_
011
)
*
oneOverRho
;
m211
=
c
m
211
+
c1o3
*
((
c3o1
*
m200
+
c1o1
)
*
m011
+
c6o1
*
m110
*
m101
)
*
oneOverRho
;
m121
=
c
m
121
+
c1o3
*
((
c3o1
*
m020
+
c1o1
)
*
m101
+
c6o1
*
m110
*
m011
)
*
oneOverRho
;
m112
=
c
m
112
+
c1o3
*
((
c3o1
*
m002
+
c1o1
)
*
m110
+
c6o1
*
m101
*
m011
)
*
oneOverRho
;
m
_
220
=
c
_
220
+
(((
m
_
200
*
m
_
020
+
c2o1
*
m
_
110
*
m
_
110
)
*
c9o1
+
c3o1
*
(
m
_
200
+
m
_
020
))
*
oneOverRho
-
(
drho
*
oneOverRho
))
*
c1o9
;
m
_
202
=
c
_
202
+
(((
m
_
200
*
m
_
002
+
c2o1
*
m
_
101
*
m
_
101
)
*
c9o1
+
c3o1
*
(
m
_
200
+
m
_
002
))
*
oneOverRho
-
(
drho
*
oneOverRho
))
*
c1o9
;
m
_
022
=
c
_
022
+
(((
m
_
002
*
m
_
020
+
c2o1
*
m
_
011
*
m
_
011
)
*
c9o1
+
c3o1
*
(
m
_
002
+
m
_
020
))
*
oneOverRho
-
(
drho
*
oneOverRho
))
*
c1o9
;
m220
=
c
m
220
+
(((
m200
*
m020
+
c2o1
*
m110
*
m110
)
*
c9o1
+
c3o1
*
(
m200
+
m020
))
*
oneOverRho
-
(
drho
*
oneOverRho
))
*
c1o9
;
m202
=
c
m
202
+
(((
m200
*
m002
+
c2o1
*
m101
*
m101
)
*
c9o1
+
c3o1
*
(
m200
+
m002
))
*
oneOverRho
-
(
drho
*
oneOverRho
))
*
c1o9
;
m022
=
c
m
022
+
(((
m002
*
m020
+
c2o1
*
m011
*
m011
)
*
c9o1
+
c3o1
*
(
m002
+
m020
))
*
oneOverRho
-
(
drho
*
oneOverRho
))
*
c1o9
;
//////////////////////////////////////////////////////////////////////////
// 5.
m
_
122
=
c
_
122
+
c1o3
*
(
c3o1
*
(
m
_
002
*
m
_
120
+
m
_
020
*
m
_
102
+
c4o1
*
m
_
011
*
m
_
111
+
c2o1
*
(
m
_
101
*
m
_
021
+
m
_
110
*
m
_
012
))
+
(
m
_
120
+
m
_
102
))
*
oneOverRho
;
m
_
212
=
c
_
212
+
c1o3
*
(
c3o1
*
(
m
_
002
*
m
_
210
+
m
_
200
*
m
_
012
+
c4o1
*
m
_
101
*
m
_
111
+
c2o1
*
(
m
_
011
*
m
_
201
+
m
_
110
*
m
_
102
))
+
(
m
_
210
+
m
_
012
))
*
oneOverRho
;
m
_
221
=
c
_
221
+
c1o3
*
(
c3o1
*
(
m
_
200
*
m
_
021
+
m
_
020
*
m
_
201
+
c4o1
*
m
_
110
*
m
_
111
+
c2o1
*
(
m
_
101
*
m
_
120
+
m
_
011
*
m
_
210
))
+
(
m
_
021
+
m
_
201
))
*
oneOverRho
;
m122
=
c
m
122
+
c1o3
*
(
c3o1
*
(
m002
*
m120
+
m020
*
m102
+
c4o1
*
m011
*
m111
+
c2o1
*
(
m101
*
m021
+
m110
*
m012
))
+
(
m120
+
m102
))
*
oneOverRho
;
m212
=
c
m
212
+
c1o3
*
(
c3o1
*
(
m002
*
m210
+
m200
*
m012
+
c4o1
*
m101
*
m111
+
c2o1
*
(
m011
*
m201
+
m110
*
m102
))
+
(
m210
+
m012
))
*
oneOverRho
;
m221
=
c
m
221
+
c1o3
*
(
c3o1
*
(
m200
*
m021
+
m020
*
m201
+
c4o1
*
m110
*
m111
+
c2o1
*
(
m101
*
m120
+
m011
*
m210
))
+
(
m021
+
m201
))
*
oneOverRho
;
//////////////////////////////////////////////////////////////////////////
// 6.
m
_
222
=
c
_
222
-
((
-
c4o1
*
m
_
111
*
m
_
111
-
(
m
_
200
*
m
_
022
+
m
_
020
*
m
_
202
+
m
_
002
*
m
_
220
)
-
c4o1
*
(
m
_
011
*
m
_
211
+
m
_
101
*
m
_
121
+
m
_
110
*
m
_
112
)
-
c2o1
*
(
m
_
120
*
m
_
102
+
m
_
210
*
m
_
012
+
m
_
201
*
m
_
021
))
*
m222
=
c
m
222
-
((
-
c4o1
*
m111
*
m111
-
(
m200
*
m022
+
m020
*
m202
+
m002
*
m220
)
-
c4o1
*
(
m011
*
m211
+
m101
*
m121
+
m110
*
m112
)
-
c2o1
*
(
m120
*
m102
+
m210
*
m012
+
m201
*
m021
))
*
oneOverRho
+
(
c4o1
*
(
m
_
101
*
m
_
101
*
m
_
020
+
m
_
011
*
m
_
011
*
m
_
200
+
m
_
110
*
m
_
110
*
m
_
002
)
+
c2o1
*
(
m
_
200
*
m
_
020
*
m
_
002
)
+
c16o1
*
m
_
110
*
m
_
101
*
m
_
011
)
*
(
c4o1
*
(
m101
*
m101
*
m020
+
m011
*
m011
*
m200
+
m110
*
m110
*
m002
)
+
c2o1
*
(
m200
*
m020
*
m002
)
+
c16o1
*
m110
*
m101
*
m011
)
*
oneOverRho
*
oneOverRho
-
c1o3
*
(
m
_
022
+
m
_
202
+
m
_
220
)
*
oneOverRho
-
c1o9
*
(
m
_
200
+
m
_
020
+
m
_
002
)
*
oneOverRho
+
(
c2o1
*
(
m
_
101
*
m
_
101
+
m
_
011
*
m
_
011
+
m
_
110
*
m
_
110
)
+
(
m
_
002
*
m
_
020
+
m
_
002
*
m
_
200
+
m
_
020
*
m
_
200
)
+
c1o3
*
(
m
_
002
+
m
_
020
+
m
_
200
))
*
c1o3
*
(
m022
+
m202
+
m220
)
*
oneOverRho
-
c1o9
*
(
m200
+
m020
+
m002
)
*
oneOverRho
+
(
c2o1
*
(
m101
*
m101
+
m011
*
m011
+
m110
*
m110
)
+
(
m002
*
m020
+
m002
*
m200
+
m020
*
m200
)
+
c1o3
*
(
m002
+
m020
+
m200
))
*
oneOverRho
*
oneOverRho
*
c2o3
+
c1o27
*
((
drho
*
drho
-
drho
)
*
oneOverRho
*
oneOverRho
));
...
...
@@ -503,9 +504,9 @@ __host__ __device__ void runK17CompressibleNavierStokes(CollisionParameter& para
//! <a href="https://doi.org/10.1016/j.camwa.2015.05.001"><b>[ M. Geier et al. (2015),
//! DOI:10.1016/j.camwa.2015.05.001 ]</b></a>
//!
m
_
100
=
-
m
_
100
;
m
_
010
=
-
m
_
010
;
m
_
001
=
-
m
_
001
;
m100
=
-
m100
;
m010
=
-
m010
;
m001
=
-
m001
;
////////////////////////////////////////////////////////////////////////////////////
//! - Chimera transform from central moments to well conditioned distributions as defined in Appendix J in
...
...
@@ -516,67 +517,67 @@ __host__ __device__ void runK17CompressibleNavierStokes(CollisionParameter& para
//!
////////////////////////////////////////////////////////////////////////////////////
// X - Dir
backwardInverseChimeraWithK
(
m
_
000
,
m
_
100
,
m
_
200
,
vvx
,
vx2
,
c1o1
,
c1o1
);
backwardChimera
(
m
_
010
,
m
_
110
,
m
_
210
,
vvx
,
vx2
);
backwardInverseChimeraWithK
(
m
_
020
,
m
_
120
,
m
_
220
,
vvx
,
vx2
,
c3o1
,
c1o3
);
backwardChimera
(
m
_
001
,
m
_
101
,
m
_
201
,
vvx
,
vx2
);
backwardChimera
(
m
_
011
,
m
_
111
,
m
_
211
,
vvx
,
vx2
);
backwardChimera
(
m
_
021
,
m
_
121
,
m
_
221
,
vvx
,
vx2
);
backwardInverseChimeraWithK
(
m
_
002
,
m
_
102
,
m
_
202
,
vvx
,
vx2
,
c3o1
,
c1o3
);
backwardChimera
(
m
_
012
,
m
_
112
,
m
_
212
,
vvx
,
vx2
);
backwardInverseChimeraWithK
(
m
_
022
,
m
_
122
,
m
_
222
,
vvx
,
vx2
,
c9o1
,
c1o9
);
backwardInverseChimeraWithK
(
m000
,
m100
,
m200
,
vvx
,
vx2
,
c1o1
,
c1o1
);
backwardChimera
(
m010
,
m110
,
m210
,
vvx
,
vx2
);
backwardInverseChimeraWithK
(
m020
,
m120
,
m220
,
vvx
,
vx2
,
c3o1
,
c1o3
);
backwardChimera
(
m001
,
m101
,
m201
,
vvx
,
vx2
);
backwardChimera
(
m011
,
m111
,
m211
,
vvx
,
vx2
);
backwardChimera
(
m021
,
m121
,
m221
,
vvx
,
vx2
);
backwardInverseChimeraWithK
(
m002
,
m102
,
m202
,
vvx
,
vx2
,
c3o1
,
c1o3
);
backwardChimera
(
m012
,
m112
,
m212
,
vvx
,
vx2
);
backwardInverseChimeraWithK
(
m022
,
m122
,
m222
,
vvx
,
vx2
,
c9o1
,
c1o9
);
////////////////////////////////////////////////////////////////////////////////////
// Y - Dir
backwardInverseChimeraWithK
(
m
_
000
,
m
_
010
,
m
_
020
,
vvy
,
vy2
,
c6o1
,
c1o6
);
backwardChimera
(
m
_
001
,
m
_
011
,
m
_
021
,
vvy
,
vy2
);
backwardInverseChimeraWithK
(
m
_
002
,
m
_
012
,
m
_
022
,
vvy
,
vy2
,
c18o1
,
c1o18
);
backwardInverseChimeraWithK
(
m
_
100
,
m
_
110
,
m
_
120
,
vvy
,
vy2
,
c3o2
,
c2o3
);
backwardChimera
(
m
_
101
,
m
_
111
,
m
_
121
,
vvy
,
vy2
);
backwardInverseChimeraWithK
(
m
_
102
,
m
_
112
,
m
_
122
,
vvy
,
vy2
,
c9o2
,
c2o9
);
backwardInverseChimeraWithK
(
m
_
200
,
m
_
210
,
m
_
220
,
vvy
,
vy2
,
c6o1
,
c1o6
);
backwardChimera
(
m
_
201
,
m
_
211
,
m
_
221
,
vvy
,
vy2
);
backwardInverseChimeraWithK
(
m
_
202
,
m
_
212
,
m
_
222
,
vvy
,
vy2
,
c18o1
,
c1o18
);
backwardInverseChimeraWithK
(
m000
,
m010
,
m020
,
vvy
,
vy2
,
c6o1
,
c1o6
);
backwardChimera
(
m001
,
m011
,
m021
,
vvy
,
vy2
);
backwardInverseChimeraWithK
(
m002
,
m012
,
m022
,
vvy
,
vy2
,
c18o1
,
c1o18
);
backwardInverseChimeraWithK
(
m100
,
m110
,
m120
,
vvy
,
vy2
,
c3o2
,
c2o3
);
backwardChimera
(
m101
,
m111
,
m121
,
vvy
,
vy2
);
backwardInverseChimeraWithK
(
m102
,
m112
,
m122
,
vvy
,
vy2
,
c9o2
,
c2o9
);
backwardInverseChimeraWithK
(
m200
,
m210
,
m220
,
vvy
,
vy2
,
c6o1
,
c1o6
);
backwardChimera
(
m201
,
m211
,
m221
,
vvy
,
vy2
);
backwardInverseChimeraWithK
(
m202
,
m212
,
m222
,
vvy
,
vy2
,
c18o1
,
c1o18
);
////////////////////////////////////////////////////////////////////////////////////
// Z - Dir
backwardInverseChimeraWithK
(
m
_
000
,
m
_
001
,
m
_
002
,
vvz
,
vz2
,
c36o1
,
c1o36
);
backwardInverseChimeraWithK
(
m
_
010
,
m
_
011
,
m
_
012
,
vvz
,
vz2
,
c9o1
,
c1o9
);
backwardInverseChimeraWithK
(
m
_
020
,
m
_
021
,
m
_
022
,
vvz
,
vz2
,
c36o1
,
c1o36
);
backwardInverseChimeraWithK
(
m
_
100
,
m
_
101
,
m
_
102
,
vvz
,
vz2
,
c9o1
,
c1o9
);
backwardInverseChimeraWithK
(
m
_
110
,
m
_
111
,
m
_
112
,
vvz
,
vz2
,
c9o4
,
c4o9
);
backwardInverseChimeraWithK
(
m
_
120
,
m
_
121
,
m
_
122
,
vvz
,
vz2
,
c9o1
,
c1o9
);
backwardInverseChimeraWithK
(
m
_
200
,
m
_
201
,
m
_
202
,
vvz
,
vz2
,
c36o1
,
c1o36
);
backwardInverseChimeraWithK
(
m
_
210
,
m
_
211
,
m
_
212
,
vvz
,
vz2
,
c9o1
,
c1o9
);
backwardInverseChimeraWithK
(
m
_
220
,
m
_
221
,
m
_
222
,
vvz
,
vz2
,
c36o1
,
c1o36
);
distribution
[
dP00
]
=
f
_
P00
;
distribution
[
dM00
]
=
f
_
M00
;
distribution
[
d0P0
]
=
f
_
0P0
;
distribution
[
d0M0
]
=
f
_
0M0
;
distribution
[
d00P
]
=
f
_
00P
;
distribution
[
d00M
]
=
f
_
00M
;
distribution
[
dPP0
]
=
f
_
PP0
;
distribution
[
dMM0
]
=
f
_
MM0
;
distribution
[
dPM0
]
=
f
_
PM0
;
distribution
[
dMP0
]
=
f
_
MP0
;
distribution
[
dP0P
]
=
f
_
P0P
;
distribution
[
dM0M
]
=
f
_
M0M
;
distribution
[
dP0M
]
=
f
_
P0M
;
distribution
[
dM0P
]
=
f
_
M0P
;
distribution
[
d0PP
]
=
f
_
0PP
;
distribution
[
d0MM
]
=
f
_
0MM
;
distribution
[
d0PM
]
=
f
_
0PM
;
distribution
[
d0MP
]
=
f
_
0MP
;
distribution
[
d000
]
=
f
_
000
;
distribution
[
dPPP
]
=
f
_
PPP
;
distribution
[
dPMP
]
=
f
_
PMP
;
distribution
[
dPPM
]
=
f
_
PPM
;
distribution
[
dPMM
]
=
f
_
PMM
;
distribution
[
dMPP
]
=
f
_
MPP
;
distribution
[
dMMP
]
=
f
_
MMP
;
distribution
[
dMPM
]
=
f
_
MPM
;
distribution
[
dMMM
]
=
f
_
MMM
;
backwardInverseChimeraWithK
(
m000
,
m001
,
m002
,
vvz
,
vz2
,
c36o1
,
c1o36
);
backwardInverseChimeraWithK
(
m010
,
m011
,
m012
,
vvz
,
vz2
,
c9o1
,
c1o9
);
backwardInverseChimeraWithK
(
m020
,
m021
,
m022
,
vvz
,
vz2
,
c36o1
,
c1o36
);
backwardInverseChimeraWithK
(
m100
,
m101
,
m102
,
vvz
,
vz2
,
c9o1
,
c1o9
);
backwardInverseChimeraWithK
(
m110
,
m111
,
m112
,
vvz
,
vz2
,
c9o4
,
c4o9
);
backwardInverseChimeraWithK
(
m120
,
m121
,
m122
,
vvz
,
vz2
,
c9o1
,
c1o9
);
backwardInverseChimeraWithK
(
m200
,
m201
,
m202
,
vvz
,
vz2
,
c36o1
,
c1o36
);
backwardInverseChimeraWithK
(
m210
,
m211
,
m212
,
vvz
,
vz2
,
c9o1
,
c1o9
);
backwardInverseChimeraWithK
(
m220
,
m221
,
m222
,
vvz
,
vz2
,
c36o1
,
c1o36
);
distribution
[
dP00
]
=
fP00
;
distribution
[
dM00
]
=
fM00
;
distribution
[
d0P0
]
=
f0P0
;
distribution
[
d0M0
]
=
f0M0
;
distribution
[
d00P
]
=
f00P
;
distribution
[
d00M
]
=
f00M
;
distribution
[
dPP0
]
=
fPP0
;
distribution
[
dMM0
]
=
fMM0
;
distribution
[
dPM0
]
=
fPM0
;
distribution
[
dMP0
]
=
fMP0
;
distribution
[
dP0P
]
=
fP0P
;
distribution
[
dM0M
]
=
fM0M
;
distribution
[
dP0M
]
=
fP0M
;
distribution
[
dM0P
]
=
fM0P
;
distribution
[
d0PP
]
=
f0PP
;
distribution
[
d0MM
]
=
f0MM
;
distribution
[
d0PM
]
=
f0PM
;
distribution
[
d0MP
]
=
f0MP
;
distribution
[
d000
]
=
f000
;
distribution
[
dPPP
]
=
fPPP
;
distribution
[
dPMP
]
=
fPMP
;
distribution
[
dPPM
]
=
fPPM
;
distribution
[
dPMM
]
=
fPMM
;
distribution
[
dMPP
]
=
fMPP
;
distribution
[
dMMP
]
=
fMMP
;
distribution
[
dMPM
]
=
fMPM
;
distribution
[
dMMM
]
=
fMMM
;
macroscopicValues
.
rho
=
drho
;
macroscopicValues
.
vx
=
vvx
;
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment