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

Tracking issue for adding CPO/LPO tracking and development to aspect #3885

Open
MFraters opened this issue Nov 13, 2020 · 3 comments
Open

Tracking issue for adding CPO/LPO tracking and development to aspect #3885

MFraters opened this issue Nov 13, 2020 · 3 comments

Comments

@MFraters
Copy link
Member

MFraters commented Nov 13, 2020

Lattice/Crystal Preferred Orientation (LPO/CPO, they are different names for the same) is a useful tool to be able to compare against seismic anisotropy data, and can give us a more direct link to mantle flow. It could also be used in the future to make anisotropic viscosities.

It has been a bit of a process of getting this into aspect, but I think it is final near the level to start making pull requests (note that is may still take a bit for the first pull request is made). To make the review process a bit more easy, I will split up the pull requests in several parts. This issue is to keep track of them and discuss if a different cut up of the pull request is needed. Each part will contain their own tests, although there will be some overlap in some tests besides the dependencies given in each point, which will be address along the way, tracked by point 6.

  1. The core of the LPO/CPO property plugin. It will contain the particle properties, the advection algorithms and a derivative computation which doesn't change the grain size, and rotates the CPO direction with the rotation of the particle. Besides unit tests, this will contain a test where a particle is rotated in a circle, and the direction should always stay the same relative to the rotation of the particle. (pull request Add particle property plugin CPO core  #3903, fix: Fix particle cpo function by making it const. #4981)
  2. (new dependency to clean up tracking) add function to particle manager to get the particle property (dependent on 1) (pull request: add particle get_plugin_pointer_by_name() function. #4978)
  3. Add the D-Rex computation of the derivatives for the grain-sizes and rotation of the direction matrices. (dependent on 1) (pull request: Add CPO DRex computation #4975)
  4. Add random draw volume weighting utilities function (implementation Add matrix random volume weighting utilities function #5094)
  5. Add a CPO postprocessor which can write out both weighted and unweighed CPO data to files. (dependent on 1, 2 and 4) (implementation: Add CPO main postprocessor #4979)
  6. Add a particle property property plugin which can compute the Bingham average of the directions of the direction matrices (dependent on 1, 2 and 4) (implementation: Add cpo property Bingham average #4980)
  7. Add a particle property plugin which can compute the elastic tensor from the CPO. (dependent on 1, 2, 3 and 12) (pull request: Add cpo elastic tensor plugin #4987)
  8. Add a particle property plugin which can decompose the elastic tensor into the anistropic parts (Isotropic, Hexagonal, Tetragonal, Orthorhombic, Monoclinic and Triclinic). (dependent on 6 (adds to postprocessor), 7, 12) (pull request Add cpo elastic tensor decomposition plugin #5116, Add changelog entry for CPO elastic symmetry decomposition. #5840)
  9. Add world builder initial conditions coupling. (dependent on 1). (pull request Add world builder integration to CPO initial grains. #5826)
  10. Add the overlapping tests. (pull request Add cpo elastic decomposition info to output #5784, Imporve cpo simple shearbox test. #5853,)
  11. Add documentation
  12. Add Tensor utility functions (pull request Add elastic utilities #5284)

Related changes and fixes:

@bobmyhill
Copy link
Member

Wow, this is ambitious! Looking forward to seeing this move forwards!

@MFraters
Copy link
Member Author

It took ~3.5 years, but the CPO plugins are now part of ASPECT and tested 🎉

I still need to add documentation on how to use it and add some benchmarks, but @magmaxt was planning to help me with that so that hopefully won't take another 3.5 years ;)

@magmaxt
Copy link
Contributor

magmaxt commented Jun 12, 2024

It took ~3.5 years, but the CPO plugins are now part of ASPECT and tested 🎉

I still need to add documentation on how to use it and add some benchmarks, but @magmaxt was planning to help me with that so that hopefully won't take another 3.5 years ;)

I am very grateful about the mentorship from @MFraters @gassmoeller @bangerth @tjhei on how to get started at the ASPECT hackathon !!
I am down for collaborating with @MFraters on the documentations and benchmarks : )

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

No branches or pull requests

3 participants