cb-geo / mpm

CB-Geo High-Performance Material Point Method
https://www.cb-geo.com/research/mpm
Other
238 stars 82 forks source link

Feature/particle refactor #650

Closed kks32 closed 4 years ago

kks32 commented 4 years ago

Describe the PR Refactor particle class to handle multiple particle properties. Remove the particle base class. Add implementation for handling particle scalar properties.

Related Issues/PRs This is a work in progress implementation of #637

Additional context Still to resolve

codecov[bot] commented 4 years ago

Codecov Report

Merging #650 into develop will increase coverage by 0.11%. The diff coverage is 91.50%.

Impacted file tree graph

@@             Coverage Diff             @@
##           develop     #650      +/-   ##
===========================================
+ Coverage    96.56%   96.67%   +0.11%     
===========================================
  Files          122      120       -2     
  Lines        25247    25236      -11     
===========================================
+ Hits         24378    24395      +17     
+ Misses         869      841      -28     
Impacted Files Coverage Δ
include/materials/bingham.h 100.00% <ø> (ø)
include/materials/bingham.tcc 98.18% <ø> (ø)
include/materials/linear_elastic.h 100.00% <ø> (ø)
include/materials/linear_elastic.tcc 100.00% <ø> (ø)
include/materials/material.h 100.00% <ø> (ø)
include/materials/modified_cam_clay.h 100.00% <ø> (ø)
include/materials/modified_cam_clay.tcc 89.14% <ø> (ø)
include/materials/mohr_coulomb.h 100.00% <ø> (ø)
include/materials/mohr_coulomb.tcc 99.29% <ø> (ø)
include/materials/newtonian.h 100.00% <ø> (ø)
... and 23 more

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 7d4fe75...b00642f. Read the comment docs.

kks32 commented 4 years ago

@tianchiTJ maybe namespace mpm::Particle::TwoPhase

tianchiTJ commented 4 years ago

@tianchiTJ maybe namespace mpm::Particle::TwoPhase

Sure, and for some general function like initialize_particle. Shall we create a new function like initialize_twophase_particle or other way? If use new function initialize_twophase_particle, is it only use to define variables for fluid phase and still need to use the original initialize_particle to define variables for solid phase, or include all defination?

kks32 commented 4 years ago

I'll close this issue/branch as #654 supersedes this and is probably a better design. Please raise any objections you may have. I'll delete this branch after our weekly meeting.