Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
309 commits
Select commit Hold shift + click to select a range
0f41961
AsterX: Minor changes
Aug 21, 2025
ce8a5d3
AsterX: Minor changes and add break statement
Aug 21, 2025
7fb6e70
AsterX: Remove const
Aug 21, 2025
fa3a361
Merge branch 'main' into acwen-main
acwen11 Sep 10, 2025
6dc33d1
Merge branch 'acwen-main' into acwen-development
acwen11 Sep 10, 2025
03ccb50
AsterX: remove magTOV test to prep for merge
acwen11 Sep 15, 2025
915bee4
Merge branch 'lwji-development' into acwen-development
acwen11 Sep 15, 2025
b0c954c
AsterX: copy over higher order code
acwen11 Sep 15, 2025
1580754
AsterX: enable dev analysis
acwen11 Sep 16, 2025
bd9057a
AsterX: clean up comments, experimental features
acwen11 Sep 17, 2025
c1ac52f
AsterX: remove tensor parities, rename flux derivs function
acwen11 Sep 17, 2025
e222ef0
ReconX: switch to WENOZ weights used in Spritz
acwen11 Sep 24, 2025
be115e9
AsterX: add shock detector
acwen11 Sep 24, 2025
5666022
AsterX: use shock detector to fall back to LO recon, flux
acwen11 Sep 25, 2025
75a4103
AsterX: reorganize LO flag to use only 1 kernel launch
acwen11 Sep 26, 2025
ef92731
Merge remote-tracking branch 'mchabanov/bbhcloud-changes-pr' into acw…
acwen11 Sep 26, 2025
0e10cbc
AsterX: WIP add H.O. pointwise conservative correction
acwen11 Sep 29, 2025
3402083
AsterX: Rename scheduled functions for mask and atmosphere value for tau
Sep 29, 2025
19aaa5a
AsterX: Clang formatting
MChabanov Sep 29, 2025
840cceb
Merge pull request #105 from MChabanov/bbhcloud-changes-pr
jaykalinani Sep 29, 2025
d4ca0bc
Revert "AsterX: WIP add H.O. pointwise conservative correction"
acwen11 Sep 29, 2025
92b077a
AsterX: remove CCTK_ATTRIBUTE_ALWAYS_INLINE from flux main loop
lwJi Aug 20, 2025
ae217d8
AsterX: remove sync of fluxes
lwJi Aug 20, 2025
35fec78
AsterX: use calc_fd2_e2c when calc Psi_rhs
lwJi Aug 24, 2025
ae5fecd
AsterX: clang-format fluxes.cxx
lwJi Aug 27, 2025
3b4da87
AsterX: clang-format aster_interp.cxx
lwJi Aug 27, 2025
56502ec
AsterX: fix bug in CalcFstag found by Michail
lwJi Aug 27, 2025
8d44276
AsterX: use loop_allm1_device setting Fstag
lwJi Sep 2, 2025
b7e2b7d
AsterX: initialize Fstag
lwJi Sep 23, 2025
668b637
AsterX: update unit test magTOV_Z4c_AMR
lwJi Sep 23, 2025
6420b4d
AsterX: use loop_mix_device when calc Fstag
lwJi Sep 23, 2025
9fdda37
AsterX: beautify aster_interp.hxx
lwJi Sep 23, 2025
913ee2e
AsterX: beautify aster_fd.hxx
lwJi Sep 23, 2025
d515646
AsterX: seperate CalcRHSofAvec out from AsterX_RHS
lwJi Sep 23, 2025
44cbbaf
AsterX: template dir for calc_fd2_v2e
lwJi Sep 23, 2025
73cb6ff
AsterX: seperate Fbeta and G into two groups
lwJi Sep 24, 2025
4c5efb6
AsterX: move param reader inside AsterX_Fluxes
lwJi Sep 24, 2025
b6b9c25
AsterX: only printf when CCTK_DEBUG is on
lwJi Sep 24, 2025
b9cea1e
AsterX: move param reader inside AsterX_RHS
lwJi Sep 24, 2025
b4ecf08
AsterX: beautify assign_reconstructed in AsterX_Flux
lwJi Sep 24, 2025
e909fe6
AsterX: rename vtilde_face to vbar_face following paper convention
lwJi Sep 24, 2025
d6a98e1
AsterX: beautify implementation of uct following the paper
lwJi Sep 25, 2025
20f73c8
AsterX: add small aux function hll_upwind
lwJi Sep 25, 2025
f4aac50
AsterX: define locals to keep lambda small and help compiler
lwJi Sep 25, 2025
f46fe81
AsterX: template use_uct and gauge calc Avec_rhs
lwJi Sep 25, 2025
7ae0b7a
AsterX: template gauge calc Psi_rhs
lwJi Sep 25, 2025
9eee41b
AsterX: define damp_fac_local for lambda capture
lwJi Sep 25, 2025
bb6bd6b
AsterX: move if constexpr outside kernel
lwJi Sep 25, 2025
ef2e100
AsterX: rename rec to rc
lwJi Sep 26, 2025
a636d65
AsterX: improve name of uct implementation
lwJi Sep 26, 2025
8dad1de
AsterX: add small aux function avg_upwind
lwJi Sep 26, 2025
369cfd2
AsterX: rename dir to dir_i
lwJi Sep 26, 2025
80162d2
AsterX: beautify CalcFstag
lwJi Sep 26, 2025
6f2267b
AsterX: move small aux function into AsterUtils
lwJi Sep 26, 2025
7edfe45
AsterX: fix conflicts during rebase
lwJi Sep 30, 2025
3f88849
AsterX: fix typos
lwJi Sep 30, 2025
b5eca13
AsterX: correctly switch to lower order recon/fluxes on flagged points
acwen11 Oct 2, 2025
b3fe66c
AsterX: fix typos
lwJi Oct 3, 2025
1f34393
Merge pull request #107 from lwJi/fdAterm
lwJi Oct 3, 2025
b2fcc0b
Merge branch 'main' into development
jaykalinani Oct 3, 2025
c371ea4
AsterX: fix HO flux stencil
acwen11 Oct 6, 2025
20fffcc
AsterUtils: change definition of HO correction func
acwen11 Oct 6, 2025
11d7ef9
AsterUtils: correct order check
acwen11 Oct 6, 2025
02772b4
AsterAnalysis: fix e2c interp call to compute Avec
jaykalinani Oct 6, 2025
c5a81d7
AsterX: make temp and eps consistent in atmo when using polytropic EOS
jaykalinani Oct 6, 2025
a76f35b
EOSX: add call for mu_lepton computation for ideal gas EOS
jaykalinani Oct 7, 2025
1bfaf26
AsterX: remove flux correction order reduction
acwen11 Oct 7, 2025
ecf1227
AsterUtils: fix e2c interpolation call to original
jaykalinani Oct 7, 2025
8d86c2d
Merge branch 'development' into eosx
jaykalinani Oct 7, 2025
d25aea1
Merge pull request #109 from jaykalinani/development
lwJi Oct 7, 2025
c0e1d7c
Merge pull request #110 from jaykalinani/eosx
lwJi Oct 7, 2025
4757d12
AsterUtils: template dir for calc_avg_e2c also
lwJi Oct 7, 2025
fbc7c0d
Merge pull request #111 from lwJi/avg_e2v
jaykalinani Oct 7, 2025
2bd63e5
AsterX: remove flux correction order reduction
acwen11 Oct 8, 2025
05443b0
AsterX: fallback to LxF flux if useLO
acwen11 Oct 8, 2025
7d9cdda
Merge branch 'acwen-hofluxdev' of github.com:acwen11/AsterX into acwe…
acwen11 Oct 8, 2025
bff47be
AsterX: upgrade E to grid function
lwJi Oct 8, 2025
9cc87f9
AsterX: restrict Aux for Avec and Psi RHS (Suggested by Michail)
lwJi Oct 8, 2025
c598a84
AsterX: restrict fluxes (Suggested by Michail)
lwJi Oct 8, 2025
01592e6
AsterX: add option to enable flux fallback
acwen11 Oct 9, 2025
55826f7
Merge branch 'acwen-hofluxdev' of github.com:acwen11/AsterX into acwe…
acwen11 Oct 9, 2025
3fe14b6
AsterX: add AthenaK-style atmo resetting to reconstruction
acwen11 Oct 10, 2025
3e68615
AsterX: add param to control Athena-style recon atm reset
acwen11 Oct 10, 2025
8bcc91d
ReconX: add WENOZ+ (with FIL mod) as option
acwen11 Oct 11, 2025
8de1881
ReconX: add WENO5
acwen11 Oct 11, 2025
8812e49
Merge branch 'acwen-hofluxdev-morerecons' into acwen-hofluxdev
acwen11 Oct 11, 2025
8942687
ReconX: add monotonicity preserving option to WENOZ+
acwen11 Oct 14, 2025
9939f1f
Merge branch 'acwen-hofluxdev' of github.com:acwen11/AsterX into acwe…
acwen11 Oct 14, 2025
c491b61
ReconX: fix minmod expression in MP WENOZ+
acwen11 Oct 14, 2025
9ae331f
Merge branch 'acwen-hofluxdev' of github.com:acwen11/AsterX into acwe…
acwen11 Oct 14, 2025
a480c6f
Con2PrimFactory: add code for RePrimAnd C2P
jaykalinani Oct 15, 2025
2b57cfd
AsterX: remove unnecesssary restrictions
lwJi Oct 15, 2025
dad73d1
AsterX: cleaner params for LO flag + rename flux deriv function
acwen11 Oct 15, 2025
3966b63
AsterX: apply boundary conditions to G and E
lwJi Oct 16, 2025
17394ee
AsterX: apply boundary conditions to face vars
lwJi Oct 16, 2025
7c4e113
AsterX: implement higher order stencils for magnetic field operations
acwen11 Oct 16, 2025
ada3a09
AsterX: disable atmo reset for reconstruction
acwen11 Oct 16, 2025
5134409
AsterX: change B-from-A calc to interior for now
acwen11 Oct 16, 2025
20aa4d6
AsterX: disable post-recon atmo reset
acwen11 Oct 16, 2025
d027d34
AsterX: remove etac sync
acwen11 Oct 16, 2025
df79207
AsterX: remove sync of eta_c
acwen11 Oct 17, 2025
ef31513
Merge branch 'development' into acwen-hofluxdev
acwen11 Oct 17, 2025
9ca8f27
ReconX: remove CCTK_ALWAYS_INLINE's to be consistent. Also misc fixes…
acwen11 Oct 17, 2025
b688765
AsterX: rename rt_groups to restrict_groups
lwJi Oct 18, 2025
3eff0f8
AsterX: remove unnecesssary apply BC
lwJi Oct 18, 2025
f8bc3fc
AsterX: update unit test for Balsara1_shocktube_xdir_ppm
lwJi Oct 18, 2025
59c02a1
AsterX: update unit test for magTOV_Z4c_AMR
lwJi Oct 18, 2025
635ad37
AsterX: prolongate dBstag only
lwJi Oct 18, 2025
8afe3eb
AsterX: update unit test for magTOV_Z4c_AMR
lwJi Oct 18, 2025
b6a6d68
AsterX: add new recon features to reconstruct_params in fluxes
acwen11 Oct 19, 2025
61c5fa7
Merge branch 'acwen-hofluxdev' into acwen-homag
acwen11 Oct 19, 2025
75866fc
AsterX: add pplim
acwen11 Oct 20, 2025
ef25c62
AsterX: sync fluxes again
acwen11 Oct 20, 2025
6761f31
AsterX: use new loops to get rid of syncs with H.O.
acwen11 Oct 20, 2025
4c0dda5
AsterX: copy PPL from homag branch
acwen11 Oct 20, 2025
5870d0e
AsterX: change flagged value of LOflag s.t. function can be skipped i…
acwen11 Oct 20, 2025
a7fb670
AsterX: properly init LOflag
acwen11 Oct 21, 2025
9e731fb
AsterX: consider DYe for PPlim, re-enable AthenaK recon atmo reset
acwen11 Oct 21, 2025
85b3695
AsterUtils: rewrite flux deriv to be consistent with FIL
acwen11 Oct 22, 2025
8dc9f33
Merge branch 'acwen-hofluxdev' into acwen-homag
acwen11 Oct 22, 2025
247186e
Merge pull request #113 from lwJi/restrictless_prolongdB
lwJi Oct 22, 2025
1d50380
AsterX: fix boundary loop for H.O. magnetic fields
acwen11 Oct 22, 2025
7d3a2ed
AsterX: store min(theta_PPL) over all faces as diagnostic
acwen11 Oct 24, 2025
ecaa996
Merge branch 'acwen-homag' into acwen-hoflux
acwen11 Oct 24, 2025
40cd510
ReconX: remove WENO5
acwen11 Oct 24, 2025
ca833f8
Merge branch 'development' into acwen-hoflux
acwen11 Oct 24, 2025
e3003e8
AsterX: re-enable LxF fallback, 6th order flux, plus various fixes
acwen11 Oct 24, 2025
3a0db33
AsterX: remove dev gfs
acwen11 Oct 24, 2025
40775a7
AsterX: clang format
acwen11 Oct 24, 2025
f46b6c6
AsterX: add dissipation on Avec
jaykalinani Oct 29, 2025
ca196fc
AsterX: use temperature calls for sound speed for all EOSs
acwen11 Nov 3, 2025
73f6d76
AsterX: add back analysis GFs
acwen11 Nov 3, 2025
2394bea
AsterX: WIP implement 6th ord. magnetic field stencils
acwen11 Nov 3, 2025
94df848
AsterX: remove prolongate-dBstag only func, and fix typo in HO6
acwen11 Nov 4, 2025
13a276d
AsterX: formatting fixes
acwen11 Nov 4, 2025
ca43dfa
AsterUtils: remove compute_flux_derivatives with calc_fd_v2e
acwen11 Nov 4, 2025
ca9c225
AsterUtils: rename 1D finite difference functions
acwen11 Nov 4, 2025
e59a311
Merge branch 'acwen-hofluxdev' into acwen-hoflux
acwen11 Nov 4, 2025
f252fb7
Merge branch 'acwen-hofluxdev' into acwen-development
acwen11 Nov 4, 2025
f73cc61
AsterX: use new prolongation + interproc sync operator
acwen11 Nov 5, 2025
67dea60
AsterX: set atmo lorentz factor to 1 in PPL
acwen11 Nov 5, 2025
0bab0e7
Merge branch 'hoflux' of github.com:acwen11/AsterX into acwen-hoflux
acwen11 Nov 5, 2025
ff13281
AsterX: set w_lorentz to 1 when calculating min dens for PPL
acwen11 Nov 5, 2025
28acaae
AsterX: calling FillPatch_Sync on all levels
lwJi Nov 6, 2025
dcee171
Merge pull request #116 from lwJi/symmetry
lwJi Nov 6, 2025
acd8fc2
AsterX: apply correct boundary condition for symmetries
acwen11 Nov 6, 2025
d17b6ae
Merge branch 'acwen-hofluxdev' into acwen-development
acwen11 Nov 6, 2025
183d0fd
AsterX: properly fill dB and G in interproc ghosts
acwen11 Nov 11, 2025
55904f5
Merge branch 'acwen-development' into acwen-hoflux
acwen11 Nov 11, 2025
e1d867b
AsterX: remove dev features
acwen11 Nov 11, 2025
bd3768a
AsterUtils: use dummy values to fill indices at boundaries instead of…
acwen11 Nov 12, 2025
b466e01
Merge branch 'acwen-development' into acwen-hoflux
acwen11 Nov 12, 2025
b195bd1
AsterX: properly initialize dBstag, dB, G, theta in ghosts/boundaries…
acwen11 Nov 12, 2025
7c126e2
AsterX: restore dev features
acwen11 Nov 12, 2025
4738aa9
AsterX: set initial theta value to 1
acwen11 Nov 12, 2025
fd8939d
AsterX: set initial theta value to 1
acwen11 Nov 12, 2025
0e5634d
AsterUtils: clang format
acwen11 Nov 12, 2025
2f482c3
AsterX: separate interproc sync of dBstag from prolongation
acwen11 Nov 13, 2025
b16173e
Merge branch 'acwen-hoflux' into acwen-development
acwen11 Nov 13, 2025
93f908c
AsterX: move ghost sync of dBstag before prolongation
acwen11 Nov 13, 2025
578024f
AsterUtils: pass 1/dx to forward_midpoint finite difference. Also bug…
acwen11 Nov 13, 2025
1a4415e
Revert "AsterUtils: pass 1/dx to forward_midpoint finite difference. …
acwen11 Nov 13, 2025
1e748b0
ReconX: bugfix to mpweno
acwen11 Nov 14, 2025
b43e451
AsterSeeds: modify spherical shock initial data
jaykalinani Nov 18, 2025
b0ea406
AsterSeeds: fixes to spherical shock ID
jaykalinani Nov 18, 2025
bce0ed7
Merge pull request #117 from jaykalinani/development
MChabanov Nov 18, 2025
403e32c
ReconX: add dx factor back to WENOZ+. Switch back to Spritz WENOZ wei…
acwen11 Nov 19, 2025
0d441b8
Merge branch 'development' into acwen-development
acwen11 Dec 2, 2025
baa2a2f
Merge branch 'acwen-development' into acwen-hoflux
acwen11 Dec 2, 2025
d58ad31
AsterX: update WENOZ shocktube test now that weights are changed
acwen11 Dec 2, 2025
81c374b
AsterX: remove division by alp
jaykalinani Dec 8, 2025
96692f4
AsterX: fix spacing
jaykalinani Dec 8, 2025
eabf403
AsterX: update magTOV_Z4c_AMR testsuite
Dec 9, 2025
97fcbe8
Merge pull request #118 from jaykalinani/development
MChabanov Dec 9, 2025
6181c8f
AsterX: add par prolongate_dbstag
lwJi Dec 14, 2025
99a884b
Merge pull request #119 from lwJi/prolongdB
jaykalinani Dec 15, 2025
f33501d
AsterX: use loop_all_device for AsterX_Con2Prim
lwJi Dec 25, 2025
410160d
AsterSeeds: Add ID for KHI, remove stale KHInitial thorn
jaykalinani Jan 12, 2026
bf9d41e
Merge branch 'EinsteinToolkit:development' into development
jaykalinani Jan 12, 2026
a4f805a
AsterSeeds: clean up
jaykalinani Jan 12, 2026
42aa654
AsterSeeds: modify magKHI initial data; now set to Kiuchi+2022
jaykalinani Jan 13, 2026
cdffd42
AsterX: add magnetized KHI parfile that reproduces Kiuchi+2022
jaykalinani Jan 13, 2026
bddbe84
Merge pull request #122 from jaykalinani/development
MChabanov Jan 14, 2026
5bf3777
Merge pull request #121 from jaykalinani/dissipation
MChabanov Jan 14, 2026
df8e493
Merge branch 'development' into acwen-hoflux
acwen11 Jan 14, 2026
953a182
AsterX: update unit test of magTOV_Z4c_AMR
lwJi Jan 14, 2026
5d6aec7
Merge pull request #120 from lwJi/c2p
lwJi Jan 15, 2026
0c385d5
AsterX: Add limiters for magnetisation
Jan 19, 2026
31e256e
AsterX: Add helpers, minor clean-up
Jan 19, 2026
42f13d7
AsterX: rename various functions, parameters
acwen11 Jan 21, 2026
6f0cef2
AsterX: clang format
acwen11 Jan 21, 2026
f01dff1
AsterUtils: remove test functions
acwen11 Jan 21, 2026
5401469
AsterX: add note about DYe based PPL
acwen11 Jan 23, 2026
d0dc665
Merge pull request #114 from acwen11/hoflux
MChabanov Jan 26, 2026
2c2ac68
ReconX: Make steerable
Jan 27, 2026
9397efc
Merge remote-tracking branch 'etk/development' into etk-development
Jan 27, 2026
f3825e3
Merge branch 'etk-development' into etk-development-floor
Jan 27, 2026
b5703a1
AsterX: Collect conservatives and RHSs in single group, some comments
Jan 27, 2026
8448a08
EOSX: copy from host to managed memory for EOS table
jaykalinani Jan 27, 2026
9829c1d
EOSX: fix comment
jaykalinani Jan 27, 2026
8eb9e9b
Aster_Utils: generalise function name
jaykalinani Jan 27, 2026
92ce739
EOSX: move from pinned to regular host memory
jaykalinani Jan 27, 2026
c0df546
AsterX: Remove cons_error_limit functionality because never used
Jan 28, 2026
24a3810
EOSX: Modularise table reader, add support for CompOSE tables
jaykalinani Jan 28, 2026
9bda840
EOSX: clean up; remove declarations
jaykalinani Jan 28, 2026
d03e7ba
EOSX: bug fix in EOS call after clean up
jaykalinani Jan 28, 2026
41e5e67
EOSX: add support for hybrid EOS
jaykalinani Jan 29, 2026
30452ae
EOSX: Add header file for PW polytropic
jaykalinani Jan 29, 2026
e8c8d6d
Con2PrimFactory: Simplify lower limit on tau
Jan 29, 2026
3ef56b4
AsterX: Code to limit vel after recon
Jan 29, 2026
af76ad4
AsterX: Add specific prolongation
Jan 29, 2026
566819c
AsterX: Add specific prolongation
Jan 29, 2026
f932b02
Merge branch 'development-prolong' into taulim
Jan 29, 2026
bd8df93
AsterX: Add specific prolongation
Jan 29, 2026
cd282dc
EOSX: clean up - remove "valid" from EOS function calls
jaykalinani Jan 29, 2026
fd8e0fc
EOSX: remove redudant headers
jaykalinani Jan 29, 2026
e28f93a
EOSX: Remove rank==0 guard in parallel reads
jaykalinani Jan 29, 2026
c52c8dc
EOSX: remove redundant headers
jaykalinani Jan 29, 2026
e139792
Merge branch 'development' into rpa
jaykalinani Jan 29, 2026
78891da
Con2PrimFactory: Bug fixes in RPA, clang-format
jaykalinani Jan 30, 2026
4ef6a95
Con2PrimFactory: clean up
jaykalinani Feb 4, 2026
61cbae7
EOSX: check for relativistic cs2, fixes in CompOSE unit conversions,
jaykalinani Feb 6, 2026
b2c52aa
AsterX: add comment regarding nested if condition for hybrid EOS
jaykalinani Feb 16, 2026
6d43ffb
Merge pull request #124 from jaykalinani/eosx
MChabanov Feb 17, 2026
4d3eb8d
Merge remote-tracking branch 'etk/development' into cons_group
Feb 17, 2026
613110e
AsterX: Cap on velocity after reconstruction
Feb 17, 2026
2064365
AsterX: Minor change in tau limit
Feb 17, 2026
74468c7
AsterX: Limits based on inv beta and sigma
Feb 17, 2026
779bf6b
Con2PrimFactory: Remove valid
Feb 17, 2026
16d1e96
Merge branch 'development' into rpa
jaykalinani Feb 17, 2026
056cf0e
AsterX: Add changes from Jay's review
Feb 17, 2026
58d77b0
AsterX: Change default prolongation settings
Feb 18, 2026
99032b3
Con2PrimFactory: Add guard for tabulated EOS case
Feb 18, 2026
01e5b7d
AsterX: Adjust test suite
Feb 18, 2026
acf1a66
AsterX: Only clang formatting
MChabanov Feb 18, 2026
f840a38
Revert "AsterX: Only clang formatting"
Feb 18, 2026
9e4054e
AsterX: Test suite from CPU run
Feb 18, 2026
9169a8d
AsterX: New tests using ETK main branch SpacetimeX
Feb 18, 2026
52844f3
AsterX: Only clang-formatting
MChabanov Feb 19, 2026
c5af190
AsterAnalysis: Read wlorentz only in interior
Feb 19, 2026
19a463e
Merge pull request #127 from MChabanov/cons_group
jaykalinani Feb 19, 2026
6334ba1
Merge branch 'development' into rpa
jaykalinani Feb 25, 2026
152641f
AsterX: add soft root convergence parameters to param.ccl
jaykalinani Mar 4, 2026
e84ac67
AsterX: add soft root convergence parameters in c2p object definitions
jaykalinani Mar 4, 2026
5cc7103
AsterX: clang-format
jaykalinani Mar 4, 2026
e39b988
Con2PrimFactory: add params for soft root convergence
jaykalinani Mar 4, 2026
5370de6
Con2PrimFactory: add soft root convergence mechanism, update rootstat
jaykalinani Mar 4, 2026
bd6df87
Con2PrimFactory: add modifications to RPA; add toms748 solver
jaykalinani Mar 4, 2026
6271517
Con2PrimFactory: Clean-up based on Michi's PR comments
jaykalinani Apr 6, 2026
452f1e9
Merge pull request #126 from jaykalinani/rpa
MChabanov Apr 7, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
6 changes: 1 addition & 5 deletions AsterAnalysis/interface.ccl
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,10 @@ USES INCLUDE HEADER: aster_fd.hxx aster_interp.hxx aster_utils.hxx

