Fast Methods for Cosmological Simulations
FastSim serves as a tool for quick N-body simulations in modified gravity.
IT< points > Class Template Reference

: class for effective iteration of cube of mesh cells More...

#include <core_mesh.h>

Collaboration diagram for IT< points >:

Public Member Functions

 IT (const Vec_3D< double > &pos)
 
 IT (const Vec_3D< double > &pos, double Hc)
 
bool iter ()
 

Public Attributes

size_t counter
 
Vec_3D< size_t > vec
 

Detailed Description

template<unsigned int points>
class IT< points >

: class for effective iteration of cube of mesh cells

Definition at line 66 of file core_mesh.h.

Constructor & Destructor Documentation

template<unsigned int points>
IT< points >::IT ( const Vec_3D< double > &  pos)

Definition at line 171 of file core_mesh.cpp.

References IT< points >::vec.

171  : counter(0)
172 {
173  for(size_t i = 0; i < 3; i++){
174  vec[i] = (int)(pos[i] - 0.5*(int(points) - 2));
175  }
176 }
size_t counter
Definition: core_mesh.h:72
Vec_3D< size_t > vec
Definition: core_mesh.h:73
template<unsigned int points>
IT< points >::IT ( const Vec_3D< double > &  pos,
double  Hc 
)

Definition at line 179 of file core_mesh.cpp.

References IT< points >::vec.

179  : counter(0)
180 {
181  for(size_t i = 0; i < 3; i++){
182  vec[i] = (int)(pos[i]/Hc) - 1;
183  }
184 }
size_t counter
Definition: core_mesh.h:72
Vec_3D< size_t > vec
Definition: core_mesh.h:73

Member Function Documentation

template<unsigned int points>
bool IT< points >::iter ( )

Definition at line 187 of file core_mesh.cpp.

References IT< points >::counter, and IT< points >::vec.

Referenced by assign_from(), assign_to(), anonymous_namespace{mod_frozen_potential.cpp}::force_short(), and TEST_CASE().

187  {
188  if (++counter == (points*points*points)) return false;
189  vec[2]++;
190  if ((counter % points) == 0){
191  vec[2] -= points;
192  vec[1]++;
193  if ((counter % (points*points)) == 0){
194  vec[1] -= points;
195  vec[0]++;
196  }
197  }
198  return true;
199 }
size_t counter
Definition: core_mesh.h:72
Vec_3D< size_t > vec
Definition: core_mesh.h:73

Member Data Documentation

template<unsigned int points>
size_t IT< points >::counter

Definition at line 72 of file core_mesh.h.

Referenced by IT< points >::iter(), and TEST_CASE().

template<unsigned int points>
Vec_3D<size_t> IT< points >::vec

The documentation for this class was generated from the following files: