Skip to content
This repository has been archived by the owner on Jun 27, 2024. It is now read-only.

Breakup, splashing, and wall film models #17

Merged
merged 205 commits into from
Dec 4, 2023
Merged

Breakup, splashing, and wall film models #17

merged 205 commits into from
Dec 4, 2023

Conversation

ldowen
Copy link
Collaborator

@ldowen ldowen commented Oct 3, 2023

This PR contains

  • KHRT breakup model
  • ETAB breakup model
  • Splash model detailed in "Development and application of a drop-wall interaction model at high ambient pressure conditions" from Ahamed et al. in Atomization and Sprays, Vol. 32, Iss. 4 2022
  • A crude wall film model, assumes wall film is stationary and 1D
  • Routines to allow particle creation during particle update process, involves data movement from host and device for GPU solutions

@ldowen ldowen requested review from marchdf and baperry2 October 3, 2023 20:20
@@ -0,0 +1,5063 @@
#ifndef MECHANISM_H
Copy link
Contributor

Choose a reason for hiding this comment

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

Feels like the chem files should belong in PelePhysics?

@@ -0,0 +1,38 @@
# AMReX
Copy link
Contributor

Choose a reason for hiding this comment

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

Part of me is a bit worried about all these Exec tests in PeleMP. I can easily see us changing things in LMeX or C and forgetting that these exist. Maybe we should think about moving these problems into the actual code bases?

Copy link
Contributor

Choose a reason for hiding this comment

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

This is a large data file. Does it belong here?

@baperry2
Copy link
Contributor

baperry2 commented Oct 4, 2023

Another thing that would be super helpful here because we're not as familiar with the models being implemented is some brief documentation on the theory/models, how to run them, and the expected results from a test case.

@marchdf marchdf merged commit 88358e2 into master Dec 4, 2023
@@ -204,9 +226,17 @@ SprayParticleContainer::uniformSprayInit(
}
part_vals[SprayComps::pstateT] = T_part;
part_vals[SprayComps::pstateDia] = dia_part;
for (int spf = 0; spf < SPRAY_FUEL_NUM; ++spf) {
Copy link
Contributor

Choose a reason for hiding this comment

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

Was this removed intentionally? Test cases in LMeX and C are failing with NaNs due to these components not being initialized.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

I believe this was mistakenly removed and should be added back in. Good catch

Copy link
Contributor

Choose a reason for hiding this comment

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

Thanks for the quick replies. This has been done in AMReX-Combustion/PelePhysics#452

//
// Set the number of particles per parcel
//
pp.query("parcel_size", parcel_size);
Copy link
Contributor

Choose a reason for hiding this comment

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

The test cases in LMeX and C are set up to have parcel_size of 10 and 100, so this change, which effectively makes parcel_size always 1 without splash/breakup models, leads to different results for those tests. Running the old MP code with a parcel_size of 1 results in no diffs vs. this code. Just want to make sure that this is the correct anticipated behavior after this PR, and we can simply remove the parcel_size input file entries going forward.

https://github.com/AMReX-Combustion/PeleLMeX/blob/56740f63b9ed9650ceb4cae171e6e561bc983431/Exec/RegTests/SprayTest/input.2d#L91

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

With these changes, there should not be a parcel_size input file entry. Instead, the parcel size is set based on how the particles are initialized. For jets, it is an input for the particular jet, and for uniform initialization the parcel size is set as an input here.

const amrex::Real num_ppp)

The correct fix would be to have a problem specific input from the input file for the uniform spray cases that gets read in and passed through here.

Copy link
Contributor

Choose a reason for hiding this comment

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

Ok. Will leave this alone for now because the cases can still run, but will look into adding this later

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

Successfully merging this pull request may close these issues.

3 participants