101 double HelpPoint00[5];
102 double HelpPoint10[5];
103 double HelpPoint01[5];
104 double HelpPoint11[5];
109 double HelpPoint0[4];
110 double HelpPoint1[4];
116 double DeltaSC0X000overDeltaX100X000 = 0.;
117 if (DeltaX100X000 != 0.) DeltaSC0X000overDeltaX100X000 = (
SC[0] - CellPoint000[0]) / DeltaX100X000;
121 double DeltaSC0X010overDeltaX110X010 = 0.;
122 if (DeltaX110X010 != 0.) DeltaSC0X010overDeltaX110X010 = (
SC[0] - CellPoint010[0]) / DeltaX110X010;
126 double DeltaSC0X001overDeltaX101X001 = 0.;
127 if (DeltaX101X001 != 0.) DeltaSC0X001overDeltaX101X001 = (
SC[0] - CellPoint001[0]) / DeltaX101X001;
131 double DeltaSC0X011overDeltaX111X011 = 0.;
132 if (DeltaX111X011 != 0.) DeltaSC0X011overDeltaX111X011 = (
SC[0] - CellPoint011[0]) / DeltaX111X011;
134 for (
int i=0;
i<5; ++
i){
138 HelpPoint00[
i] = CellPoint000[ip] + DeltaSC0X000overDeltaX100X000 * (
CellPoint100[ip] - CellPoint000[ip]);
141 HelpPoint10[
i] = CellPoint010[ip] + DeltaSC0X010overDeltaX110X010 * (
CellPoint110[ip] - CellPoint010[ip]);
144 HelpPoint01[
i] = CellPoint001[ip] + DeltaSC0X001overDeltaX101X001 * (
CellPoint101[ip] - CellPoint001[ip]);
147 HelpPoint11[
i] = CellPoint011[ip] + DeltaSC0X011overDeltaX111X011 * (
CellPoint111[ip] - CellPoint011[ip]);
152 double DeltaX10X00 = HelpPoint10[0] - HelpPoint00[0];
153 double DeltaSC1X00overDeltaX10X00 = 0.;
154 if (DeltaX10X00 != 0.) DeltaSC1X00overDeltaX10X00 = (
SC[1] - HelpPoint00[0]) / DeltaX10X00;
156 double DeltaX11X01 = HelpPoint11[0] - HelpPoint01[0];
157 double DeltaSC1X01overDeltaX11X01 = 0.;
158 if (DeltaX11X01 != 0.) DeltaSC1X01overDeltaX11X01 = (
SC[1] - HelpPoint01[0]) / DeltaX11X01;
160 for (
int i=0;
i<4; ++
i){
164 HelpPoint0[
i] = HelpPoint00[ip] + DeltaSC1X00overDeltaX10X00 * (HelpPoint10[ip] - HelpPoint00[ip]);
167 HelpPoint1[
i] = HelpPoint01[ip] + DeltaSC1X01overDeltaX11X01 * (HelpPoint11[ip] - HelpPoint01[ip]);
172 double DeltaX1X0 = HelpPoint1[0] - HelpPoint0[0];
173 double DeltaSC2X0overDeltaX1X0 = 0.;
174 if (DeltaX1X0 != 0.) DeltaSC2X0overDeltaX1X0 = (
SC[2] - HelpPoint0[0]) / DeltaX1X0;
176 for (
int i=0;
i<3; ++
i){
180 VF[
i] = HelpPoint0[ip] + DeltaSC2X0overDeltaX1X0 * (HelpPoint1[ip] - HelpPoint0[ip]);
void defineCellPoint100(double X1, double X2, double X3, double F1, double F2, double F3)
void defineCellPoint110(double X1, double X2, double X3, double F1, double F2, double F3)
void defineCellPoint101(double X1, double X2, double X3, double F1, double F2, double F3)
void putSCoordGetVField(double X1, double X2, double X3, double &F1, double &F2, double &F3)
receive the interpolated field (out) at any point in space (in)
void defineCellPoint010(double X1, double X2, double X3, double F1, double F2, double F3)
void defineCellPoint111(double X1, double X2, double X3, double F1, double F2, double F3)
void defineCellPoint000(double X1, double X2, double X3, double F1, double F2, double F3)
provide the interpolation algorithm with 8 points, where the field is known (in)
void defineCellPoint001(double X1, double X2, double X3, double F1, double F2, double F3)
void defineCellPoint011(double X1, double X2, double X3, double F1, double F2, double F3)