#145: EOS_Omni requires HDF5 library. What about if it only uses HDF5 instead?
---------------------------+------------------------------------------------
Reporter: bmundim | Owner:
Type: enhancement | Status: new
Priority: major | Milestone:
Component: Other | Version:
Keywords: EOS_Omni HDF5 |
---------------------------+------------------------------------------------
At the moment EOS_Omni requires the HDF5 library to read
the nuclear EOS values from a table. Since not all distros have
fortran support for the HDF5 library as a default, I propose
to change this requirement and provide a fall back in case this
support is not present. Perhaps not using the nuclear EOS, or
reading from an ASCII file instead. This could be just a temporary
solution until the HDF5 library build script becomes more robust.
Opinions?
Thanks,
Bruno.
--
Ticket URL: <https://trac.einsteintoolkit.org/ticket/145>
Einstein Toolkit <http://einsteintoolkit.org>
The Einstein Toolkit
#470: Check is wrong inside prolongate_3d_o1_rf2.cc
---------------------+------------------------------------------------------
Reporter: sbrandt | Owner:
Type: defect | Status: new
Priority: major | Milestone:
Component: Other | Version:
Keywords: |
---------------------+------------------------------------------------------
The problem materialized when creating wave equation tutorials for the
Teragrid conference. I was unable to run an FMR application in parallel.
The check comprises lines 76-80 of the file:
if (not regbbox.expand(offsetlo, offsethi).is_contained_in(srcbbox) or
not regbbox .is_contained_in(dstbbox))
{
CCTK_WARN (0, "Internal error: region extent is not contained in
array extent");
}
--
Ticket URL: <https://trac.einsteintoolkit.org/ticket/470>
Einstein Toolkit <http://einsteintoolkit.org>
The Einstein Toolkit
#365: ADMBase: evolving with evolution_method="static" does not apply boundary
conditions
----------------------+-----------------------------------------------------
Reporter: eschnett | Owner:
Type: defect | Status: new
Priority: major | Milestone:
Component: Cactus | Version:
Keywords: |
----------------------+-----------------------------------------------------
When one uses the evolution method ADMBASE::evolution_method = "static"
(which is very tempting e.g. for Cowling), then no boundary conditions are
applied. This means that the ADMBase variables remain unset on the
boundaries after regridding, leading to all sorts of (rather unexpected)
problems.
The easy solution is to use thorn Exact instead, which applies an exact
solution at each time step, including on the boundary.
I suggest to remove the ADMBase functionality to provide a "static"
evolution method, since this evolution method does not know which boundary
condition to apply, and hence is bound to fail in non-trivial situations.
Alternatively, ADMBase needs to synchronise in postregrid (and probably a
few other bins as well). ADMBase should then also offer to apply an outer
boundary condition, in this case probably a Minkowski Dirichlet boundary
condition or a von Neumann condition.
--
Ticket URL: <https://trac.einsteintoolkit.org/ticket/365>
Einstein Toolkit <http://einsteintoolkit.org>
The Einstein Toolkit
#410: CarpetIOHDF5 may segfault when one_file_per_group is selected
--------------------------------+-------------------------------------------
Reporter: bmundim | Owner: eschnett
Type: defect | Status: new
Priority: major | Milestone:
Component: Carpet | Version:
Keywords: Carpet git version |
--------------------------------+-------------------------------------------
I was facing one of those cryptic MPI error messages on Ranger,
where your job quits without any useful error message. It turns out
that this parameter file had
CarpetIOHDF5::one_file_per_group = "yes"
CarpetIOHDF5::out2D_vars = " ADMBase::gxx"
and CarpetIOHDF5 would try to loop over the group variables when
just one of them was selected. As a result it has accessed memory
address that it was not supposed to, consequently killing the job.
I have attached the stack back trace.
--
Ticket URL: <https://trac.einsteintoolkit.org/ticket/410>
Einstein Toolkit <http://einsteintoolkit.org>
The Einstein Toolkit
#431: Update some external libraries
-----------------------------------+----------------------------------------
Reporter: eschnett | Owner:
Type: enhancement | Status: new
Priority: minor | Milestone:
Component: EinsteinToolkit thorn | Version:
Keywords: |
-----------------------------------+----------------------------------------
Several external libraries have new versions available:
LAPACK
PETSc
curl
git
These are only minor updates. I suggest to apply them.
--
Ticket URL: <https://trac.einsteintoolkit.org/ticket/431>
Einstein Toolkit <http://einsteintoolkit.org>
The Einstein Toolkit
#467: Make table printing functions publicly accessible
-------------------------+--------------------------------------------------
Reporter: eschnett | Owner:
Type: enhancement | Status: new
Priority: minor | Milestone:
Component: Cactus | Version:
Keywords: |
-------------------------+--------------------------------------------------
The table data types (util_Table.h) have internal routines that print the
table contents to screen. This can be helpful for debugging. The attached
patch makes these functions publicly available.
--
Ticket URL: <https://trac.einsteintoolkit.org/ticket/467>
Einstein Toolkit <http://einsteintoolkit.org>
The Einstein Toolkit
#136: Don't rebuild external libraries so often
-------------------------+--------------------------------------------------
Reporter: eschnett | Owner:
Type: enhancement | Status: new
Priority: minor | Milestone:
Component: Cactus | Version:
Keywords: |
-------------------------+--------------------------------------------------
One way to keep the external libraries that have been built would be the
following. Create a dummy configuration "ext" where all external libraries
are built. When another configuration is built, it should be easy to
specify to look there for the external libraries, or maybe this should
even be the default.
--
Ticket URL: <https://trac.einsteintoolkit.org/ticket/136>
Einstein Toolkit <http://einsteintoolkit.org>
The Einstein Toolkit
#222: Dubious code in Hydro_InitExcision.c
----------------------+-----------------------------------------------------
Reporter: eschnett | Owner:
Type: defect | Status: new
Priority: minor | Milestone:
Component: Cactus | Version:
Keywords: |
----------------------+-----------------------------------------------------
Hydro_InitExcision.c contains the following code:
if ( (hydro_initexcision_coordinate_length <= 0.0) &&
( ( x_frac > 0.5 - hydro_initexcision_fraction) &&
( x_frac < 0.5 + hydro_initexcision_fraction) &&
( y_frac > 0.5 - hydro_initexcision_fraction) &&
( y_frac < 0.5 + hydro_initexcision_fraction) &&
( z_frac > 0.5 - hydro_initexcision_fraction) &&
( z_frac < 0.5 + hydro_initexcision_fraction)
) ||
( (hydro_initexcision_coordinate_length > 0.0) &&
( fabs(x[point]-hydro_initexcision_position_x) <=
hydro_initexcision_coordinate_length*0.5) &&
( fabs(y[point]-hydro_initexcision_position_y) <=
hydro_initexcision_coordinate_length*0.5) &&
( fabs(z[point]-hydro_initexcision_position_z) <=
hydro_initexcision_coordinate_length*0.5)
)
)
This code has an "and" (&&) and an "or" (||) operation at top level. Is
this intended? The code would be clearer with an additional set of
parenthesis, or by introducing a suitable set of temporaries for sub-
expressions.
--
Ticket URL: <https://trac.einsteintoolkit.org/ticket/222>
Einstein Toolkit <http://einsteintoolkit.org>
The Einstein Toolkit
#235: Improve performance of Fortran index calculations
-------------------------+--------------------------------------------------
Reporter: eschnett | Owner:
Type: enhancement | Status: new
Priority: minor | Milestone:
Component: Cactus | Version:
Keywords: |
-------------------------+--------------------------------------------------
In Fortran, Cactus currently declares grid functions e.g. as (this is the
expansion of DECLARE_CCTK_ARGUMENTS)
REAL*8 gxx (X0metric,X1metric,X2metric)
where X0metric etc. are integers passed into the routine. Each grid
function group has its own, independent size. This has two disadvantages:
1. The compiler does not know that all grid functions have the same size
(namely cctk_lsh), and thus has to perform array index calculations
separately for each group
2. The argument list is longer than neded
The enclosed patch declares grid functions via cctk_lsh. Grid arrays are
still declared independently.
This reduces the code size of e.g. GRHydro/GRHydro_Tmunu.F90 from 6836 to
6241 bytes on my system. I have not attempted to measure a performance
difference.
--
Ticket URL: <https://trac.einsteintoolkit.org/ticket/235>
Einstein Toolkit <http://einsteintoolkit.org>
The Einstein Toolkit
#458: Improve bboxset efficiency (e.g. for regridding)
-------------------------+--------------------------------------------------
Reporter: eschnett | Owner: eschnett
Type: enhancement | Status: new
Priority: major | Milestone:
Component: Carpet | Version:
Keywords: |
-------------------------+--------------------------------------------------
The attached patch modifies the algorithm used to insert a new bbox into
an existing bboxset. It reduces the computational complexity of this
operation from O(n^2) to O(n), where n is the number of elements in the
bboxset. This has the potential to speed up regridding significantly.
--
Ticket URL: <https://trac.einsteintoolkit.org/ticket/458>
Einstein Toolkit <http://einsteintoolkit.org>
The Einstein Toolkit