HG-MD  1
Todo List
Member Chute::get_ChuteAngle ()
Thomas: This should return the angle in degrees
Member CSpecies::set_rho (Mdouble new_rho)
recalculate masses when setting dim_particle or rho Allows the density to be changed
Class CWall
remove access to set Nwalls and wall set etc.. and add function add_wall. This would have stoped a lot of bugs in my own (Anthony's) driver codes.
Member CWall::CWall ()
{why does CWall() {finite_walls.resize(0);} cause a segmentation fault?}
Member CWall::get_distance (Vec3D &Position)
{Not valid for finite walls}
Member CWall::get_distance_and_normal (Particle &P, Mdouble &distance, Vec3D &normal_return)
set geometry from the code
Class HGRID_base
Remove the dimension out of this class by templating and use of for loops for the check cells part
Member HGRID_base::InitBroadPhase ()
{The 6 Particle code does behave badly if MIN_CELL_SIZE=2.0*get_radius_of_smallest_particle(). Can a particle fall of out all cells?}
Member MD::Check_and_Duplicate_Periodic_Particle (Particle *i, int nWallPeriodic)
distance should be get_ParticleHandler().get_Particle(i)->get_Radius()+max(Particles[j].Radius Thomas: max_radius is the biggest radius, I think this todo is done (?)
Member MD::compute_internal_forces (Particle *P1, Particle *P2)

{The spring should be cut back such that fdott=mu*fdotn. This is simple for dispt=0; we have to think about what happens in the sliding case with tang. dissipation; same for walls; Update Dec-2-2011: fixed}

Define the center this way or are radii involved? Or maybe just use middle of overlap region? Thomas: Yes, we should correct that for polydispersed problems; however, then we also have to correct it in StatisticsVector::gather_statistics_collision.

{Is it the first particle the force acts on?}

Member MD::compute_plastic_internal_forces (Particle *P1, Particle *P2)
{The spring should be cut back such that fdott=mu*fdotn. This is simple for dispt=0; we have to think about what happens in the sliding case with tang. dissipation; same for walls}
Member MD::compute_walls (Particle *PI)

make sticking default

: reducedRadiusIJ should have a factor of 2.0, but then the rolling frequency differs from the normal frequency when krolling=2/5*k;

: RadiusIJ should have a factor of 2.0, but then the rolling frequency differs from the normal frequency when krolling=2/5*k;

Member MD::get_maximum_velocity ()
this function is dangerous since it uses particle data, which the user might not intend Calculates the maximum velocity allowed for a collision of two copies of the smallest particle (for higher velocities particles could pass through each other)
Member MD::set_dt ()

should setup_... be used here or not (by Thomas)

{Is it necesarry to reset initial conditions here and in solve? (i.e. should it be in constructor)?}

Member MD::set_plastic_k1_k2max_kc_depth (Mdouble k1_, Mdouble k2max_, Mdouble kc_, Mdouble depth_, unsigned int indSpecies=0)
{these functions should also update the mixed species}
Member MD::setup_particles_initial_conditions ()
I (Anthony) wants to change this to be an external function. This has a lot of advantages espcially when using copy-constructors. This is a major change and will break other codes, so therefore has to be done carefully.
Member MD::solve ()

Is it neccesarry to reset initial conditions here and in set_dt (i.e. should it be in constructor)? Thomas: I agree, set_dt should be rewritten to work without calling setup_particles_initial_conditions

{Thomas: the tangential spring should not be integrated here, but in the integration function; currently, the integration is supressed by setting dt=0, but sliding tangential springs are integrated}

{When do we actually want to output force and location data?}

Member MD::Walls

This need to be made private will save a lot of problems.

these need to made private will save a lot of problems.

Member MD::~MD ()
write a destructor
Member StatisticsPoint< T >::CG_function_2D (Vec3D &PI)
the volume should be calculated in set_CG_invvolume
Member StatisticsPoint< T >::CG_gradient (Vec3D &P, Mdouble phi)
{Only implemented for Gaussian}
Member StatisticsPoint< T >::CG_integral (Vec3D &P1, Vec3D &P2, Vec3D &P1_P2_normal, Mdouble P1_P2_distance)
Thomas: I think these static's are not necessary and dangerous (I think I put them there myself when I was young and stupid)
Member StatisticsPoint< T >::CG_integral_1D (Vec3D &P1, Vec3D &P2, Vec3D &P1_P2_normal, Mdouble P1_P2_distance)
Thomas: the following line has to be tested
Member StatisticsPoint< T >::CG_integral_2D (Vec3D &P1, Vec3D &P2, Vec3D &P1_P2_normal, Mdouble P1_P2_distance)
Thomas: the following line has to be tested
Member StatisticsPoint< T >::CG_integral_gradient (Vec3D &P1, Vec3D &P2, Vec3D &P1_P2_normal)
{Only implemented for Gaussian and statavg Z}
Member StatisticsPoint< T >::CollisionalHeatFlux
{Heat flux calculations have not been checked, only implemented}
Member StatisticsPoint< T >::Dissipation
{Dissipation calculations have not been checked, only implemented}
Member StatisticsPoint< T >::Potential
{Potential calculations have not been checked, only implemented; fstat file does not include the torsional and rolling spring and hence cannot account for their potential}
Member StatisticsPoint< T >::set_Heaviside_invvolume ()
{Thomas: check 2d case}
Member StatisticsVector< T >::gather_statistics_collision (int index1, int index2, Vec3D Contact, Mdouble delta, Mdouble ctheta, Mdouble fdotn, Mdouble fdott, Vec3D P1_P2_normal_, Vec3D P1_P2_tangential)

: this is to make the stresses infinitely (i.e. 300 units) long; has to be improved

this is to make the stresses infinitely (i.e. 300 units) long

{this only works for StatType Z}

{I, Thomas, removed the effect on different particle sizes bc it gave wrong results in the stress balance; why is this here?}

{fabric should be divided by N}

{Fabric definition only works for monodispersed particles, i.e. C=(F_xx+F_yy+F_zz)/nu only for monodispersed particles}

check this is not killing the Heaviside CG function. If it is donot use the Heaviside function, the simple solution.

Member StatisticsVector< T >::output_statistics ()

{Particles shouldn't be unfixed, in case you do live statistics; please correct}

We now have an idea of how to deal with fixed particles better, so this can be improved.

Member StatisticsVector< T >::readStatArguments (unsigned int argc, char *argv[])
this should also set the ene,restart filename
Member StatisticsVector< T >::rmin
Thomas: maybe this fixed condition should be replaced by a condition function, bool include_statistics_if()
Member StatisticsVector< T >::statistics_from_fstat_and_data ()
{the ignore-periodic-walls should be automated for averaged dimensions}
Class Vec3D
Need to generise this to n-dimensional vectors of any type
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines