Chemistry Interfaces for Krome, Uclchem, and KromeSph - #1282
Open
elkogerville wants to merge 143 commits into
Open
elkogerville wants to merge 143 commits into
elkogerville wants to merge 143 commits into
Conversation
…it, and fixing download statements
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR adds
Uclchem,Krome, andKromeSphas a community code in AMUSE.This PR also adds the new
ChemicalEvolutionInterfaceand other chemical evolution interfaces insrc/amuse/community/interfaces/chem.pyUclchem is a gas-grain chemical code for astrochemical modelling.
Implementation Notes
• Krome and Uclchem were rewritten to have near identical interfaces for similar user experiences
• Created new methods for chemistry specific operations:
•
get_abundances_by_name-> method that takes a list of species names as input and returns the corresponding abundances for that particle•
get_abundance-> method that takes in a species index and returns the abundance for that specific species•
set_abundance-> corresponding method that sets the abundance of a species for a particle•
set_abundances-> vectorized method that can set the entire abundance array of a particle from a numpy array• Added u.habing to
units.pyUclchem Notes:
• The interface is completely written in Python.
• The Uclchem version is pinned to the latest release
v4.0.0• Uses the new
ChemicalEvolutionInterfaceKrome Notes:
• Krome was already implemented in AMUSE but this PR refactors the interfaces to use
ChemicalEvolutionInterface• All fortran files were rewritten in modern fortran syntax for future maintainability.
KromeSph Notes:
• KromeSph is an alternate compilation of Krome more suitable for coupled hydrodynamical simulations with Krome.
• Temperature and number density particle attributes were replaced with internal energy and density for more seamless coupling with hydro codes via channels.
• Additional chemistry interface mixins in
src/amuse/community/interfaces/chem.pywere created to support this interfaceCloses issue #1261