-
Notifications
You must be signed in to change notification settings - Fork 11
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
75 changed files
with
1,349 additions
and
0 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
Cactus Code Thorn StaggeredWaveToyX | ||
Author(s) : Erik Schnetter <[email protected]> | ||
Maintainer(s): Erik Schnetter <[email protected]> | ||
Licence : LGPL | ||
-------------------------------------------------------------------------- | ||
|
||
1. Purpose | ||
|
||
Solve the scalar wave equation using staggered grids. |
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,3 @@ | ||
# Configuration definitions for thorn StaggeredWaveToyX | ||
|
||
REQUIRES Loop |
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,99 @@ | ||
# Interface definition for thorn StaggeredWaveToyX | ||
|
||
IMPLEMENTS: StaggeredWaveToyX | ||
|
||
USES INCLUDE HEADER: loop_device.hxx | ||
USES INCLUDE HEADER: vect.hxx | ||
|
||
|
||
|
||
CCTK_REAL ustate TYPE=gf CENTERING={vvv} TAGS='rhs="urhs" dependents="uerror energy"' | ||
{ | ||
u | ||
ft | ||
} "Scalar wave state vector" | ||
|
||
CCTK_REAL fxstate TYPE=gf CENTERING={cvv} TAGS='parities={-1 +1 +1} rhs="fxrhs" dependents="fxerror energy"' | ||
{ | ||
fx | ||
} "Scalar wave state vector, staggered in x direction" | ||
|
||
CCTK_REAL fystate TYPE=gf CENTERING={vcv} TAGS='parities={+1 -1 +1} rhs="fyrhs" dependents="fyerror energy"' | ||
{ | ||
fy | ||
} "Scalar wave state vector, staggered in y direction" | ||
|
||
CCTK_REAL fzstate TYPE=gf CENTERING={vvc} TAGS='parities={+1 +1 -1} rhs="fzrhs" dependents="fzerror energy"' | ||
{ | ||
fz | ||
} "Scalar wave state vector, staggered in z direction" | ||
|
||
|
||
|
||
CCTK_REAL urhs TYPE=gf CENTERING={vvv} TAGS='checkpoint="no"' | ||
{ | ||
u_rhs | ||
ft_rhs | ||
} "Scalar wave rhs" | ||
|
||
CCTK_REAL fxrhs TYPE=gf CENTERING={cvv} TAGS='parities={-1 +1 +1} checkpoint="no"' | ||
{ | ||
fx_rhs | ||
} "Scalar wave rhs, staggered in x direction" | ||
|
||
CCTK_REAL fyrhs TYPE=gf CENTERING={vcv} TAGS='parities={+1 -1 +1} checkpoint="no"' | ||
{ | ||
fy_rhs | ||
} "Scalar wave rhs, staggered in y direction" | ||
|
||
CCTK_REAL fzrhs TYPE=gf CENTERING={vvc} TAGS='parities={+1 +1 -1} checkpoint="no"' | ||
{ | ||
fz_rhs | ||
} "Scalar wave rhs, staggered in z direction" | ||
|
||
|
||
|
||
CCTK_REAL curlfx TYPE=gf CENTERING={vcc} TAGS='parities={+1 -1 -1} checkpoint="no"' | ||
{ | ||
curlfx | ||
} "Constraints, staggered in x direction" | ||
|
||
CCTK_REAL curlfy TYPE=gf CENTERING={cvc} TAGS='parities={-1 +1 -1} checkpoint="no"' | ||
{ | ||
curlfy | ||
} "Constraints, staggered in y direction" | ||
|
||
CCTK_REAL curlfz TYPE=gf CENTERING={ccv} TAGS='parities={-1 -1 +1} checkpoint="no"' | ||
{ | ||
curlfz | ||
} "Constraints, staggered in z direction" | ||
|
||
|
||
|
||
CCTK_REAL energy CENTERING={CCC} TYPE=gf TAGS='checkpoint="no"' | ||
{ | ||
eps | ||
} "Energy density" | ||
|
||
|
||
|
||
CCTK_REAL uerror TYPE=gf CENTERING={vvv} TAGS='checkpoint="no"' | ||
{ | ||
u_err | ||
ft_err | ||
} "Scalar wave error" | ||
|
||
CCTK_REAL fxerror TYPE=gf CENTERING={cvv} TAGS='parities={-1 +1 +1} checkpoint="no"' | ||
{ | ||
fx_err | ||
} "Scalar wave error, staggered in x direction" | ||
|
||
CCTK_REAL fyerror TYPE=gf CENTERING={vcv} TAGS='parities={+1 -1 +1} checkpoint="no"' | ||
{ | ||
fy_err | ||
} "Scalar wave error, staggered in y direction" | ||
|
||
CCTK_REAL fzerror TYPE=gf CENTERING={vvc} TAGS='parities={+1 +1 -1} checkpoint="no"' | ||
{ | ||
fz_err | ||
} "Scalar wave error, staggered in z direction" |
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,61 @@ | ||
ActiveThorns = " | ||
CarpetX | ||
IOUtil | ||
ODESolvers | ||
StaggeredWaveToyX | ||
TimerReport | ||
" | ||
|
||
$out_every = 16 | ||
|
||
Cactus::cctk_show_schedule = no | ||
Cactus::presync_mode = "mixed-error" | ||
|
||
CarpetX::poison_undefined_values = no | ||
|
||
CarpetX::periodic_x = yes | ||
CarpetX::periodic_y = yes | ||
CarpetX::periodic_z = yes | ||
|
||
Cactus::terminate = "time" | ||
Cactus::cctk_final_time = 1.0 | ||
|
||
StaggeredWaveToyX::initial_condition = "standing wave" | ||
|
||
ODESolvers::method = "RK3" | ||
|
||
IO::out_dir = $parfile | ||
IO::out_every = $out_every | ||
|
||
CarpetX::out_norm_vars = "all" | ||
|
||
CarpetX::out_tsv_vars = " | ||
StaggeredWaveToyX::ustate | ||
StaggeredWaveToyX::fxstate | ||
StaggeredWaveToyX::fystate | ||
StaggeredWaveToyX::fzstate | ||
StaggeredWaveToyX::urhs | ||
StaggeredWaveToyX::fxrhs | ||
StaggeredWaveToyX::fyrhs | ||
StaggeredWaveToyX::fzrhs | ||
StaggeredWaveToyX::curlfx | ||
StaggeredWaveToyX::curlfy | ||
StaggeredWaveToyX::curlfz | ||
StaggeredWaveToyX::energy | ||
StaggeredWaveToyX::uerror | ||
StaggeredWaveToyX::fxerror | ||
StaggeredWaveToyX::fyerror | ||
StaggeredWaveToyX::fzerror | ||
" | ||
|
||
CarpetX::out_silo_vars = " | ||
StaggeredWaveToyX::ustate | ||
StaggeredWaveToyX::urhs | ||
StaggeredWaveToyX::energy | ||
StaggeredWaveToyX::uerror | ||
" | ||
|
||
TimerReport::out_every = $out_every | ||
TimerReport::out_filename = "TimerReport" | ||
TimerReport::output_schedule_timers = no | ||
TimerReport::n_top_timers = 100 |
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,32 @@ | ||
# Parameter definitions for thorn StaggeredWaveToyX | ||
|
||
KEYWORD initial_condition "Initial condition" | ||
{ | ||
"standing wave" :: "Standing wave" | ||
"Gaussian" :: "Gaussian" | ||
} "standing wave" | ||
|
||
CCTK_REAL amplitude "Initial amplitude" | ||
{ | ||
*:* :: "" | ||
} 1.0 | ||
|
||
CCTK_REAL standing_wave_kx "kx for standing wave" | ||
{ | ||
*:* :: "" | ||
} 0.5 | ||
|
||
CCTK_REAL standing_wave_ky "kz for standing wave" | ||
{ | ||
*:* :: "" | ||
} 0.5 | ||
|
||
CCTK_REAL standing_wave_kz "ky for standing wave" | ||
{ | ||
*:* :: "" | ||
} 0.5 | ||
|
||
CCTK_REAL gaussian_width "width of Gaussian" | ||
{ | ||
(0:* :: "" | ||
} 1.0 |
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,75 @@ | ||
# Schedule definitions for thorn StaggeredWaveToyX | ||
|
||
STORAGE: ustate fxstate fystate fzstate | ||
|
||
SCHEDULE StaggeredWaveToyX_Initial AT initial | ||
{ | ||
LANG: C | ||
WRITES: ustate(interior) | ||
WRITES: fxstate(interior) | ||
WRITES: fystate(interior) | ||
WRITES: fzstate(interior) | ||
SYNC: ustate | ||
SYNC: fxstate | ||
SYNC: fystate | ||
SYNC: fzstate | ||
} "Initialize scalar wave state" | ||
|
||
SCHEDULE StaggeredWaveToyX_RHS IN ODESolvers_RHS | ||
{ | ||
LANG: C | ||
READS: ustate(everywhere) | ||
READS: fxstate(everywhere) | ||
READS: fystate(everywhere) | ||
READS: fzstate(everywhere) | ||
WRITES: urhs(interior) | ||
WRITES: fxrhs(interior) | ||
WRITES: fyrhs(interior) | ||
WRITES: fzrhs(interior) | ||
SYNC: urhs | ||
SYNC: fxrhs | ||
SYNC: fyrhs | ||
SYNC: fzrhs | ||
} "Calculate scalar wave RHS" | ||
|
||
SCHEDULE StaggeredWaveToyX_Constraints IN ODESolvers_PostStep | ||
{ | ||
LANG: C | ||
READS: fxstate(interior) | ||
READS: fystate(interior) | ||
READS: fzstate(interior) | ||
WRITES: curlfx(interior) | ||
WRITES: curlfy(interior) | ||
WRITES: curlfz(interior) | ||
SYNC: curlfx | ||
SYNC: curlfy | ||
SYNC: curlfz | ||
} "Calculate scalar wave constraints" | ||
|
||
SCHEDULE StaggeredWaveToyX_Energy IN ODESolvers_PostStep | ||
{ | ||
LANG: C | ||
READS: ustate(interior) | ||
READS: fxstate(interior) | ||
READS: fystate(interior) | ||
READS: fzstate(interior) | ||
WRITES: energy(interior) | ||
SYNC: energy | ||
} "Calculate scalar wave energy density" | ||
|
||
SCHEDULE StaggeredWaveToyX_Error IN ODESolvers_PostStep | ||
{ | ||
LANG: C | ||
READS: ustate(interior) | ||
READS: fxstate(interior) | ||
READS: fystate(interior) | ||
READS: fzstate(interior) | ||
WRITES: uerror(interior) | ||
WRITES: fxerror(interior) | ||
WRITES: fyerror(interior) | ||
WRITES: fzerror(interior) | ||
SYNC: uerror | ||
SYNC: fxerror | ||
SYNC: fyerror | ||
SYNC: fzerror | ||
} "Calculate error in scalar wave state" |
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,7 @@ | ||
# Main make.code.defn file for thorn StaggeredWaveToyX | ||
|
||
# Source files in this directory | ||
SRCS = staggeredwavetoyx.cxx | ||
|
||
# Subdirectories containing source files | ||
SUBDIRS = |
Oops, something went wrong.