DyS TODO list - tasks
In progress
- [AT] decrease-increase time step size
Info
- distance: positive value-separation, negative value-indentation
- If relative normal velocity of contact point is positive, than the bodies are approaching, which corresponds to the compression phase, and if the relative normal velocity of contact point is negative the bodies are separating, which corresponds to the restitution phase.
Check
- revolute joint type: ideal (default), clearance, real, with friction (ls)
- attributes start start with underscore are used to be modified before each simulation (probably using monte carlo simulation)
- tangent contact force not 0 when coefficient of friction is 0 (ls)
- contact point is only updated, it there is translation in contact is not detected???
- Update AABB data (AABB frame, nodes in AABB) as function of R, theta (at)
- File/Close treeview (modelview) still displays data from closed file
- load with dill (or pickle)
ToDo
- find and update (location of) new contact point between two bodies
- two/multiple points body contact with penalty method (at the moment only one contact point is supported)
- update display on delta time, not number of time steps (display opengl based on simulation time, not simulation step number)
- prismatic clearance joint
- pause simulation
- write predictor corrector method (variable order of numerical method)
- graphical representation of springs (translational, torsional)
- calculate mass moment of inertia (volume) from cloud of triangles – stl file
- use package OOC for 3D visualization as it also has support for 3D modeling, neutral formats: step, iges
- dynamics 2D to 3D
Done
- save with dill (or pickle)
- before simulation starts evaluates C(q, t) vector and stops the simulation if there are non-zero elements in the array
- kinematic motors-motions (drives) – df/dt = ?
- increase time step after contact has happened
- visualize parameterized (with lines) geometry models
- Menu to edit (create, delete) in tree model view and automatic update in opengl widget
- rename ODEfun() to DAEfun()
- cylindrical contact models added
- save animation to .avi video file
- euler method
- add dq_t - relative tangential contact velocity
- Display LCS of a body
- numerical error of each time step added to solution data file
- contact.no_overlap() if never runs only else
- Open and load project with file .dprj (Dynamic Project)
- revolute joint
- revolute joint to ground
- fixed joint
- fixed joint to ground
- prismatic joint
- prismatic joint to ground
- spring (translational)
- damping in spring (translational)
- spring to ground (translational)
- spring (torsional)
- spring (torsional) to ground
- Add bodies.txt file to read and load only bodies that are located in this file – if you have multiple occurrences of a body with same geometry you can only have one geometry file.
- delete VBOs before load new project (database)
- close project – empties all data from object MBD_system
- load and read .dprj project file to load simulation settings (properties)
- only one index buffer for all frame vertices buffer
- tree model working (using model view in pyqt)
- contact (bounding box and subdivide bounding box)
- Save, Save As
- contact (find contact, variable time step size),
- Read/write text .dat files, not .txt
- If load solution after finished is checked, the solution data should be loaded
- Add spring energy to calculation of mechanical energy
- add header data to solution file: solution_data_num.dat
- contact force to zero after contact is finished