26#define Vec3d Eigen::Vector3d
49 for(
int i=0;
i<3;
i++) {
73 return {cell[0],cell[1],cell[2]};
83 for(
int i=0;
i<3;
i++) {
86 index[
i] = (int32_t)std::trunc(v[
i]);
87 fract[
i] = v[
i] - (double)std::trunc(v[
i]);
98 return fract[0]*(fract[1]*interp[3]+(1.-fract[1])*interp[1])
99 + (1.-fract[0])*(fract[1]*interp[2]+(1.-fract[1])*interp[0]);
109 return fract[0]*(fract[2]*interp[3]+(1.-fract[2])*interp[1])
110 + (1.-fract[0])*(fract[2]*interp[2]+(1.-fract[2])*interp[0]);
123 fract[0]*(fract[1]*interp[3]+(1.-fract[1])*interp[1])
124 + (1.-fract[0])*(fract[1]*interp[2]+(1.-fract[1])*interp[0]))
126 fract[0]*(fract[1]*interp[7]+(1.-fract[1])*interp[5])
127 + (1.-fract[0])*(fract[1]*interp[6]+(1.-fract[1])*interp[4]));
154 double fract = (
t -
a.time)/(
b.time-
a.time);
155 return fract*bval + (1.-fract)*aval;
virtual Vec3d operator()(double x, double y, double z)
std::vector< double > data
double * getCellRef(int x, int y, int z)
virtual Vec3d operator()(Vec3d v)
Vec3d getCell(int x, int y, int z)
Interpolated_Field(Field &_a, Field &_b, float _t)
virtual Vec3d operator()(Vec3d v)
static ARCH_HOSTDEV VecSimple< T > min(VecSimple< T > const &l, VecSimple< T > const &r)