-
Notifications
You must be signed in to change notification settings - Fork 8
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Dual horizon PD #146
base: main
Are you sure you want to change the base?
Dual horizon PD #146
Conversation
Co-authored-by: Pablo Seleson <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great start - few initial suggestions
_init_timer.stop(); | ||
} | ||
|
||
void init_dual_mu() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this should be in the DHPD class?
@@ -662,6 +682,8 @@ class SolverFracture | |||
|
|||
using NeighborView = typename Kokkos::View<int**, memory_space>; | |||
NeighborView mu; | |||
NeighborView dual_mu; // Bond damage for dual horizon |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Same here - should be below in the DHPD class
@@ -225,7 +225,7 @@ template <class ForceType, class ParticleType, class NeighListType, | |||
class NeighborView, class ParallelType> | |||
void computeForce( ForceType& force, ParticleType& particles, | |||
const NeighListType& neigh_list, NeighborView& mu, | |||
const ParallelType& neigh_op_tag ) | |||
double multiplier, const ParallelType& neigh_op_tag ) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can put this last and default to 1.0 to make things simpler throughout
The implementation of DHPD.
This still hasn't been tested yet, I also have just copied the normal neighbour list for the dual neighbour list since variable horizon calculation is not yet available on the Cabana level.
Let me know if anything stand out in this, we can also test it by running a normal PD simulation with half the bond constant and it should arrive to the same solution as normal PD.
Relevant changes are in solver, force and force_PMB.hpp