Skip to content

Commit 930a306

Browse files
committed
Merge remote-tracking branch 'origin/main' into mfournier01/tracer
2 parents f7afaf5 + 1dd34f0 commit 930a306

4 files changed

Lines changed: 438 additions & 11 deletions

File tree

.github/workflows/ci.yml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
11
name: CI
22

3-
on: [pull_request]
3+
on:
4+
# when triggered manually
5+
workflow_dispatch:
6+
# when auto merge is enabled (hack to make sure it's run before merging)
7+
pull_request:
48

59
# Cancel "duplicated" workflows triggered by pushes to internal
610
# branches with associated PRs.

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,14 @@ To enable, set `do_coalesced_comms=true` in the `<parthenon/mesh>` block of the
2020
by adding an optional string as last argument to any `ParameterInput` `Get` or `GetOrAdd` call.
2121

2222
### Added (new features/APIs/variables/...)
23+
- [[PR 157]](https://github.com/parthenon-hpc-lab/athenapk/pull/157) Support injection of blobs with density/temp contrast in turbulence simulations
2324

2425
### Changed (changing behavior/API/variables/...)
2526

2627
### Fixed (not changing behavior/API/variables/...)
2728

2829
### Infrastructure
30+
- [[PR 149]](https://github.com/parthenon-hpc-lab/athenapk/pull/149) Allow triggering of pipelines manually
2931
- [[PR 156]](https://github.com/parthenon-hpc-lab/athenapk/pull/156) Bump formatters to clang-format-20 and black 25.12
3032
- [[PR 146]](https://github.com/parthenon-hpc-lab/athenapk/pull/146) Bump Parthenon 25.12 and Kokkos 4.7.02
3133

docs/turbulence.md

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,64 @@ in the input file.
8888
Alternatively, wavemodes can be chosen/defined manually, e.g., if not all wavemodes are desired or
8989
only individual modes should be forced.
9090

91+
### Blob injection
92+
93+
In order to study the evolution of (cold) clouds in a turbulent environment,
94+
blobs can be injected to the simulation.
95+
The injection is a one off mechanism controlled by the following parameters
96+
97+
```
98+
<problem/turbulence>
99+
# only one of the following three conditions can be set at a given time
100+
inject_once_at_time = -1.0
101+
inject_once_at_cycle = -1
102+
inject_once_on_restart = false
103+
inject_n_blobs = -1 # number of blob to inject
104+
# then for the given number of blobs follow parameters need to be given (starting to count with 0)
105+
inject_blob_radius_0 = ... # float, in code length units, no default value
106+
inject_blob_loc_0 = ...,...,... # location vector of three comma-separated floats, in code length units, no default value
107+
inject_blob_chi_0 = ... # float, dimensionless, no default value, density ratio to existing value
108+
inject_blob_radius_1 = ...
109+
...
110+
```
111+
112+
In practice, this will result in blobs being seeded at a given time, cycle, or upon restart
113+
by adjusting the density within the blob's radius by a factor of $\chi$ and
114+
at the same time adjusting the temperature by a factor of $1/\chi$ so that the
115+
blob remain in pressure equilibrium.
116+
117+
While this is an action that is performed once, it can be repeated upon restart (or a later
118+
time) by resetting the variables.
119+
120+
A current restriction is that the blobs cannot be seeded across a domain boundary (i.e.,
121+
the periodicity of the box is not taken into account).
122+
123+
### Rescaling **not recommended*
124+
125+
*The rescaling described in the following is generally not recommended, as it result in a
126+
state that is not naturally reached.
127+
Moreover, given the artificial nature of a hard reset, some time after the rescaling is
128+
required for the system to readjust.
129+
130+
For non-isothermal simulations, the plasma will eventually heat up over time due to dissipation.
131+
One possibility to remove that extra heat (or add heat), is to rescale the temperature in the simulation.
132+
This can be done via the following parameters:
133+
134+
```
135+
<problem/turbulence>
136+
# only one of the following three conditions can be set at a given time
137+
rescale_once_at_time = -1.0
138+
rescale_once_at_cycle = -1
139+
rescale_once_on_restart = false
140+
rescale_to_rms_Ms = -1.0
141+
```
142+
143+
As the parameters suggest, rescaling is a one off action (though it can be repeated when
144+
the parameters are set again for a subsequent restart).
145+
The density and velocity field are not changed, only the specific internal energy is
146+
adjusted so that the volume-weighted root mean squared sonic Mach number matches
147+
the target value.
148+
91149
## Typical results
92150

93151
The results shown here are obtained from running simulations with the parameters given in the next section.

0 commit comments

Comments
 (0)