Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
2598 commits
Select commit Hold shift + click to select a range
dff3d4f
Improve README formatting and add emojis (#1041)
sbryngelson Nov 12, 2025
f3e2bfa
example case fix ups
wilfonba Nov 13, 2025
882f3b3
CMakeLists.txt fix
wilfonba Nov 13, 2025
11e32b6
Addressing more PR comments
wilfonba Nov 13, 2025
dce1f69
fix boundary condition patches and simplex noise
wilfonba Nov 13, 2025
c5bfab3
more bug fixes
wilfonba Nov 13, 2025
87e3cad
Merge remote-tracking branch 'upstream/master' into openmp_cce
wilfonba Nov 13, 2025
9006d4c
format
wilfonba Nov 13, 2025
8c20535
fix IB markers seg fault
wilfonba Nov 13, 2025
d5ee387
Fix for benchmarking on frontier
Nov 13, 2025
02b41fa
Remove release badge from README (#1044)
sbryngelson Nov 14, 2025
d6b8f03
Smooth MHD Convergence Cases (#1040)
danieljvickers Nov 14, 2025
1ca7a0b
fix to make benchmark work on frontier
Nov 14, 2025
6e63bc7
format
Nov 14, 2025
8b5bf01
Merge pull request #1035 from prathi-wind/openmp_cce
anandrdbz Nov 14, 2025
845951a
Add journal information to citation (#1045)
sbryngelson Nov 14, 2025
0e9ec87
fix homebrew a bit (#1047)
sbryngelson Nov 15, 2025
df88ecb
readme (#1049)
sbryngelson Nov 15, 2025
bf98d19
Modify badges in README.md (#1050)
sbryngelson Nov 15, 2025
d583912
frontier fixes
wilfonba Nov 18, 2025
fad6bb6
frontier fixes
wilfonba Nov 18, 2025
fd61d68
Add line numbering to gpu loops (#1029)
danieljvickers Nov 19, 2025
bb79564
Complete form of the SG EoS
JRChreim Nov 22, 2025
370a66b
Update m_variables_conversion.fpp
JRChreim Nov 22, 2025
3dd4441
Update m_data_output.fpp
JRChreim Nov 23, 2025
203e3c0
Update m_variables_conversion.fpp
JRChreim Nov 23, 2025
ba0d6be
fix debug build
wilfonba Nov 23, 2025
e382191
correct roe average of qv
wilfonba Nov 23, 2025
46642a4
fix acc build
wilfonba Nov 23, 2025
11d12e5
Update m_riemann_solvers.fpp
JRChreim Nov 23, 2025
84f36a7
Update m_riemann_solvers.fpp
JRChreim Nov 24, 2025
23877f4
Merge pull request #1057 from JRChreim/SGEoS
JRChreim Nov 24, 2025
0abd2de
CI test (#1054)
sbryngelson Nov 25, 2025
6051eec
Adding internal energies to the output of the conservative variables …
JRChreim Nov 27, 2025
2d9065c
reduce redundancy in bubbles (#1062)
hyeoksu-lee Nov 27, 2025
9dcd344
Make fluid variables uniform through the code (#1063)
JRChreim Nov 27, 2025
9a9ed04
Three new examples cases (#1060)
Cowsreal Nov 27, 2025
ec169c4
Update cantera and pyrometheus dependencies (#1053)
sbryngelson Nov 28, 2025
ed1d2b0
cfl dt bug fix (#1027)
wilfonba Nov 28, 2025
65b190d
Enable automatic versioning from Git tags (#1064)
sbryngelson Nov 28, 2025
158de26
Add example case for convergence test in 1D (#1030)
wilfonba Nov 29, 2025
4c18a6b
fix
sbryngelson Nov 29, 2025
4e2e255
Revert "fix"
sbryngelson Nov 29, 2025
bf18c7d
Add dimension-aware long-running test notifications (#1067)
sbryngelson Nov 29, 2025
3ec5276
Case checking moved to Python! (#1066)
sbryngelson Nov 30, 2025
79060a3
merge
wilfonba Nov 30, 2025
bf4d904
merge
wilfonba Nov 30, 2025
95053a1
builds on CPUs and tests pass
wilfonba Nov 30, 2025
1c7e196
builds on CPUs and tests pass
wilfonba Nov 30, 2025
10718d3
removing duplicated codes in mixture rules for EE bubbles (#1071)
hyeoksu-lee Dec 1, 2025
cf8f5e8
builds and passes tests on NV GPUs
wilfonba Dec 1, 2025
4f5c59c
builds and passes tests on NV GPUs
wilfonba Dec 1, 2025
2ceb390
tests pass on NV with OpenMP and OpenACC
wilfonba Dec 1, 2025
0c38d7f
tests pass on NV with OpenMP and OpenACC
wilfonba Dec 1, 2025
99a65fc
merge
wilfonba Dec 1, 2025
aedcb21
merge
wilfonba Dec 1, 2025
c496ce2
Constraints (#1072)
sbryngelson Dec 3, 2025
7df9041
fix (#1074)
sbryngelson Dec 3, 2025
c57442e
Update GPU condition checks in frontier.mako (#1076)
sbryngelson Dec 5, 2025
d6a695a
fix gpu templates for real though (#1077)
sbryngelson Dec 5, 2025
dfaefad
Merge remote-tracking branch 'upstream/master' into MovingBubblesFresh
wilfonba Dec 6, 2025
c9f0712
Merge remote-tracking branch 'upstream/master' into MovingBubblesFresh
wilfonba Dec 6, 2025
206b372
remove erroneous elementals, passes all test on CCE/ACC, fix 3D_lagra…
wilfonba Dec 7, 2025
f75cb4b
remove erroneous elementals, passes all test on CCE/ACC, fix 3D_lagra…
wilfonba Dec 7, 2025
b5c3495
runs and passes tests on Frontier with OpenMP and OpenACC
wilfonba Dec 8, 2025
bf58210
runs and passes tests on Frontier with OpenMP and OpenACC
wilfonba Dec 8, 2025
7940119
runs and passes tests on Frontier with OpenMP and OpenACC
wilfonba Dec 8, 2025
bee518c
runs and passes tests on Frontier with OpenMP and OpenACC
wilfonba Dec 8, 2025
a5cf29a
Oscar Mako and module update (#1082)
mrodrig6 Dec 10, 2025
bf5a91a
benchmarks hardening! (#1078)
sbryngelson Dec 11, 2025
f930cd4
Invicid two-way fluid-structure interaction (#1075)
danieljvickers Dec 12, 2025
6ca77d2
Fixed compilation with post_processing and removed the last of the ol…
danieljvickers Dec 13, 2025
657114f
Refactor subgrid bubble models (#1085)
hyeoksu-lee Dec 16, 2025
0b1cc3b
homebrew: fix toolchain install without git metadata (#1096)
sbryngelson Dec 19, 2025
a74d9e6
update python in docker files (#1097)
sbryngelson Dec 19, 2025
8783ea3
homebrew: fix toolchain install without git metadata (#1098)
sbryngelson Dec 20, 2025
33e84e2
fix swapped vapor gas properties (#1093)
hyeoksu-lee Dec 21, 2025
67833c1
fix table (#1099)
hyeoksu-lee Dec 27, 2025
3b298b2
Merge remote-tracking branch 'upstream/master' into MovingBubblesFresh
wilfonba Jan 7, 2026
0f730d1
Merge remote-tracking branch 'upstream/master' into MovingBubblesFresh
wilfonba Jan 7, 2026
a822843
additional changes for merge
wilfonba Jan 7, 2026
d91f640
additional changes for merge
wilfonba Jan 7, 2026
cf76aad
5 Equation model and relaxation (#1094)
JRChreim Jan 9, 2026
da70fe5
Unity Lewis Implementation (#1084)
DimAdam-01 Jan 9, 2026
4dbc651
Viscous stress and ellipse ib (#1102)
danieljvickers Jan 16, 2026
a3d414d
Tuo modules and template (#1103)
wilfonba Jan 16, 2026
df25a51
This change will fix configuration issues on HiperGator (#1112)
mrvandenboom Jan 20, 2026
2077a32
Pretty Comments (#1113)
danieljvickers Jan 21, 2026
3c1e059
Analytic mibm velocities and airfoil centroid (#1111)
danieljvickers Jan 24, 2026
207c7fb
bug fixes and improvements
wilfonba Jan 25, 2026
9ead54c
bug fixes and improvements
wilfonba Jan 25, 2026
485d6f7
Merge remote-tracking branch 'upstream' into MovingBubblesFresh
wilfonba Jan 25, 2026
45071de
Merge remote-tracking branch 'upstream' into MovingBubblesFresh
wilfonba Jan 25, 2026
bab6352
bug fixes
wilfonba Jan 26, 2026
2be3c34
bug fixes
wilfonba Jan 26, 2026
766f191
Fixes mako file for Hipergator CPUs (#1115)
mrvandenboom Jan 28, 2026
16b3f27
General improvements
wilfonba Jan 29, 2026
3c4bf07
General improvements
wilfonba Jan 29, 2026
2cc3850
AMDFlang compiler for MFC (#1116)
anandrdbz Feb 1, 2026
2c879be
MHD Hyperbolic Divergence Cleaning (#1086)
ChrisZYJ Feb 3, 2026
cece75d
New MPI exchange for EL bubbles, works with extrapolation but not per…
wilfonba Feb 3, 2026
3872a52
New MPI exchange for EL bubbles, works with extrapolation but not per…
wilfonba Feb 3, 2026
ef9078e
Make beta MPI work with periodic BCs
wilfonba Feb 3, 2026
13c15b9
Make beta MPI work with periodic BCs
wilfonba Feb 3, 2026
e8507e6
Fix Homebrew CI and add automated release workflow (#1120)
sbryngelson Feb 3, 2026
04005b6
Fix Docker build on ARM by pre-installing numpy (#1121)
sbryngelson Feb 4, 2026
8d2cde9
Quality of life improvements for MFC toolchain (#1118)
sbryngelson Feb 5, 2026
832391d
Merge remote-tracking branch 'upstream/master' into MovingBubblesFresh
wilfonba Feb 5, 2026
aba9e32
Merge remote-tracking branch 'upstream/master' into MovingBubblesFresh
wilfonba Feb 5, 2026
7c33ebe
Merge remote-tracking branch 'upstream/master' into MovingBubblesFresh
wilfonba Feb 5, 2026
5c8c328
Merge remote-tracking branch 'upstream/master' into MovingBubblesFresh
wilfonba Feb 5, 2026
ca69952
Add CI lint gate and local precheck command (#1122)
sbryngelson Feb 5, 2026
08877f5
Merge remote-tracking branch 'upstream/master' into MovingBubblesFresh
wilfonba Feb 5, 2026
d7f835d
Merge remote-tracking branch 'upstream/master' into MovingBubblesFresh
wilfonba Feb 5, 2026
8a5d6dd
Improve MPI EL robustness
wilfonba Feb 5, 2026
7b8b68d
Improve MPI EL robustness
wilfonba Feb 5, 2026
c278f6b
GPU bug fixes
wilfonba Feb 6, 2026
b2c52c6
GPU bug fixes
wilfonba Feb 6, 2026
2ce66a5
Update global params and startup for solid particles
Jan 30, 2026
7454f9f
Add in solid particle vars to derived types
Jan 30, 2026
83dfb08
Add solid particles initialization subroutine
Jan 30, 2026
7ce2fe0
Add solid particles check for configure_coordinate_bounds
Jan 30, 2026
0bed5f3
Add particle inputs to post process mpi_proxy
Jan 30, 2026
e5d0a79
Add particle inputs to pre-process mpi_proxy
Jan 30, 2026
fb86ab9
Add particle counterparts to bubble vars/routines to simulation/mpi_p…
Jan 30, 2026
03fc766
src/simulation/m_rhs.fpp
Jan 31, 2026
af69775
Add solid particles to m_timesteppers
Jan 31, 2026
c3b4251
Add module files for E-L solid lagrangian particles
Jan 31, 2026
4f5d7ee
Sync changes with MovingBubblesFresh.
Jan 31, 2026
564fe25
General Bug Fixes
Jan 31, 2026
34e489d
Add Example Cases for EL solid particles
Jan 31, 2026
c899e01
Update EL solid particle examples
Feb 2, 2026
d2f6160
General Improvements to particle EL solver
Feb 2, 2026
81d687f
Add two-way coupling for EL w/ solid particles
Feb 2, 2026
32d02a3
General Bug Fixes and Improvements
Feb 2, 2026
f0ef9c4
Bug Fixes for GPU Offloading and compiling with solid particles
Feb 5, 2026
d9708dc
Bug Fixes and Formatting Fixes
Feb 8, 2026
8ec841e
Formatting Fixes
Feb 8, 2026
74bbfff
Shell completion auto-install and pre-commit hook improvements (#1124)
sbryngelson Feb 9, 2026
86bd1f4
Remove .cursor directory (#1128)
sbryngelson Feb 9, 2026
2f22a94
Update README: theming, capabilities, and cleanup (#1129)
sbryngelson Feb 9, 2026
00643fa
changes for sandia el sims
wilfonba Feb 9, 2026
44871ff
bug fix
wilfonba Feb 9, 2026
a65abec
Update MFC 5.0 citation to published CPC article (#1131)
sbryngelson Feb 9, 2026
31e6e60
Bug Fixes
Feb 9, 2026
38b1abf
Simplify landing page JS and fix broken scaling section (#1132)
sbryngelson Feb 10, 2026
6bb383d
Auto-generate description labels and extend DEPENDENCIES schema (#1133)
sbryngelson Feb 11, 2026
d0bf463
Add developer guide, streamline PR template, AI reviewers (#1134)
sbryngelson Feb 11, 2026
bcde69b
Implement Added Mass Force
Feb 12, 2026
99dccab
Modify .pr_agent.toml for PR commands and settings (#1137)
sbryngelson Feb 12, 2026
bebfbee
Bug Fixes for Interpolation
Feb 13, 2026
14383ec
Add comprehensive equations documentation (#1136)
sbryngelson Feb 13, 2026
3c085ad
Fix empty bibliography in CI docs build (#1142)
sbryngelson Feb 13, 2026
6c0bd6b
Fix 1D multi-rank MPI_GATHERV bug in post-process silo output (#1138)
sbryngelson Feb 13, 2026
0cdece8
Levelset refactor (#1123)
danieljvickers Feb 14, 2026
206caa2
Add physics constraint validation and auto-generated docs (#1149)
sbryngelson Feb 15, 2026
375256f
Merge remote-tracking branch 'upstream/master' into MovingBubblesFresh
wilfonba Feb 15, 2026
b0939fd
lint fixes
wilfonba Feb 15, 2026
96d5f2f
remove IB support and precompute pressure gradients
wilfonba Feb 15, 2026
e2d855a
Document dimensions, stored-parameter conventions, and strengthen doc…
sbryngelson Feb 15, 2026
d1a287c
Bug fixes and code cleanup
Feb 15, 2026
4a8d5fa
Consistency changes for particle volume fraction
Feb 16, 2026
f9315e1
GPU Bug fixes
Feb 16, 2026
f252a05
Restructure README for impact and fix broken doc links (#1151)
sbryngelson Feb 16, 2026
7e6da57
Refresh README, docs landing page, and scaling plots (#1152)
sbryngelson Feb 17, 2026
1949266
Fix Homebrew install crash: namelist parser gracefully handles missin…
sbryngelson Feb 17, 2026
7b562ee
Fix homebrew-release workflow for retags and fork URLs (#1155)
sbryngelson Feb 17, 2026
4dbafe9
Refresh README, docs, and YouTube integration (#1153)
sbryngelson Feb 17, 2026
947d203
Add simulation gallery entries and computer links (#1160)
sbryngelson Feb 18, 2026
00ba565
Add custom 404 page and verify essential site files in CI (#1162)
sbryngelson Feb 18, 2026
7787fec
fix ibm benchmark on frontier + amd (#1159)
anandrdbz Feb 19, 2026
7329e91
Exclude SC22 proceedings from lychee (returns 415 to crawlers)
sbryngelson Feb 19, 2026
f224266
Auto-update copyright year and add NNSA to acknowledgements (#1164)
sbryngelson Feb 19, 2026
432e3cf
Extract simulation data to simulations.json
sbryngelson Feb 19, 2026
4ff851f
Include simulations.json in docs install
sbryngelson Feb 19, 2026
6ccd2de
Widen scaling plot card and add proper link bar (#1165)
sbryngelson Feb 19, 2026
2f4bce7
Merge branch 'master' into simulations-json
sbryngelson Feb 19, 2026
7c6c1f1
Restore inline sims array in index.html
sbryngelson Feb 19, 2026
4e2427a
Link to Computational Physics Group website (#1168)
sbryngelson Feb 19, 2026
71406d3
Improve API documentation discoverability (#1167)
sbryngelson Feb 19, 2026
d4c4e0b
Add unified API landing page and fix footer layout (#1169)
sbryngelson Feb 19, 2026
6723285
Fix docs CI: run linkcheck before publish step (#1172)
sbryngelson Feb 19, 2026
089fde5
Add CI build caching and improve benchmark workflow (#1148)
sbryngelson Feb 20, 2026
f7d070d
Harden benchmark workflow: retry builds, proactive clean, robust moni…
sbryngelson Feb 21, 2026
19483cb
Skip benchmark workflow for bot review events (#1192)
sbryngelson Feb 21, 2026
32490ac
Remove debug print left in post-process production code (#1185)
sbryngelson Feb 22, 2026
ce8b470
Add 502 to accepted status codes in .lychee.toml (#1236) (#1237)
sbryngelson Feb 22, 2026
87dbe35
Remove debug print left in QBMM production code (#1226)
sbryngelson Feb 22, 2026
7c0996d
Add Claude Code GitHub Workflow (#1238)
sbryngelson Feb 22, 2026
5f9c0d8
Fix claude pr (#1243)
sbryngelson Feb 22, 2026
2c77d43
Fix claude again (#1245)
sbryngelson Feb 22, 2026
62163d7
Update Claude Code Review workflow to include checkout (#1247)
sbryngelson Feb 22, 2026
bd03e20
Update excluded paths in .fortlsrc (#1248)
sbryngelson Feb 22, 2026
6c77055
Fix claude 01 (#1250)
sbryngelson Feb 22, 2026
fe449a3
Simplify execution of main.py by removing command checks (#1251)
sbryngelson Feb 23, 2026
74827ba
Claude fix02 (#1252)
sbryngelson Feb 23, 2026
8892116
Add step to delete previous Claude review comments (#1253)
sbryngelson Feb 23, 2026
0be5ef8
Add 504 to accepted status codes in .lychee.toml (#1254)
sbryngelson Feb 23, 2026
3513a6f
Add CLAUDE.md and .claude/rules/ for Claude Code guidance (#1255)
sbryngelson Feb 24, 2026
8a911e4
Fix GPU example, compiler matrix, and AMD flang consistency (#1256)
sbryngelson Feb 24, 2026
37c0673
Refactor Claude Code Review workflow (#1257)
sbryngelson Feb 24, 2026
e2837ec
Implement Barycentric interpolation
Feb 24, 2026
4ecc8fd
Claude fix (#1259)
sbryngelson Feb 24, 2026
bfe7cd7
Increase max turns from 10 to 30 in workflow (#1260)
sbryngelson Feb 24, 2026
a49b066
Add fixes for Delta PrgEnv-nvidia (#1258)
wilfonba Feb 24, 2026
746c2c5
Modify CLAUDE code review workflow settings (#1261)
sbryngelson Feb 24, 2026
223c333
Skip self-hosted tests and benchmarks for draft PRs (#1262)
sbryngelson Feb 25, 2026
556fd7e
Enhance workflow with local bin setup and tool updates (#1263)
sbryngelson Feb 25, 2026
184d285
Modify Claude Code Review workflow settings (#1264)
sbryngelson Feb 25, 2026
f0d66ac
Add in precomputing of weights for finite differences and interpolati…
Feb 25, 2026
665cc7b
Exclude 404.html from lychee link checks (#1265)
sbryngelson Feb 25, 2026
de828dd
Fix claude maybe (#1266)
sbryngelson Feb 25, 2026
f726591
Bug fixes to make gaussian symmetric
Feb 25, 2026
80e8fc6
Remove push trigger settings from .pr_agent.toml
sbryngelson Feb 26, 2026
a8036d0
Add auto review settings and update Fortran instructions
sbryngelson Feb 26, 2026
f817d44
Delete .codeant directory
sbryngelson Feb 26, 2026
2623aa0
Update .coderabbit.yaml with review settings
sbryngelson Feb 26, 2026
cf779ec
Add AI review trigger commands to PR template (#1268)
sbryngelson Feb 26, 2026
1428e84
Update .coderabbit.yaml with new review settings
sbryngelson Feb 26, 2026
c5e9852
Increase max turns from 10 to 90 in workflow
sbryngelson Feb 26, 2026
3149e14
Fix 8 HPC-sensitive bugs: GPU kernels, MPI broadcast, domain decompos…
sbryngelson Feb 26, 2026
ffb27a7
Trigger CI on draft-to-ready PR conversion (#1271)
sbryngelson Feb 27, 2026
2f3824c
Fix post_process non-MPI builds never reading input file (#1272)
sbryngelson Feb 27, 2026
84100c4
Update .coderabbit.yaml for improved configuration
sbryngelson Feb 27, 2026
902c39f
Fix serial I/O missing beta for bubbles_lagrange in post_process (#1274)
sbryngelson Feb 27, 2026
d7c0801
correctness fixes for projection
wilfonba Feb 27, 2026
521d61c
Kahan summation for void fraction smearing
wilfonba Feb 27, 2026
84c1577
kahan sum in void fraction BCs
wilfonba Feb 27, 2026
f5bd013
merge
wilfonba Feb 27, 2026
8e5faaa
precheck and remove debug prints
wilfonba Feb 27, 2026
be93258
remove .png
wilfonba Feb 27, 2026
3728b8d
fix up merge errors and test suite
wilfonba Feb 27, 2026
fd96fec
Merge remote-tracking branch 'upstream/master' into MovingBubblesFresh
wilfonba Mar 2, 2026
6fc430a
Merge remote-tracking branch 'upstream/master' into MovingBubblesFresh
wilfonba Mar 2, 2026
4166fc2
precheck and bug fixes
wilfonba Mar 2, 2026
5032526
Merge remote-tracking branch 'upstream/master' into MovingBubblesFresh
wilfonba Mar 3, 2026
ba06c17
Moving Lagrangian bubbles: EL bubble transport, boundary conditions, …
wilfonba Mar 3, 2026
27f52ba
Checkpoint before upstream merge
Mar 3, 2026
8fe3c32
Merge remote-tracking branch 'devfork/MovingBubblesFresh' into featur…
Mar 3, 2026
658c1bc
Make file match MovingBubblesFresh
Mar 3, 2026
ae95d4e
--no-mpi bug fix and GPU bug fix for glb_bounds
wilfonba Mar 4, 2026
6ebc844
fix periodic IBM bug fix and reduce line count in a few places
wilfonba Mar 4, 2026
54d388d
bug fixes from Claude bot
wilfonba Mar 4, 2026
701abcb
Update beta mpi transfer to be consistent with bubble code
Mar 6, 2026
0e17f28
Checkpoint changes before merge with master
Mar 6, 2026
6980301
Merge branch 'master' into feature/moving-solid-particles
Mar 6, 2026
e311436
Merge remote-tracking branch 'devfork/MovingBubblesFresh-clean' into …
Mar 6, 2026
18ab7f4
Improvements to particle solver
Mar 7, 2026
15a9758
Optimize Particle Solver Routines
Mar 9, 2026
940ea53
Code Formatting and Bug Fix
Mar 9, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@ yarn.lock
src/*/include/case.fpp
src/*/autogen/

jose-sims

*.swo
*.swp

Expand Down Expand Up @@ -105,4 +107,4 @@ benchmarks/*.png
*.avi

**isolation_rules/
**.supercode/
**.supercode/
2 changes: 2 additions & 0 deletions docs/module_categories.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@
"m_bubbles_EE",
"m_bubbles_EL",
"m_bubbles_EL_kernels",
"m_particles_EL",
"m_particles_EL_kernels",
"m_qbmm",
"m_hyperelastic",
"m_hypoelastic",
Expand Down
127 changes: 127 additions & 0 deletions examples/2D_Shock_SolidParticleCloud_EL/case.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,127 @@
#!/usr/bin/env python3
import argparse
import math
import json
import numpy as np


# Configuration case dictionary
data = {
# Logistics
'run_time_info': 'T',
# Computational Domain
'x_domain%beg': -0.5,
'x_domain%end': 0.5,
'y_domain%beg': -0.125,
'y_domain%end': 0.125,
'm': 256,
'n': 64,
'cyl_coord': 'F',
# "dt" : dt,
"t_step_start": 0,
"t_step_stop": 30000, # 1250, #t_step_stop,
"t_step_save": 200, # t_step_save,
"adap_dt": "F", # adaptive time stepping for bubble solver

"cfl_adap_dt": "T",
"cfl_target": 0.4,
"n_start": 0,
"t_stop": 0.002,
"cfl_const_dt": "F",
"t_save": 1e-5, # t_step_save,
# Simulation Algorithm
'model_eqns': 2,
'alt_soundspeed': 'F',
'mixture_err': 'F',
'mpp_lim': 'F',
'time_stepper': 3,
'weno_order': 5,
'mapped_weno': 'T',
'mp_weno': 'T',
'avg_state': 2,
'weno_eps': 1e-16,
'riemann_solver': 2,
'wave_speeds': 1,
'bc_x%beg': -16, # No slip
'bc_x%end': -16, # No slip
'bc_y%beg': -16, # No slip
'bc_y%end': -16, # No slip
'num_patches': 2,
'num_fluids': 1,
# Database Structure Parameters
'format': 1,
'precision': 2,
'prim_vars_wrt': 'T',
'parallel_io': 'T',
'lag_db_wrt': "T",
# Fluid Parameters Ambient gas
"fluid_pp(1)%gamma": 1.4, # Sp. heat ratio
"fluid_pp(1)%pi_inf": 0.0, # Liquid stiffness
"fluid_pp(1)%cv": 717.5, # J/(kg·K) ,heat capacity
"fluid_pp(1)%qv": 0.0, # reference energy per unit mass for SGEOS, q (see Le Metayer (2004))
"fluid_pp(1)%G": 1.4-1,
# Viscosity
'viscous': 'F',
# "fluid_pp(1)%Re(1)": 1.48e-5, #1.0 / (mu_host / (rho0 * c0 * L0)),
# "fluid_pp(1)%Re(2)": 1.48e-5,
# Patch for background flow
'patch_icpp(1)%geometry': 3,
'patch_icpp(1)%x_centroid': 0.,
'patch_icpp(1)%y_centroid': 0.,
'patch_icpp(1)%length_x': 1.,
'patch_icpp(1)%length_y': 0.25,
'patch_icpp(1)%vel(1)': 0.,
'patch_icpp(1)%vel(2)': 0.,
'patch_icpp(1)%pres': 1.e4, # pres,
'patch_icpp(1)%alpha_rho(1)': 0.125, # rho_host,
'patch_icpp(1)%alpha(1)': 1,
# Patch for High Pressure Region
'patch_icpp(2)%geometry': 3,
'patch_icpp(2)%alter_patch(1)': "T",
'patch_icpp(2)%x_centroid': -0.25,
'patch_icpp(2)%y_centroid': 0,
'patch_icpp(2)%length_x': 0.5,
'patch_icpp(2)%length_y': 0.25,
'patch_icpp(2)%vel(1)': 0.,
'patch_icpp(2)%vel(2)': 0.,
'patch_icpp(2)%pres': 1.e5,
'patch_icpp(2)%alpha_rho(1)': 1.,
'patch_icpp(2)%alpha(1)': 1,


# Lagrangian Bubbles/Particles
"bubbles_lagrange": "F",
# "fd_order": 4,
# "bubble_model": 0, # (0) Particle (2) KM (3) RP
# "lag_params%nBubs_glb": 0, # Number of bubbles
# "lag_params%solver_approach": 2,
# "lag_params%cluster_type": 2,
# "lag_params%pressure_corrector": "T",
# "lag_params%smooth_type": 1,
# "lag_params%epsilonb": 1.0,
# "lag_params%valmaxvoid": 0.9,
# "lag_params%write_bubbles": "F",
# "lag_params%write_bubbles_stats": "F",

"particles_lagrange": "T",
"fd_order": 4, # 4th order can be unstable due to velocity interpolation for drag
"lag_params%epsilonb": 1.,
"lag_params%charwidth": 0.00390625, # 0.03515625, #virtual depth in 2D sims
"lag_params%solver_approach": 2, # 1 for one way coupling, 2 for two way coupling
"lag_params%nParticles_glb": 1000, # Number of Particles
"lag_params%valmaxvoid": 0.9,
"lag_params%vel_model": 1, # Set to 1 for moving particles, 0 for stationary
"lag_params%smooth_type": 1, # 1 gaussian, 2 delta
"lag_params%input_path": 'input/lag_particles.dat',
"lag_params%qs_drag_model": 2, # 1 = Parmar, 2 = Osnes, 3 = Modified Parmar, 4 = Gidaspow
"lag_params%stokes_drag": 0, # 0 = none, 1 = free slip stokes, 2 = no slip stokes
"lag_params%pressure_force": "F",
"lag_params%gravity_force": "F",
"particle_pp%rho0ref_particle": 2700.,
"particle_pp%cp_particle": 1000. # not currently used


}
mods = {}

print(json.dumps({**data, **mods}, indent=4))
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
import numpy as np

# -----------------------------
# User parameters
# -----------------------------
N = 1000 # number of particles
x_min, x_max = -0.5, 0.5 # thickness in x (m)
y_min, y_max = -0.125, 0.125 # height in y (m)
z_val = 0.0 # 2D simulation

r_mean = 10e-6 # mean particle radius (m)
r_spread = 0.2 # ±20% polydispersity

output_file = "lag_particles.dat"

# -----------------------------
# Generate particle properties
# -----------------------------
rng = np.random.default_rng(seed=1) # reproducible

x = rng.uniform(x_min, x_max, N)
y = rng.uniform(y_min, y_max, N)
z = np.full(N, z_val)

u = np.zeros(N)
v = np.zeros(N)
w = np.zeros(N)

radius = r_mean * (1.0 + r_spread * (rng.random(N) - 0.5))
interface_velocity = np.zeros(N)

# -----------------------------
# Stack and write file
# -----------------------------
data = np.column_stack([
x, y, z,
u, v, w,
radius,
interface_velocity
])

np.savetxt(
output_file,
data,
fmt="%.8e",
comments=""
)

print(f"Wrote {N} particles to '{output_file}'")
124 changes: 124 additions & 0 deletions examples/2D_Shock_SolidParticleCurtain_EL/case.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,124 @@
#!/usr/bin/env python3
import argparse
import math
import json
import numpy as np


# Configuration case dictionary
data = {
# Logistics
'run_time_info': 'T',
# Computational Domain
'x_domain%beg': -0.5,
'x_domain%end': 0.5,
'y_domain%beg': -0.125,
'y_domain%end': 0.125,
'm': 256,
'n': 64,
'cyl_coord': 'F',
# "dt" : dt,
"t_step_start": 0,
"t_step_stop": 30000, # 1250, #t_step_stop,
"t_step_save": 200, # t_step_save,
"adap_dt": "F", # adaptive time stepping for bubble solver

"cfl_adap_dt": "T",
"cfl_target": 0.4,
"n_start": 0,
"t_stop": 0.003,
"cfl_const_dt": "F",
"t_save": 1e-5, # t_step_save,
# Simulation Algorithm
'model_eqns': 2,
'alt_soundspeed': 'F',
'mixture_err': 'F',
'mpp_lim': 'F',
'time_stepper': 3,
'weno_order': 5,
'mapped_weno': 'T',
'mp_weno': 'T',
'avg_state': 2,
'weno_eps': 1e-16,
'riemann_solver': 2,
'wave_speeds': 1,
'bc_x%beg': -16, # No slip
'bc_x%end': -16, # No slip
'bc_y%beg': -16, # No slip
'bc_y%end': -16, # No slip
'num_patches': 2,
'num_fluids': 1,
# Database Structure Parameters
'format': 1,
'precision': 2,
'prim_vars_wrt': 'T',
'parallel_io': 'T',
'lag_db_wrt': "T",
# Fluid Parameters Ambient gas
"fluid_pp(1)%gamma": 1.4, # Sp. heat ratio
"fluid_pp(1)%pi_inf": 0.0, # Liquid stiffness
"fluid_pp(1)%cv": 717.5, # J/(kg·K) ,heat capacity
"fluid_pp(1)%qv": 0.0, # reference energy per unit mass for SGEOS, q (see Le Metayer (2004))
"fluid_pp(1)%G": 1.4-1,
# Viscosity
'viscous': 'F',
# "fluid_pp(1)%Re(1)": 1.48e-5, #1.0 / (mu_host / (rho0 * c0 * L0)),
# "fluid_pp(1)%Re(2)": 1.48e-5,
# Patch for background flow
'patch_icpp(1)%geometry': 3,
'patch_icpp(1)%x_centroid': 0.,
'patch_icpp(1)%y_centroid': 0.,
'patch_icpp(1)%length_x': 1.,
'patch_icpp(1)%length_y': 0.25,
'patch_icpp(1)%vel(1)': 0.,
'patch_icpp(1)%vel(2)': 0.,
'patch_icpp(1)%pres': 1.e4, # pres,
'patch_icpp(1)%alpha_rho(1)': 0.125, # rho_host,
'patch_icpp(1)%alpha(1)': 1,
# Patch for High Pressure Region
'patch_icpp(2)%geometry': 3,
'patch_icpp(2)%alter_patch(1)': "T",
'patch_icpp(2)%x_centroid': -0.25,
'patch_icpp(2)%y_centroid': 0,
'patch_icpp(2)%length_x': 0.5,
'patch_icpp(2)%length_y': 0.25,
'patch_icpp(2)%vel(1)': 0.,
'patch_icpp(2)%vel(2)': 0.,
'patch_icpp(2)%pres': 1.e5,
'patch_icpp(2)%alpha_rho(1)': 1.,
'patch_icpp(2)%alpha(1)': 1,

# Lagrangian Bubbles/Particles
"bubbles_lagrange": "F",
# "fd_order": 4,
# "bubble_model": 0, # (0) Particle (2) KM (3) RP
# "lag_params%nBubs_glb": 0, # Number of bubbles
# "lag_params%solver_approach": 2,
# "lag_params%cluster_type": 2,
# "lag_params%pressure_corrector": "T",
# "lag_params%smooth_type": 1,
# "lag_params%epsilonb": 1.0,
# "lag_params%valmaxvoid": 0.9,
# "lag_params%write_bubbles": "F",
# "lag_params%write_bubbles_stats": "F",

"particles_lagrange": "T",
"fd_order": 4, # 4th order can be unstable due to velocity interpolation for drag
"lag_params%epsilonb": 1.,
"lag_params%charwidth": 0.00390625, # 0.03515625, #virtual depth in 2D sims
"lag_params%solver_approach": 2, # 1 for one way coupling, 2 for two way coupling
"lag_params%nParticles_glb": 100, # Number of Particles
"lag_params%valmaxvoid": 0.9,
"lag_params%vel_model": 1, # Set to 1 for moving particles, 0 for stationary
"lag_params%smooth_type": 1, # 1 gaussian, 2 delta
"lag_params%input_path": 'input/lag_particles.dat',
"lag_params%qs_drag_model": 2, # 1 = Parmar, 2 = Osnes, 3 = Modified Parmar, 4 = Gidaspow
"lag_params%stokes_drag": 0, # 0 = none, 1 = free slip stokes, 2 = no slip stokes
"lag_params%pressure_force": "F",
"lag_params%gravity_force": "F",
"particle_pp%rho0ref_particle": 2700.,
"particle_pp%cp_particle": 1000. # not currently used
}
mods = {}

print(json.dumps({**data, **mods}, indent=4))
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
import numpy as np

# -----------------------------
# User parameters
# -----------------------------
N = 100 # number of particles
x_min, x_max = 0.01, 0.02 # curtain thickness in x (m)
y_min, y_max = -0.125, 0.125 # height in y (m)
z_val = 0.0 # 2D simulation

r_mean = 10e-6 # mean particle radius (m)
r_spread = 0.2 # ±20% polydispersity

output_file = "lag_particles.dat"

# -----------------------------
# Generate particle properties
# -----------------------------
rng = np.random.default_rng(seed=1) # reproducible

x = rng.uniform(x_min, x_max, N)
y = rng.uniform(y_min, y_max, N)
z = np.full(N, z_val)

u = np.zeros(N)
v = np.zeros(N)
w = np.zeros(N)

radius = r_mean * (1.0 + r_spread * (rng.random(N) - 0.5))
interface_velocity = np.zeros(N)

# -----------------------------
# Stack and write file
# -----------------------------
data = np.column_stack([
x, y, z,
u, v, w,
radius,
interface_velocity
])

np.savetxt(
output_file,
data,
fmt="%.8e",
comments=""
)

print(f"Wrote {N} particles to '{output_file}'")
Loading
Loading