-
Notifications
You must be signed in to change notification settings - Fork 12
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
### Description In this PR, I implement photoelectric heating within the current gas-radiation-dust interaction framework. PE can be enabled by setting `enable_photoelectric_heating = true` in `ISM_Traits`. The prerequisite is `nGroups > 1` and `enable_dust_gas_thermal_coupling_model = true`. Added two test problems, `RadiationMarshakDustPE-coupled` and `RadiationMarshakDustPE-decoupled`, to test photoelectric heating in cases where gas and dust are well coupled and decoupled. These two tests share the same problem code `test_radiation_marshak_dust_and_PE.cpp` but use different runtime parameters. Here is the code structure: ``` - AddSourceTermsMultiGroup - outer loop: - compute `v_times_F_term` - solve gas-dust-radiation energy exchange: - if constexpr (!enable_dust_gas_thermal_coupling_model_) - `SolveGasRadiationEnergyExchange`: - The matter-radiation coupling scheme from the multigroup paper - else if constexpr (!enable_photoelectric_heating_) - `SolveGasDustRadiationEnergyExchange()`: - The gas-dust-radiation coupling scheme proposed in #733, which has two cases: the well-coupled case and decoupled case - else - `SolveGasDustRadiationEnergyExchangeWithPE()`: - Based on the gas-dust-radiation coupling scheme, but with modified Jacobian in the well-coupled case to include PE heating. In the decoupled case, PE heating is added via a forward-Euler update using the updated radiation energy density after the gas-dust-radiation step. - compute updated `v_times_F_term` - if `v_times_F_term` has converged, break - `UpdateFlux()` ``` ### Related issues A modification to #733 to include PE heating. ### Checklist _Before this pull request can be reviewed, all of these tasks should be completed. Denote completed tasks with an `x` inside the square brackets `[ ]` in the Markdown source below:_ - [x] I have added a description (see above). - [x] I have added a link to any related issues see (see above). - [x] I have read the [Contributing Guide](https://github.com/quokka-astro/quokka/blob/development/CONTRIBUTING.md). - [x] I have added tests for any new physics that this PR adds to the code. - [x] I have tested this PR on my local computer and all tests pass. - [x] I have manually triggered the GPU tests with the magic comment `/azp run`. - [x] I have requested a reviewer for this PR. --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
- Loading branch information
1 parent
8671c5e
commit e69f403
Showing
15 changed files
with
1,509 additions
and
327 deletions.
There are no files selected for viewing
This file contains 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
This file contains 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
This file contains 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
This file contains 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
This file contains 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
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
add_executable(test_radiation_marshak_dust_PE test_radiation_marshak_dust_and_PE.cpp ../../util/fextract.cpp ${QuokkaObjSources}) | ||
|
||
if(AMReX_GPU_BACKEND MATCHES "CUDA") | ||
setup_target_for_cuda_compilation(test_radiation_marshak_dust_PE) | ||
endif(AMReX_GPU_BACKEND MATCHES "CUDA") | ||
|
||
add_test(NAME RadiationMarshakDustPE-coupled COMMAND test_radiation_marshak_dust_PE RadMarshakDustPEcoupled.in ${QuokkaTestParams} WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/tests) | ||
add_test(NAME RadiationMarshakDustPE-decoupled COMMAND test_radiation_marshak_dust_PE RadMarshakDustPEdecoupled.in ${QuokkaTestParams} WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/tests) |
Oops, something went wrong.