CCTK_REAL mhd_analysis TYPE=gf CENTERING={ccc} tags='checkpoint="no"'
{
divA, A_norm, divB, B_norm, b2small, mean_B_numerator, mean_B_denominator, mhd_press_ratio, mhd_energy_ratio, magnetic_energy, kinetic_energy, poynting_flux_x, poynting_flux_y, poynting_flux_z, poynting_flux_norm, poynting_vector_x, poynting_vector_y, poynting_vector_z, poynting_scalar, lambda_MRI_x, lambda_MRI_y, lambda_MRI_z
divA, A_norm, divB, mean_B_numerator, mean_B_denominator, mhd_press_ratio, mhd_energy_ratio, magnetic_energy, kinetic_energy, poynting_flux_x, poynting_flux_y, poynting_flux_z, poynting_flux_norm, poynting_vector_x, poynting_vector_y, poynting_vector_z, poynting_scalar, lambda_MRI_x, lambda_MRI_y, lambda_MRI_z
} "Variables used for analysis purposes when magnetic fields are active"

CCTK_REAL mhd_spherical TYPE=gf CENTERING={ccc} tags='checkpoint="no"'
{
Brho, Btheta, Bphi, B_Poloidal_norm, B_Toroidal_norm, mean_B_Tor_numerator, mean_B_Tor_denominator, mean_B_Pol_numerator
} "For decomposition of B field into toroidal (phi) and poloidal parts"

