Closed thiagordonho closed 4 years ago
So far looks okay for me @thiagordonho. I added my suggestion and have one minor comment: will that be better if we somehow change the naming of
displacement_
to something likecontact_displacement_
to avoid confusion of nodal variable. I was thinkingdisplacement_
is the integration ofvelocity_
.
I think that is a very good idea! I will change all the related variables. Thank you for that and for the other remarks.
Merging #649 into develop will decrease coverage by
0.00%
. The diff coverage is95.89%
.
@@ Coverage Diff @@
## develop #649 +/- ##
===========================================
- Coverage 96.56% 96.56% -0.00%
===========================================
Files 122 122
Lines 25247 25316 +69
===========================================
+ Hits 24378 24444 +66
- Misses 869 872 +3
Impacted Files | Coverage Δ | |
---|---|---|
include/node.h | 100.00% <ø> (ø) |
|
include/node_base.h | 100.00% <ø> (ø) |
|
include/particles/particle.h | 100.00% <ø> (ø) |
|
include/particles/particle_base.h | 100.00% <ø> (ø) |
|
include/solvers/mpm_explicit.tcc | 62.75% <25.00%> (-1.25%) |
:arrow_down: |
include/mesh.tcc | 84.06% <100.00%> (+0.07%) |
:arrow_up: |
include/node.tcc | 95.67% <100.00%> (+0.34%) |
:arrow_up: |
include/particles/particle.tcc | 94.27% <100.00%> (+0.08%) |
:arrow_up: |
tests/interface_test.cc | 100.00% <100.00%> (ø) |
Continue to review full report at Codecov.
Legend - Click here to learn more
Δ = absolute <relative> (impact)
,ø = not affected
,? = missing data
Powered by Codecov. Last update 038bb23...9e61b72. Read the comment docs.
Implement a function in the
Particle
class that maps the displacements from the material points to the nodal properties pool. Additionally, implement another function in theNode
class to compute the nodal multimaterial displacements and separation vectors. Both of these functions are called from theMPMExplicit
solve function within every computation step by iterating over all particles and all nodes, respectively. The following describes the rationale behind themap_multimaterial_displacements_to_nodes()
function:nodes_
.mass_ * shapefn_[i] * displacement_
and update the nodal property at the node.The following describes the rationale behind the
compute_multimaterial_separation_vector()
function:std::set material ids
.displacement_
.nodal_properties_
(this computation is done in a separate iteration over all the materials, for the displacement of the centre of mass is necessary).This PR is related to the RFC #636 . The calculation of the displacements and separation vectors for each node and material is expected with this PR. The separation vector is essential for the contact algorithm since it is used in a second verification of the contact between two adjacent materials.