- 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