public:

CCTK_REAL w_lorentz TYPE=gf CENTERING={ccc} TAGS='checkpoint="no"' "Lorentz factor"
7 changes: 4 additions & 3 deletions AsterAnalysis/schedule.ccl
Original file line number Diff line number Diff line change
Expand Up @@ -13,15 +13,16 @@ if (compute_MHD) {
READS: HydroBaseX::vel(everywhere)
READS: HydroBaseX::Bvec(everywhere)
READS: AsterX::zvec(everywhere)
READS: AsterX::B_norm(everywhere)
READS: AsterX::b2small(everywhere)
READS: AsterX::w_lorentz(everywhere)
READS: AsterX::Avec_x(everywhere)
READS: AsterX::Avec_y(everywhere)
READS: AsterX::Avec_z(everywhere)
READS: AsterX::dBx_stag(everywhere)
READS: AsterX::dBy_stag(everywhere)
READS: AsterX::dBz_stag(everywhere)
WRITES: w_lorentz(interior)
WRITES: mhd_analysis(interior)
SYNC: w_lorentz
}
"Compute MHD analysis quantities"
}
Expand All @@ -30,7 +31,7 @@ if (compute_MHD_spherical) {
SCHEDULE AsterAnalysis_MHD_Spherical AT analysis AFTER AsterAnalysis_MHD
{
LANG: C
READS: w_lorentz(interior)
READS: AsterX::w_lorentz(interior)
READS: ADMBaseX::metric(interior)
READS: HydroBaseX::Bvec(interior)
READS: HydroBaseX::rho(interior)
Expand Down
13 changes: 4 additions & 9 deletions AsterAnalysis/src/analysis_mhd.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -56,13 +56,11 @@ extern "C" void AsterAnalysis_MHD(CCTK_ARGUMENTS) {
v_up(1) = vely(p.I);
v_up(2) = velz(p.I);
v_low = calc_contraction(g_avg, v_up);
w_lorentz(p.I) = calc_wlorentz(v_low, v_up);

} else {

const vec<CCTK_REAL, 3> z_up{zvec_x(p.I), zvec_y(p.I), zvec_z(p.I)};
const vec<CCTK_REAL, 3> z_low = calc_contraction(g_avg, z_up);
w_lorentz(p.I) = calc_wlorentz_zvec(z_low, z_up);
v_up = z_up / w_lorentz(p.I);
v_low = z_low / w_lorentz(p.I);
}
Expand All @@ -76,11 +74,12 @@ extern "C" void AsterAnalysis_MHD(CCTK_ARGUMENTS) {
const vec<CCTK_REAL, 3> B_up{Bvecx(p.I), Bvecy(p.I), Bvecz(p.I)};
const vec<CCTK_REAL, 3> B_low = calc_contraction(g_avg, B_up);
const CCTK_REAL B2big = calc_contraction(B_up, B_low);
B_norm(p.I) = sqrt(B2big);

/* cell-centered A^i and A_i */
const vec<CCTK_REAL, 3> A_low(
[&](int i) ARITH_INLINE { return calc_avg_e2c(gf_Avec(i), p, i); });
const vec<CCTK_REAL, 3> A_low{calc_avg_e2c<0>(gf_Avec(0), p),
calc_avg_e2c<1>(gf_Avec(1), p),
calc_avg_e2c<2>(gf_Avec(2), p)};

const vec<CCTK_REAL, 3> A_up = calc_contraction(ug_avg, A_low);

A_norm(p.I) = sqrt(calc_contraction(A_low, A_up));
Expand All @@ -91,10 +90,6 @@ extern "C" void AsterAnalysis_MHD(CCTK_ARGUMENTS) {
const vec<CCTK_REAL, 3> bs =
(B_up / w_lorentz(p.I) + alp_avg * bs0 * velshift);

/* b^2 */
b2small(p.I) = (calc_contraction(B_up, B_low) + pow2(alp_avg * bs0)) /
pow2(w_lorentz(p.I));

/* inverse Beta and magnetization */
mhd_press_ratio(p.I) = b2small(p.I) / (2.0 * press(p.I));
mhd_energy_ratio(p.I) = b2small(p.I) / (2.0 * rho(p.I));
Expand Down
7 changes: 7 additions & 0 deletions AsterMasks/interface.ccl
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,10 @@ PUBLIC:

CCTK_REAL aster_mask_vc CENTERING={vvv} TYPE=gf TAGS='checkpoint="no"' "Vertex-centered mask"
CCTK_REAL aster_mask_cc CENTERING={ccc} TYPE=gf TAGS='checkpoint="no"' "Cell-centered mask"

# This scalar can be used by external thorns to indicate
# whether we reset the gridfunctions above as
# AsterMasks_SetToOne/PostStep is always scheduled.
# We set the gfs to one if: MaskBool = 1
# MaskBool = 0 by default most of the time
CCTK_REAL MaskBool TYPE=scalar "Whether we set the mask gridfunctions to one"
61 changes: 49 additions & 12 deletions AsterMasks/schedule.ccl
Original file line number Diff line number Diff line change
@@ -1,21 +1,58 @@
#Schedule definitions for thorn AsterMasks

STORAGE: aster_mask_vc
STORAGE: aster_mask_cc

SCHEDULE AsterMasks_Initialize IN CCTK_INITIAL BEFORE ODESolvers_Initial {
# ----- CCTK_INITIAL

SCHEDULE AsterMasks_SetToOne IN CCTK_INITIAL BEFORE ODESolvers_Initial {
LANG: C
WRITES: aster_mask_vc(everywhere) aster_mask_cc(everywhere)
} "Set masks = 1"

SCHEDULE AsterMasks_SetMaskBoolZero IN CCTK_INITIAL BEFORE ODESolvers_Initial AFTER AsterMasks_Init {
LANG: C
OPTIONS: global
WRITES: MaskBool
} "Set MaskBool = 0"

# ----- ODESolvers_PostStep

SCHEDULE AsterMasks_SetToOnePostStep IN ODESolvers_PostStep BEFORE ADMBaseX_SetADMVars {
LANG: C
READS: MaskBool
READS: aster_mask_vc(everywhere) aster_mask_cc(everywhere)
WRITES: aster_mask_vc(everywhere) aster_mask_cc(everywhere)
} "If (MaskBool = 1) masks = 1"

SCHEDULE AsterMasks_SetMaskBoolZero IN ODESolvers_PostStep BEFORE ADMBaseX_SetADMVars AFTER AsterMasks_SetToOnePostStep {
LANG: C
OPTIONS: global
WRITES: MaskBool
} "Set MaskBool = 0"

# ----- CCTK_POSTREGRID

SCHEDULE AsterMasks_SetToOne IN CCTK_POSTREGRID BEFORE ODESolvers_PostStep {
LANG: C
WRITES: aster_mask_vc(everywhere)
WRITES: aster_mask_cc(everywhere)
} "Initialize VC and CC mask to true"
WRITES: aster_mask_vc(everywhere) aster_mask_cc(everywhere)
} "Set masks = 1"

SCHEDULE AsterMasks_SetMaskBoolZero IN CCTK_POSTREGRID BEFORE ODESolvers_PostStep AFTER AsterMasks_SetToOne {
LANG: C
OPTIONS: global
WRITES: MaskBool
} "Set MaskBool = 0"

# ----- CCTK_POST_RECOVER_VARIABLES

SCHEDULE AsterMasks_Initialize IN CCTK_POSTREGRID BEFORE ODESolvers_PostStep {
SCHEDULE AsterMasks_SetToOne IN CCTK_POST_RECOVER_VARIABLES BEFORE ODESolvers_PostStep {
LANG: C
WRITES: aster_mask_vc(everywhere)
WRITES: aster_mask_cc(everywhere)
} "Initialize VC and CC mask to true"
WRITES: aster_mask_vc(everywhere) aster_mask_cc(everywhere)
} "Set masks = 1"

SCHEDULE AsterMasks_Initialize IN CCTK_POST_RECOVER_VARIABLES {
SCHEDULE AsterMasks_SetMaskBoolZero IN CCTK_POST_RECOVER_VARIABLES BEFORE ODESolvers_PostStep AFTER AsterMasks_SetToOne {
LANG: C
WRITES: aster_mask_vc(everywhere)
WRITES: aster_mask_cc(everywhere)
} "Initialize VC and CC mask to true"
OPTIONS: global
WRITES: MaskBool
} "Set MaskBool = 0"
29 changes: 0 additions & 29 deletions AsterMasks/src/InitializeMasks.cxx

This file was deleted.

62 changes: 62 additions & 0 deletions AsterMasks/src/Masks.cxx
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
#include <loop.hxx>
#include <loop_device.hxx>

#include <cctk.h>
#include <cctk_Arguments.h>
#include <cctk_Parameters.h>

extern "C" void AsterMasks_SetToOne(CCTK_ARGUMENTS) {
DECLARE_CCTK_ARGUMENTSX_AsterMasks_SetToOne;
DECLARE_CCTK_PARAMETERS;

grid.loop_all_device<0, 0, 0>(
grid.nghostzones,
[=] CCTK_DEVICE(const Loop::PointDesc &p) CCTK_ATTRIBUTE_ALWAYS_INLINE {

aster_mask_vc(p.I) = 1.0;

});

grid.loop_all_device<1, 1, 1>(
grid.nghostzones,
[=] CCTK_DEVICE(const Loop::PointDesc &p) CCTK_ATTRIBUTE_ALWAYS_INLINE {

aster_mask_cc(p.I) = 1.0;

});
}

extern "C" void AsterMasks_SetToOnePostStep(CCTK_ARGUMENTS)
{
DECLARE_CCTK_ARGUMENTSX_AsterMasks_SetToOnePostStep;
DECLARE_CCTK_PARAMETERS;

if (*MaskBool == 1.0) {

grid.loop_all_device<0, 0, 0>(
grid.nghostzones,
[=] CCTK_DEVICE(const Loop::PointDesc &p) CCTK_ATTRIBUTE_ALWAYS_INLINE {

aster_mask_vc(p.I) = 1.0;

});

grid.loop_all_device<1, 1, 1>(
grid.nghostzones,
[=] CCTK_DEVICE(const Loop::PointDesc &p) CCTK_ATTRIBUTE_ALWAYS_INLINE {

aster_mask_cc(p.I) = 1.0;

});

}
}

extern "C" void AsterMasks_SetMaskBoolZero(CCTK_ARGUMENTS)
{
DECLARE_CCTK_ARGUMENTSX_AsterMasks_SetMaskBoolZero;
DECLARE_CCTK_PARAMETERS;

*MaskBool = 0.0;

}
2 changes: 1 addition & 1 deletion AsterMasks/src/make.code.defn
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

# Source files in this directory
SRCS = \
InitializeMasks.cxx
Masks.cxx

# Subdirectories containing source files
SUBDIRS =
44 changes: 43 additions & 1 deletion AsterSeeds/param.ccl
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,8 @@ KEYWORD test_case "Name of the testcase" STEERABLE=never
"cylindrical blast" :: ""
"magnetic rotor" :: ""
"magnetic loop advection" :: ""
"KHI" :: ""
"magKHI" :: ""

"spherical shock" :: ""
"magTOV" :: ""
Expand Down Expand Up @@ -75,7 +77,7 @@ CCTK_REAL press_atmosphere "floor pressure in the atmosphere"

# parameters for 1D tests

CCTK_REAL amplitude "Wave amplitude" STEERABLE=never
CCTK_REAL amplitude "Amplitude" STEERABLE=never
{
0.0:* :: ""
} 1.0e-3
Expand Down Expand Up @@ -111,6 +113,46 @@ CCTK_KEYWORD mag_loop_adv_axial_vel "Zero or non-zero fluid velocity along the d
"non-zero" :: "Non-zero fluid velocity along the direction of the magnetic loop's axis"
} "zero"

# parameters for 2D KHI

CCTK_REAL p_val "initial pressure" STEERABLE=always
{
0.0:* :: ""
} 2.5

CCTK_REAL w0 "amplitude of pertubation applied to v^y" STEERABLE=always
{
0.0:* :: ""
} 0.1

CCTK_REAL sigma "parameter for the exponential in v^y" STEERABLE=always
{
0.0:* :: ""
} 0.0353553390593274

# Initial data for region above the slip surface

CCTK_REAL rhoUp "initial density" STEERABLE=always
{
0.0:* :: ""
} 1.0

CCTK_REAL vxUp "initial x component of velocity" STEERABLE=always
{
*:* :: ""
} -0.5

# Initial data for region below the slip surface

CCTK_REAL rhoLow "initial density" STEERABLE=always
{
0.0:* :: ""
} 2.0

CCTK_REAL vxLow "initial x component of velocity" STEERABLE=always
{
*:* :: ""
} 0.5

# ---------------------------------------

Expand Down
10 changes: 5 additions & 5 deletions AsterSeeds/src/1D_tests.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ extern "C" void Tests1D_Initialize(CCTK_ARGUMENTS) {
vely(p.I) = 0.0;
velz(p.I) = 0.0;
press(p.I) = 1.0;
eps(p.I) = eos_3p_ig->eps_from_valid_rho_press_ye(
eps(p.I) = eos_3p_ig->eps_from_rho_press_ye(
rho(p.I), press(p.I), dummy_ye);
});

Expand Down Expand Up @@ -72,7 +72,7 @@ extern "C" void Tests1D_Initialize(CCTK_ARGUMENTS) {
vely(p.I) = 0.0;
velz(p.I) = 0.0;
press(p.I) = 1.0; // should add kinetic energy here
eps(p.I) = eos_3p_ig->eps_from_valid_rho_press_ye(
eps(p.I) = eos_3p_ig->eps_from_rho_press_ye(
rho(p.I), press(p.I), dummy_ye);
});

Expand Down Expand Up @@ -104,7 +104,7 @@ extern "C" void Tests1D_Initialize(CCTK_ARGUMENTS) {
vely(p.I) = -va * A0 * cos(k * p.x);
velz(p.I) = -va * A0 * sin(k * p.x);
press(p.I) = 0.5; // should add kinetic energy here
eps(p.I) = eos_3p_ig->eps_from_valid_rho_press_ye(
eps(p.I) = eos_3p_ig->eps_from_rho_press_ye(
rho(p.I), press(p.I), dummy_ye);
});

Expand Down Expand Up @@ -143,7 +143,7 @@ extern "C" void Tests1D_Initialize(CCTK_ARGUMENTS) {
velz(p.I) = 0.0;
press(p.I) = 1.0;
}
eps(p.I) = eos_3p_ig->eps_from_valid_rho_press_ye(
eps(p.I) = eos_3p_ig->eps_from_rho_press_ye(
rho(p.I), press(p.I), dummy_ye);
});

Expand Down Expand Up @@ -377,7 +377,7 @@ extern "C" void Tests1D_Initialize(CCTK_ARGUMENTS) {
velz(p.I) = oldvrs(2);
press(p.I) = pressr;
}
eps(p.I) = eos_3p_ig->eps_from_valid_rho_press_ye(
eps(p.I) = eos_3p_ig->eps_from_rho_press_ye(
rho(p.I), press(p.I), dummy_ye);
});

Expand Down
Loading
Loading