#include #include "common/MPI.h" #include "common/Utilities.h" #include double mrt_V1=0.05263157894736842; double mrt_V2=0.012531328320802; double mrt_V3=0.04761904761904762; double mrt_V4=0.004594820384294068; double mrt_V5=0.01587301587301587; double mrt_V6=0.0555555555555555555555555; double mrt_V7=0.02777777777777778; double mrt_V8=0.08333333333333333; double mrt_V9=0.003341687552213868; double mrt_V10=0.003968253968253968; double mrt_V11=0.01388888888888889; double mrt_V12=0.04166666666666666; /* # Rcode to check the moments f=c(1.0,0.01,0.02,0.03,0.04,0.05,0.06,0.07,0.08,0.09,0.1,0.11,0.12,0.13,0.14,0.15,0.16,0.17,0.18) rho=c(1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1) jx=c(0,1,-1,0,0,0,0,1,-1,1,-1,1,-1,1,-1,0,0,0,0) jy=c(0,0,0,1,-1,0,0,1,-1,-1,1,0,0,0,0,1,-1,1,-1) jz=c(0,0,0,0,0,1,-1,0,0,0,0,1,-1,-1,1,1,-1,-1,1) M1=c(-30,-11,-11,-11,-11,-11,-11,8,8,8,8,8,8,8,8,8,8,8,8) M2=c(12,-4,-4,-4,-4,-4,-4,1,1,1,1,1,1,1,1,1,1,1,1) M4=c(0,-4,4,0,0,0,0,1,-1,1,-1,1,-1,1,-1,0,0,0,0) M6=c(0,0,0,-4,4,0,0,1,-1,-1,1,0,0,0,0,1,-1,1,-1) M8=c(0,0,0,0,0,-4,4,0,0,0,0,1,-1,-1,1,1,-1,-1,1) M9=c(0,2,2,-1,-1,-1,-1,1,1,1,1,1,1,1,1,-2,-2,-2,-2) M10=c(0,-4,-4,2,2,2,2,1,1,1,1,1,1,1,1,-2,-2,-2,-2) M11=c(0,0,0,1,1,-1,-1,1,1,1,1,-1,-1,-1,-1,0,0,0,0) M12=c(0,0,0,-2,-2,2,2,1,1,1,1,-1,-1,-1,-1,0,0,0,0) M13=c(0,0,0,0,0,0,0,1,1,-1,-1,0,0,0,0,0,0,0,0) M14=c(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,-1,-1) M15=c(0,0,0,0,0,0,0,0,0,0,0,1,1,-1,-1,0,0,0,0) M16=c(0,0,0,0,0,0,0,1,-1,1,-1,-1,1,-1,1,0,0,0,0) M17=c(0,0,0,0,0,0,0,-1,1,1,-1,0,0,0,0,1,-1,1,-1) M18=c(0,0,0,0,0,0,0,0,0,0,0,1,-1,-1,1,-1,1,1,-1) */ inline void MRT_Transform(double *dist, int Np, double Fx, double Fy, double Fz) { double fq,fp; // conserved momemnts double rho,jx,jy,jz; // non-conserved moments double m1,m2,m4,m6,m8,m9,m10,m11,m12,m13,m14,m15,m16,m17,m18; for (int n=0; n