[ET Trac] [Einstein Toolkit] #1531: GRHydro updates
Einstein Toolkit
trac-noreply at einsteintoolkit.org
Mon Jan 27 13:26:20 CST 2014
#1531: GRHydro updates
------------------------------------+---------------------------------------
Reporter: rhaas | Owner:
Type: enhancement | Status: review
Priority: major | Milestone:
Component: EinsteinToolkit thorn | Version: development version
Resolution: | Keywords: GRHydro EOS_Omni
------------------------------------+---------------------------------------
Changes (by rhaas):
* status: new => review
Comment:
0001-add-barotropic-tabular-EOS-functionality-for-initial.patch::
this adds tabulated EOS that only depend on density (ie that are cold)
0002-Major-bug-fix-in-EOS_Omni-nuc_eos.-In-the-code-befor.patch::
this fixes a bug where incosistent values were returned for the tabulated
EOS
when data was outside of the table bounds
0003-EOS_Omni-re-add-poly_gamma_initial.patch::
poly_gamma_ini used to exist in EOS_Omni and cause problems for unwary
users.
It was removed some time ago, but apparently still used.
poly_gamma_initial is
a tame version of poly_gamma_ini which defaults to poly_gamma and thus
does
not have to be set whenever poly_gamma is changed away from its default
0004-new-nuc_eos-backend-in-c.patch::
complete rewrite of tabulated EOS driver. Changes internal layout of table
in
memory, optimizes how data is stored. Should be a drop in replacement for
user
code.
0005-improved-checking-of-keytemp.patch::
changes keytemp to a enumeration of values rather than a boolean
0006-EOS_Omni-use-CCTK_ERROR-add-STOP-after-CCTK_ERROR.patch::
tries to help the compiler notice thta CCTK_ERROR never returns since we
do
not provide an __attribute__((noreturn)) for CCTK_Error (since there is no
prototype for it)
0007-EOS_Omni-remove-unnecessary-make.code.deps.patch::
removes explicitly listed dependencies that Cactus can compute itself
0008-EOS_Omni-remove-__restrict__-in-favor-of-restrict-si.patch::
search and replace for {{{__restrict__}}}
0009-EOS_Omni-use-Cactus-error-reporting-functions-in-rea.patch::
changes fprintf(stderr,...) to CCTK_VError
0010-EOS_Omni-declare-global-variables-restrict.patch::
adds restrict to the EOS tables
0011-EOS_Omni-add-comments-and-TODOs.patch::
not code change, just comments
0012-EOS_Omni-use-explicit-temporary-for-loop-upper-bound.patch::
low level optimization to tell the compiler that the upper bound in
constant
0013-EOS_Omni-always-set-anyerr-when-an-error-is-detected.patch::
bugfix to correclyt report error when the eos call fails
0014-EOS_Omni-low-level-optimizations.patch::
various low level optimizations that do not affect the returned values
beyond
roundoff level
0015-EOS_Omni-move-actual-table-data-into-namespace-of-it.patch::
code cleanup
0016-make-new-EOS-call-that-returns-press-and-cs2-and-eps.patch::
add optimized EOS call that is used by GRHydro to compute speed of sound
and
pressure at the same time, this removes the EOS call from the Riemann
solvers
0017-EOS_Omni-add-code-for-test-case-to-C-version.patch::
adds the test case back to the thorn, same data, just different code
0018-EOS_Omni-nuc_eos_cxx-ensure-cs2-is-0-or-positive.patch::
this makes sure that the results are not unphysical
10001-GRHydro-rewrite-HLLEM-without-if-flux_direction-in-i.patch::
this removes if statements at the expense of having non-constant integer
offsets added to i,j,k
10002-GRHydro-remove-divergence-cleaning-code-from-Avec-ev.patch::
the vector potential evolution cannot use divergence cleaning
10003-GRHydro-add-STOP-statement-after-CCTK_ERROR.patch::
tell the compiler that CCTK_ERROR never returns
10004-GRHydro-Simplify-logical-expression.patch::
turns an if-else into a boolean operation
10005-GRHydro-remove-unused-source-file-GRHydro_PPM.c.patch::
removes unused (and uncompiled) file leftover from first attempt at PPM
10006-GRHydro-change-prim2con-EOS-calls-to-calls-for-x-sli.patch::
call EOS on slices rather than the full grid function. This avoids having
to
have an OMP version of the EOS routines.
10007-GRHydro-start-changes-for-improved-EOS-and-HLLE-hand.patch::
computes cs2 along with pressure
10008-GRHydro-compute-pressure-in-prim2con-only-where-need.patch::
changes loop boundaries from "everything" to "interior"
10009-GRHydro-add-hllc-solver.patch::
adds a hllc riemann solver. Based on Matt Duez' notes.
10010-GRHydro-add-hllc-shock-tube-test.patch::
test case for hllc
10011-GRHydro-New-C-ePPM-algorithm.patch::
add enhanced PPM to C++ PPM code
10012-GRHydro-adjust-loop-bounds-in-C-PPM-to-match-F90-cod.patch::
bugfixes
10013-GRHydro-correct-vel-slicing-in-optimized-C-PPM-recon.patch::
bugfixes
10014-GRhydro-correct-argument-types-for-oned_slice-and-un.patch::
bugfixes
10015-GRHydro-fix-z-direction-in-optimized-C-PPM.patch::
bugfixes
10016-GRHydro-add-MHD-multipatch-support-to-optimized-C-PP.patch::
adds the multipatch boilerplate code to set up g11 etc
10017-GRHydro-support-array-padding-in-optimized-C-PPM.patch::
use cctk_ash for memory allocation and indexing
10018-GRHydro-remove-string-comparisons-from-C-PPM-driver.patch::
optimization
10019-GRHydro-unify-usage-of-a-0-vs-a.patch::
code cleanup
10020-GRHydro-C-PPM-enable-OMP-bugfixes.patch::
code cleanup and OpenMP code (mostly just moving array allocation inside
the
OMP parallel part)
10021-GRHydro-reconstruct_Wv-for-ePPM-oPPM.patch::
adds possibility to reconstruct w_lorentz*vel[] which is not constrained
so
cannot be superluminal to C++ PPM code
10022-GRHydro-C-version-of-HLLE.patch::
re-implements HLLE in C++
10023-GRHydro-HLLE.cc-MHD-implementation.patch::
adds MHD to HLLE
10024-GRHydro-New-reconstruction-interface.-All-in-templat.patch::
framework to handle all reconstruction operators in C++. Independent (and
different) from what was used for PPM.
10025-GRHydro-add-MP5-reconstruct.patch::
MP5 reconstruction in C++ framework
10026-GRHydro-add-WENO-reconstruct.patch::
WENO (as in WHAM paper, WENO-Z) in C++ framework
10027-GRHydro-add-Trivial-copy-reconstruct.patch::
trivial reconstruction is just a copy from cell centers to the edges, used
to
initialize edge values (was an explict copy in F90 code)
10028-GRHydro-add-TVD-reconstruct.patch::
TVD reconstruction in C++ framework
10029-GRHydro-implement-sources-in-C.patch::
GRHydro source terms in C++ code
To use the C++ code one currently has to set use_cxx_code to true.
Otherwise
the old F90 code is used. Currently the two codes are similar (since the
C++
code often started out as a transcription of the F90 code) but they are
beginning to diverge. I expect that the F90 will be abandoned and most new
deveopment will happen on the C++ code.
--
Ticket URL: <https://trac.einsteintoolkit.org/ticket/1531#comment:1>
Einstein Toolkit <http://einsteintoolkit.org>
The Einstein Toolkit
More information about the Trac
mailing list