Conversation
| stiffness[i] = ( -forces( index, i ) + | ||
| _forces_last_step( index, i ) ) / | ||
| mass[i] / _delta_t / | ||
| _velocities_last_step( index, i ); |
There was a problem hiding this comment.
This is where it differs from the paper
8af0753 to
9f1072e
Compare
d5e5fef to
48a5aae
Compare
| #include <fstream> | ||
| #include <iostream> | ||
|
|
||
| #include "mpi.h" |
There was a problem hiding this comment.
hmm currently this does not support mpi ... maybe I should remove it
| ParticleType const& particles ) | ||
| { | ||
| auto forces = particles.sliceForce(); | ||
| _integrator.initialSubStep( exec_space, forces ); |
There was a problem hiding this comment.
Hmm...right now the integrator cycles over all particles ... that is probably false and should be corrected somehow ... I guess the best would be to create proxy objects for the slices
| integrator.middleSubStep( exec_space, particles, args... ); | ||
|
|
||
| // Add non-force boundary condition. | ||
| if ( !boundary_condition.forceUpdate() ) | ||
| boundary_condition.apply( exec_space, particles, time ); | ||
|
|
||
| integrator.finalSubStep( exec_space, particles, args... ); |
There was a problem hiding this comment.
This is the reason why we need a middle step. We calculate the velocity in the middle step but need to overwrite it with the bc if the bc sets a velocity. After that is applied we can go and integrate the displacement
|
"Think about how to guess c for non PMB materials". This is a big question for the application. People cannot calibrate the c for each material, since the material behavior is different. I am trying to define a bond-based JC strain rate-dependent model, and i define the equivalent plastic strain as the weighted root-mean-square norm of norm of bond plastic stretches in PMB model. The theoretical consistency needs further study. Maybe use a reasonable mapping method of bond deformation to the material point strain, it will provide a easy way for defining different classical material in the future. |
I guess we would be fine with guessing a minimal value for Maybe guessing |
This is based upon the formulation in https://www.sciencedirect.com/science/article/pii/S0020768317304833 but without the rotational stiffness.
One important difference is: in (75) we use (L_u(t-1)/Delta_ii-L_u(t)/Delta_ii). This corresponds to a -1*(75). Otherwise we get negative damping coefficients due to the approximated stiffness term being negative (the force difference points opposite to the velocity).
The implementation tries to be independent of CabanaPD's particle interface. This allows for easier testing (testcase is just a single mass) and potential reuse.
Add interface inNot sure if that is a good idea ... we need to discuss this probably. In general the interface is still a bit ugly. The points are marked withSolverclassTODOin commentsADRIntegratorcfor nonPMBmaterialsRelated to issue #207