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

refactor transport #233

Open
3 of 5 tasks
ecoon opened this issue Feb 3, 2024 · 1 comment
Open
3 of 5 tasks

refactor transport #233

ecoon opened this issue Feb 3, 2024 · 1 comment

Comments

@ecoon
Copy link
Collaborator

ecoon commented Feb 3, 2024

The Transport_ATS is in need of a major refactor. See all issues tagged with reactive-transport-roundup.

A first cut at this is in review at #232 . This will serve as a running list of things still to be fixed from that PR.

  • Several PK_DomainFunctions use fields, but do not require their data or evaluators. Currently some, but probably not all, of these fields and their evaluators are Required in transport_ats_pk. These should get moved to the domain function. Furthermore, most PK_DomainFunctions probably don't call Update() on the fields that they do use, which could easily introduce bugs. At least PK_DomainFunctionField does call Update if there is an evaluator -- see that implementation as an example -- though it does not call require on that field.
  • Remove all references to inner subcycling e.g. search for: if subcycling_ and tag_subcycle_{next,current}_
  • Figure out the difference between primary and secondary, aqueous vs solid vs non-advected vs gas, etc. For instance, does component_names include secondary species or just primary? What vectors should include solid_residue?
  • Remove the many many local pointers to memory. Get the data from State -- these pointers may not stay constant in the future!
  • Add interpolation evaluator, removing manual calls of saturation, porosity, density at NEXT and CURRENT
@levuvietphong
Copy link
Contributor

levuvietphong commented Feb 5, 2024

The following regression tests set the (transport) inner subcycling flag true:

- 06_transport/surface_tracer.xml
- 06_transport/subsurface_tracer.xml
- 07_reactive_transport/dilution_test.xml
- 07_reactive_transport/subsurface_sorption.xml
- 07_reactive_transport/subsurface_sorption_logical.xm
- 07_reactive_transport/surface_decay_ingrowth.xml
- 07_reactive_transport/surface_denitrification.xml
- 07_reactive_transport/surface_denitrification_logical.xml

Should we update these tests and set the flag to false?

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

2 participants