49 o <<
" Simple Grid -----" << std::endl;
51 (grid.
basis).getCol(0,aux); o <<
" Vector 1: " << aux.
transpose() << std::endl;
52 (grid.
basis).getCol(1,aux); o <<
" Vector 2: " << aux.
transpose() << std::endl;
53 (grid.
basis).getCol(2,aux); o <<
" Vector 3: " << aux.
transpose() << std::endl;
55 o <<
" Interest radius: " << grid.
R2 << std::endl;
77 return Zdim*Ydim*Xdim;
90 for (
int k = ZZ_lowest;
k <= ZZ_highest;
k++)
91 for (
int i = YY_lowest;
i <= YY_highest;
i++)
92 for (
int j = XX_lowest;
j <= XX_highest;
j++)
130 for (
size_t n = 0;
n < GridsNo();
n++)
136 for (
auto i = (
int)
YY(LG[
n].lowest);
i <=
YY(LG[
n].highest);
i++)
137 for (
auto j = (
int)
XX(LG[
n].lowest);
j <=
XX(LG[
n].highest);
j++)
142 LG[
n].grid2universe(grid_index, univ_position);
160 SGcorner2 = SGcorner1 = univ_position;
178 Gcorner1 = SGcorner1;
179 Gcorner2 = SGcorner2;
184 std::cout <<
"SGcorner1 " << SGcorner1.
transpose() << std::endl;
185 std::cout <<
"SGcorner2 " << SGcorner2.
transpose() << std::endl;
186 std::cout <<
"Gcorner1 " << Gcorner1.
transpose() << std::endl;
187 std::cout <<
"Gcorner2 " << Gcorner2.
transpose() << std::endl;
229 aux_grid =
Create_CC_grid(relative_size, corner1, corner2, origin);
241 (
double)
FLOOR(Zdim / 2.0));
243 vectorR3((
double)Xdim, (
double)Ydim, (
double)Zdim) - origin - 1,
294 aux_grid =
Create_CC_grid(relative_size, corner1, corner2, origin);
298 origin = origin + relative_size / 2 *
vectorR3(1., 1., 1.);
299 aux_grid =
Create_CC_grid(relative_size, corner1, corner2, origin);
352 aux_grid =
Create_CC_grid(relative_size, corner1, corner2, origin);
355 aux_origin = origin + relative_size / 2 *
vectorR3(0., 1., 1.);
356 aux_grid =
Create_CC_grid(relative_size, corner1, corner2, aux_origin);
359 aux_origin = origin + relative_size / 2 *
vectorR3(1., 0., 1.);
360 aux_grid =
Create_CC_grid(relative_size, corner1, corner2, aux_origin);
364 cornerb(0) = cornerb(0) - 1;
365 cornerb(1) = cornerb(1) - 1;
366 aux_origin = origin + relative_size / 2 *
vectorR3(1., 1., 0.);
367 aux_grid =
Create_CC_grid(relative_size, corner1, cornerb, aux_origin);
372 #undef MULTIPLY_CC_GRID_BY_TWO 398 for (
int k = -iR;
k <= iR;
k++)
399 for (
int i = -iR;
i <= iR;
i++)
400 for (
int j = -iR;
j <= iR;
j++)
403 if (univ_position.
module() > R)
continue;
414 std::cout <<
"Sphere radius = " << R << std::endl
415 <<
"relative size = " << relative_size << std::endl
416 <<
"X module = " << X.
module() << std::endl
417 <<
"Y module = " << Y.
module() << std::endl
418 <<
"Z module = " << Z.
module() << std::endl
Just to locate unclassified errors.
void set_Y(const Matrix1D< double > &v)
void universe2grid(const Matrix1D< double > &uv, Matrix1D< double > &gv) const
Matrix1D< double > highest
SimpleGrid Create_grid_within_sphere(double relative_size, const Matrix1D< double > &origin, const Matrix1D< double > &X, const Matrix1D< double > &Y, const Matrix1D< double > &Z, double R2)
#define REPORT_ERROR(nerr, ErrormMsg)
SimpleGrid Create_CC_grid(double relative_size, const Matrix1D< double > &corner1, const Matrix1D< double > &corner2, const Matrix1D< double > &origin)
void grid2universe(const Matrix1D< double > &gv, Matrix1D< double > &uv) const
void sqrt(Image< double > &op)
Matrix1D< double > vectorR3(double x, double y, double z)
friend std::ostream & operator<<(std::ostream &o, const SimpleGrid &grid)
void inv(Matrix2D< T > &result) const
void set_X(const Matrix1D< double > &v)
bool is_interesting(const Matrix1D< double > &uv) const
Matrix1D< double > lowest
ql0001_ & k(htemp+1),(cvec+1),(atemp+1),(bj+1),(bl+1),(bu+1),(x+1),(clamda+1), &iout, infoqp, &zero,(w+1), &lenw,(iw+1), &leniw, &glob_grd.epsmac
Matrix1D< T > transpose() const
#define FOR_ALL_ELEMENTS_IN_MATRIX1D(v)
Matrix2D< double > inv_basis
void resize(size_t Xdim, bool copy=true)
void assign(const SimpleGrid &SG)
void set_Z(const Matrix1D< double > &v)
double relative_size
Measuring unit in the grid coordinate system.
#define M3x3_BY_V3x1(a, M, b)
Grid Create_FCC_grid(double relative_size, const Matrix1D< double > &corner1, const Matrix1D< double > &corner2)
Grid Create_BCC_grid(double relative_size, const Matrix1D< double > &corner1, const Matrix1D< double > &corner2)
Matrix1D< double > origin
Origin of the grid in the Universal coordinate system.
#define VECTOR_R3(v, x, y, z)
int get_number_of_samples() const
void add_grid(const SimpleGrid &SG)
void voxel_corners(Matrix1D< double > &Gcorner1, Matrix1D< double > &Gcorner2, const Matrix2D< double > *V=nullptr) const
void getSize(int &Zdim, int &Ydim, int &Xdim) const
#define SPEED_UP_temps012