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

[ML] integration for triangles with 7 IPs #2798

Merged
merged 2 commits into from Feb 13, 2020
Merged

[ML] integration for triangles with 7 IPs #2798

merged 2 commits into from Feb 13, 2020

Conversation

FZill
Copy link
Contributor

@FZill FZill commented Feb 11, 2020

Added Gauss-Legendre Integration for Triangles with 7 Integration Points.
Necessary to output secondary variables at least in HM.
We might change the integration order to 5 as in the reference, but I opted for 4 as it is the 4th option available.
Values are from here (Appendix II, p=5):
Dunavant, D. A. "High degree efficient symmetrical Gaussian quadrature rules for the triangle." International journal for numerical methods in engineering 21.6 (1985): 1129-1148.
URL: https://onlinelibrary.wiley.com/doi/epdf/10.1002/nme.1620210612

[x] Feature description was added to the changelog

@endJunction
Copy link
Member

It would be nice if the commit message would include the detailed PR-description.

Formatting.

Copy link
Member

@wenqing wenqing left a comment

Choose a reason for hiding this comment

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

👍
It would be nice to include a ctest.

@FZill FZill changed the title [ML] integration for triangles with 7 IPs [ML] integration for triangles with 7 IPs [WiP] Feb 11, 2020
@FZill FZill changed the title [ML] integration for triangles with 7 IPs [WiP] [ML] integration for triangles with 7 IPs Feb 12, 2020
@FZill
Copy link
Contributor Author

FZill commented Feb 12, 2020

Found another source with more decimal places -> updated the values.
Also made a simple plausibility test with rectangular vs. triangular elements. The results compare reasonably well. A ctest verifying the integration point positions and weights is for a future PR.

@FZill FZill removed the WIP 🏗️ label Feb 12, 2020
@ThieJan
Copy link
Contributor

ThieJan commented Feb 12, 2020

Necessary to output secondary variables at least in HM.

Just curious: Is this the reason to select a higher integration order?

@FZill
Copy link
Contributor Author

FZill commented Feb 12, 2020

@ThieJan The extrapolation is not possible with fewer integration points than nodes. The secondary variable output was just the reason for me to implement it, because the HM process needs quadratic elements and thus I couldnt simulate HM with triangular elements with the secondary variable output.

@ThieJan
Copy link
Contributor

ThieJan commented Feb 12, 2020

@FZill
The used extrapolation algorithm does not work if there are less integration points than nodes. Obviously this is a shortcoming of the selected method.

However, I would not have used a higher integration order as work-around:

  • more possibly non-linear material models to solve
  • more material states to store

@FZill
Copy link
Contributor Author

FZill commented Feb 12, 2020

@ThieJan You have a point there, but this was just now an easier solution instead of implementing a new extrapolator. But it is indeed a good idea to implement that in the future.

@ThieJan
Copy link
Contributor

ThieJan commented Feb 12, 2020

I see. This solution surprised me. It is beyond my creativity :-)

To get a clue on the stresses I recently added a averaged output for the RM process. Probably a bad idea doing it hard coded into the process (#2784). Would be nice to move it to the output classes and make it selectable in the prj output definition.

@endJunction
Copy link
Member

@ThieJan Fully agree with the extrapolation/interpolation suggestion to move it out of the classes.

@wenqing
Copy link
Member

wenqing commented Feb 12, 2020

One idea for future improvement of the extrapolation method:

  1. Extrapolate integration point values to vertex nodes of element with the current method,
  2. Interpolate vertex node values to edges nodes on element edges if the element is higher order.

By this way, the criterion becomes that the number of integration points must not be less than the number of vertexes of an element. This is satisfied with the integration schemes of all existed element types, and makes one be free to choose the integration order.

Added Gauss-Legendre Integration for Triangles with 7 Integration Points.
Necessary to output secondary variables at least in HM.
We might change the integration order to 5 as in the reference,
but I opted for 4 as it is the 4th option available.
Values are from here in Appendix II (p = 5):
Dunavant, D. A.
"High degree efficient symmetrical Gaussian quadrature rules for the triangle."
International journal for numerical methods in engineering
21.6 (1985): 1129-1148.
URL: https://onlinelibrary.wiley.com/doi/epdf/10.1002/nme.1620210612
@endJunction endJunction merged commit 59c47d4 into ufz:master Feb 13, 2020
@FZill FZill deleted the GL_TRI_7 branch February 13, 2020 13:57
@ogsbot
Copy link
Member

ogsbot commented Jun 19, 2020

OpenGeoSys development has been moved to GitLab.

See this pull request on GitLab.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
5 participants