Skip to content
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

📝 Add contact algorithm theory #58

Open
wants to merge 6 commits into
base: master
Choose a base branch
from
Open

Conversation

thiagordonho
Copy link
Contributor

@thiagordonho thiagordonho commented Mar 1, 2021

Describe the PR
This contribution incorporates the theory behind the Contact Algorithm to the MPM documentation.

https://deploy-preview-58--mpm.netlify.app/#/theory/contact

@thiagordonho thiagordonho requested review from kks32 and cbgeo March 1, 2021 16:03
@kks32 kks32 self-assigned this Mar 1, 2021
@kks32 kks32 added Priority: Medium Priority: Medium Status: Review needed Status: Review needed Type: Documentation Type: Documentation labels Mar 1, 2021
@jgiven100
Copy link
Contributor

@thiagordonho I merged my linear elastic updates into this branch so everything is up-to-date!

Copy link
Contributor

@kks32 kks32 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Add a figure like the one in MPM25 years paper to show the algorithm


# Contact Algorithm {docsify-ignore}

> at each time step $\Delta t$ from $t$ to $t + \Delta t$, the nodal kinematics are initially computed similarly to the conventional MPM algorithm but considering the distinct materials:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
> at each time step $\Delta t$ from $t$ to $t + \Delta t$, the nodal kinematics are initially computed similarly to the conventional MPM algorithm but considering the distinct materials:
> at each time step $\Delta t$ from $t$ to $t + \Delta t$, the nodal kinematics are computed similar to the conventional MPM algorithm while considering distinct materials:

@@ -0,0 +1,208 @@
# Contact Mechanics Between Distinct Bodies

The Material Point Method is naturally capable of modelling distinct bodies because each material point holds the information of its own material. However, the conventional MPM alone does not handle contact mechanics as the surface of distinct bodies meet. Additionally, one may need to identify contact interfaces without the need of prescribing their geometry at the start of a simulation. Therefore, the MPM requires a contact algorithm capable of identifying the contact of distinct bodies and applying their contact relationship. A first approach to deal with frictional contact was introduced by Bardenhagen et. al. (2000). This approach is the one presented within this document. Bardenhagen et. al. (2000) also describes the normal to the interface surface for each material as the normalized gradients of the volume. However, the authors method can lead to normal vectors of both materials that are not always aligned -- i.e., opposite to each other for two materials in contact -- which can lead to further errors of the contact relationship. Therefore, a slight change, as proposed by Nairn (2013), was introduced to the algorithm to handle such cases.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Revise as per comments posted on Google Docs


* The state parameters at the material points are initialised at the beginning of every time step in the same manner as it is in the conventional MPM.

* The shape functions $N_i(x_p^t)$ and the gradient of the shape functions $B_i (x_p^t)$ are also computed at each material point as the conventional MPM dictates, with no changes due to the contact algorihtm.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
* The shape functions $N_i(x_p^t)$ and the gradient of the shape functions $B_i (x_p^t)$ are also computed at each material point as the conventional MPM dictates, with no changes due to the contact algorihtm.
* The shape functions $N_i(x_p^t)$ and the gradient of the shape functions $B_i (x_p^t)$ are also computed at each material point like in conventional MPM.


* The shape functions $N_i(x_p^t)$ and the gradient of the shape functions $B_i (x_p^t)$ are also computed at each material point as the conventional MPM dictates, with no changes due to the contact algorihtm.

* A nodal set of all the material ids (with no repetition) is created by identifying the material ids of all the material points in the cell. Each new material id is appended to this set. The size of this set will indicate whether the node is located at an interface of two or more materials or not.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
* A nodal set of all the material ids (with no repetition) is created by identifying the material ids of all the material points in the cell. Each new material id is appended to this set. The size of this set will indicate whether the node is located at an interface of two or more materials or not.
* To identify a contact node, the material ids of all the material points in a cell are mapped to the associated nodes, where a list of unique material ids is maintained. Any node which has more than two material ids is identified as a contact node.


* A nodal set of all the material ids (with no repetition) is created by identifying the material ids of all the material points in the cell. Each new material id is appended to this set. The size of this set will indicate whether the node is located at an interface of two or more materials or not.

* The nodal mass and momentum are calculated separately for each body $k$. They are based on the mass and velocity of all the material points in the cell that belong to their respective body and are mapped to the nodes using the shape functions.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
* The nodal mass and momentum are calculated separately for each body $k$. They are based on the mass and velocity of all the material points in the cell that belong to their respective body and are mapped to the nodes using the shape functions.
* The nodal mass and momentum are calculated separately for each body $k$ based on the mass and velocity of all the material points corresponding to the body $k$ in the cell. The properties are then mapped to the nodes using the shape functions.


* The nodal mass and momentum are calculated separately for each body $k$. They are based on the mass and velocity of all the material points in the cell that belong to their respective body and are mapped to the nodes using the shape functions.

* Compute nodal mass of each body
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

image
Use the convention here to denote $b$ for each body.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Priority: Medium Priority: Medium Status: Review needed Status: Review needed Type: Documentation Type: Documentation
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants