Tool Kit for Lagrangian Grid Reconnection
This code explores algorithms for stabilized shock hydrodynamics on tetrahedral meshes.
At Sandia, LGRTK is SCR# 2300.0
Tool Kit for Lagrangian Grid Reconnection
<prefix>/lgrtk/v3/lgr_domain.cpp:150:10: error: prior to the resolution of a defect report against ISO C++11, local variable 'out' would have been copied despite being returned by name, due to its not matching the function return type ('unique_ptr<lgr::domain, default_delete<lgr::domain>>' vs 'unique_ptr<lgr::clipped_domain<lgr::all_space>, default_delete<lgr::clipped_domain<lgr::all_space>>>') [-Werror,-Wreturn-std-move-in-c++11]
return out;
^~~
<prefix>/lgrtk/v3/lgr_domain.cpp:150:10: note: call 'std::move' explicitly to avoid copying on older compilers
return out;
^~~
std::move(out)
A !include: <yaml file>
directive to include external yaml file in lgrtk input file.
It would be incredibly useful to !include: mesh.yaml
to include the mesh, or !include: materials.yaml
to include materials, etc. Albany has a directive to specify an external material file, but I think a general include directive would be generally more useful.
The yaml standard does not provide a specification for this feature. A possible implementation would be to look for the directive !include
and interpret the associated value as a filename to load:
if (key == “!include”)
{
// Include external file, `value` is the filename
if (!file_exists(value))
{
throw file_not_found_error(value);
}
auto contents = load_yaml_file(value);
this->update(contents);
}
@ibaned for the input file (say, input.yaml
)
...
mesh:
CUBIT:
commands: |
...
export genesis "mesh.exo"
Exodus file: mesh.exo
Running as
mpiexec -np <N> lgr input.yaml
results in runtime failure (some processes can't find the exodus file). Perhaps I am missing a nem_spread
command?
My name is Rod Douglass and am working with Glen and Kevin TeBeest on compiling and running lgrtk. I have followed the instructions as a "new user" for downloading lgrtk and building it. I had earlier run into the earlier SEACAS issue that Glen brought to your attention. My new compile has gone past the SEACAS issue so I think that is a closed issue. Thanks for fixing that.
I now have come across another compile problem when compiling lgr_compute_scalar.cpp. Here is the output for the error:
6%] Building CXX object src/CMakeFiles/lgr_library.dir/lgr_flood.cpp.o
/home/rod/ResearchII/lgrtk-build/src/lgrtk/v2/src/lgr_compute_scalar.cpp: In member function ‘void lgr::ComputeScalar::after_correction()’:
/home/rod/ResearchII/lgrtk-build/src/lgrtk/v2/src/lgr_compute_scalar.cpp:87:11: error: this ‘else’ clause does not guard... [-Werror=misleading-indentation]
else
^~~~
/home/rod/ResearchII/lgrtk-build/src/lgrtk/v2/src/lgr_compute_scalar.cpp:89:15: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘else’
(*itr).value = value;
^
cc1plus: all warnings being treated as errors
make[2]: *** [src/CMakeFiles/lgr_library.dir/build.make:444: src/CMakeFiles/lgr_library.dir/lgr_compute_scalar.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [CMakeFiles/Makefile2:966: src/CMakeFiles/lgr_library.dir/all] Error 2
make: *** [Makefile:158: all] Error 2
make install of lgrtk failed
I am using gcc version 8.3.0 which may be out of synch with your version. Any guidance on how best to proceed would be appreciated.
Thanks so much
I did a fresh "archie pull all" this morning and I am getting the following build error:
-- LGR_USE_SEACASAprepro: ON
-- SEACASAprepro_PREFIX:
CMake Error at bob.cmake:335 (find_package):
By not providing "FindSEACASAprepro.cmake" in CMAKE_MODULE_PATH this
project has asked CMake to find a package configuration file provided by
"SEACASAprepro", but CMake did not find one.
Could not find a package configuration file provided by "SEACASAprepro"
with any of the following names:
SEACASApreproConfig.cmake
seacasaprepro-config.cmake
Add the installation prefix of "SEACASAprepro" to CMAKE_PREFIX_PATH or set
"SEACASAprepro_DIR" to a directory containing one of the above files. If
"SEACASAprepro" provides a separate development package or SDK, be sure it
has been installed.
Call Stack (most recent call first):
CMakeLists.txt:14 (bob_add_dependency)
-- Configuring incomplete, errors occurred!
Does anyone know what might be happening to me?
the test tri3_bouyancy
fails on cee_lan after a number of steps with the error:
+3.0e+03 +2.0e+00 +0.0e+00
assertion determinant(incr_F) > 0.0 failed at /gpfs1/bngranz/archie/src/lgrtk/v2/src/lgr_deformation_gradient.cpp +35
when configuring with the script
make_threads=8
module load sems-env
module load sems-cmake/3.12.2
module load sems-gcc/7.3.0
module load sems-git/2.10.1
external_cmake_install=${SEMS_CMAKE_ROOT}
lgr_elements="Bar2\;Tri3\;Tri6\;Tet4\;CompTet"
From the looks of it, the PlatoPythonModule build requires Python 2.7. This needs to be specified in the CMakeLists to prevent cmake from finding and using Python 3.x on machines that have multiple versions of Python installed.
option(LGR_ENABLE_PLATO_PYTHON "Enable the Plato Python interface" OFF)
if (LGR_ENABLE_PLATO_PYTHON)
find_package(PythonLibs)
include_directories( ${PYTHON_INCLUDE_DIRS} )
add_library( Plato SHARED src/plato/LGR_App.cpp src/plato/PlatoPythonModule.cpp )
target_include_directories( Plato PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/src")
target_include_directories( Plato PRIVATE "${PLATO_PREFIX}/include")
target_link_libraries( Plato lgrtk ${PLATO_LIBS} ${Trilinos_LIBRARIES} ${Trilinos_TPL_LIBRARIES} ${PYTHON_LIBRARIES} )
set_target_properties( Plato PROPERTIES PREFIX "" )
target_compile_options( Plato PRIVATE "-lmpi" )
if( CMAKE_INSTALL_PREFIX )
install( TARGETS Plato DESTINATION ${CMAKE_INSTALL_PREFIX}/lib )
endif()
endif()
option(LGR_ENABLE_PLATO_GEOMETRY "Enable Plato Geometry" OFF)
if (LGR_ENABLE_PLATO_GEOMETRY)
add_definitions(-DPLATO_GEOMETRY)
endif()
Here's the error I see on spack. Py_InitModule3 does not exist in Python3.
==> Installing platoanalyze
==> Cloning git repository: https://github.com/SNLComputation/lgrtk.git on branch master
==> No checksum needed when fetching with git
==> Already staged platoanalyze-master-zzhmhtoyd6iezsu4xfjplnqnyeqbleku in /opt/pranav/spack/var/spack/stage/platoanalyze-master-zzhmhtoyd6iezsu4xfjplnqnyeqbleku
==> No patches needed for platoanalyze
==> Building platoanalyze [CMakePackage]
==> Executing phase: 'cmake'
==> Executing phase: 'build'
==> Error: ProcessError: Command exited with status 2:
'make' '-j20'
4 errors found in build log:
398 [ 77%] Built target lgr
399 [ 78%] Building CXX object unit_tests/CMakeFiles/PlatoMathHelpersUnitTests.dir/Teuchos_StandardUnitTestMain.cpp.o
400 cd /tmp/pranav/spack-stage/spack-stage-nUZGpT/lgrtk/spack-build/unit_tests && /opt/pranav/spack/opt/spack/linux-ubuntu16.04-x86_64/gcc-5.4.0/nvcc-wrapper-master-kz3zjguqndqwzupvqeyhknn3s6vi2gdu/etc
/nvcc_wrapper -DHAVE_AMGX -I/usr/include/python3.5m -I/opt/pranav/spack/var/spack/stage/platoanalyze-master-zzhmhtoyd6iezsu4xfjplnqnyeqbleku/lgrtk/src -I/tmp/pranav/spack-stage/spack-stage-nUZGpT/
lgrtk/spack-build/src -I/opt/pranav/spack/opt/spack/linux-ubuntu16.04-x86_64/gcc-5.4.0/amgx-master-lltsrhbja2hnzmim2pm4kgwfmbzxr5rl/include -I/opt/pranav/spack/var/spack/stage/platoanalyze-master-zz
hmhtoyd6iezsu4xfjplnqnyeqbleku/lgrtk/src/solverInterfaces/AmgX -isystem /opt/pranav/spack/opt/spack/linux-ubuntu16.04-x86_64/gcc-5.4.0/omega-h-master-omm6bln6gxou6qaj43ngmyo77ldb5j7f/include -isyste
m /opt/pranav/spack/opt/spack/linux-ubuntu16.04-x86_64/gcc-5.4.0/trilinos-master-r3pkbz3naz7hsqnefkcfe2z3pfobw6dr/include -isystem /opt/pranav/spack/opt/spack/linux-ubuntu16.04-x86_64/gcc-5.4.0/netc
df-4.6.1-ase5xze6hcd4h53lj4ydgr53fkhli2fw/include -isystem /opt/pranav/spack/opt/spack/linux-ubuntu16.04-x86_64/gcc-5.4.0/hdf5-1.10.2-h2ecpr3psnei6q4b7suge7qjgxglbgfs/include -isystem /opt/pranav/sp
ack/opt/spack/linux-ubuntu16.04-x86_64/gcc-5.4.0/parallel-netcdf-1.8.0-usb4gz3z2htuetb22bm2ma2md3asmgsz/include -isystem /usr/local/cuda/include -isystem /opt/pranav/spack/opt/spack/linux-ubuntu16.0
4-x86_64/gcc-5.4.0/zlib-1.2.11-5nus6knzumx4ik2yl44jxtgtsl7d54xb/include -expt-extended-lambda -std=c++11 -std=c++11 -O2 -g -DNDEBUG -o CMakeFiles/PlatoMathHelpersUnitTests.dir/Teuchos_StandardU
nitTestMain.cpp.o -c /opt/pranav/spack/var/spack/stage/platoanalyze-master-zzhmhtoyd6iezsu4xfjplnqnyeqbleku/lgrtk/unit_tests/Teuchos_StandardUnitTestMain.cpp
401 nvcc_wrapper - *warning* you have set multiple optimization flags (-std=c++1* or --std=c++1*), only the first is used because nvcc can only accept a single std setting
402 /opt/pranav/spack/var/spack/stage/platoanalyze-master-zzhmhtoyd6iezsu4xfjplnqnyeqbleku/lgrtk/src/plato/PlatoPythonModule.cpp(396): warning: non-void function "initPlato" should return a value
403
>> 404 /opt/pranav/spack/var/spack/stage/platoanalyze-master-zzhmhtoyd6iezsu4xfjplnqnyeqbleku/lgrtk/src/plato/PlatoPythonModule.cpp(398): error: identifier "Py_InitModule3" is undefined
405
406 /opt/pranav/spack/var/spack/stage/platoanalyze-master-zzhmhtoyd6iezsu4xfjplnqnyeqbleku/lgrtk/src/plato/PlatoPythonModule.cpp(403): warning: missing return statement at end of non-void function "init
Plato"
407
408 1 error detected in the compilation of "/tmp/tmpxft_000057f1_00000000-6_PlatoPythonModule.cpp1.ii".
409 CMakeFiles/Plato.dir/build.make:78: recipe for target 'CMakeFiles/Plato.dir/src/plato/PlatoPythonModule.cpp.o' failed
>> 410 make[2]: *** [CMakeFiles/Plato.dir/src/plato/PlatoPythonModule.cpp.o] Error 1
411 make[2]: *** Waiting for unfinished jobs....
412 [ 79%] Building CXX object CMakeFiles/LGR_MPMD.dir/src/plato/LGR_MPMD.cpp.o
413 /opt/pranav/spack/opt/spack/linux-ubuntu16.04-x86_64/gcc-5.4.0/nvcc-wrapper-master-kz3zjguqndqwzupvqeyhknn3s6vi2gdu/etc/nvcc_wrapper -DHAVE_AMGX -I/opt/pranav/spack/var/spack/stage/platoanalyze-mas
ter-zzhmhtoyd6iezsu4xfjplnqnyeqbleku/lgrtk/src -I/opt/pranav/spack/opt/spack/linux-ubuntu16.04-x86_64/gcc-5.4.0/platoengine-master-z6alq3hugu7pdhkkvjewpk6zvabm3t7a/include -I/usr/include/python3.5m
-I/tmp/pranav/spack-stage/spack-stage-nUZGpT/lgrtk/spack-build/src -I/opt/pranav/spack/opt/spack/linux-ubuntu16.04-x86_64/gcc-5.4.0/amgx-master-lltsrhbja2hnzmim2pm4kgwfmbzxr5rl/include -I/opt/prana
v/spack/var/spack/stage/platoanalyze-master-zzhmhtoyd6iezsu4xfjplnqnyeqbleku/lgrtk/src/solverInterfaces/AmgX -isystem /opt/pranav/spack/opt/spack/linux-ubuntu16.04-x86_64/gcc-5.4.0/omega-h-master-om
m6bln6gxou6qaj43ngmyo77ldb5j7f/include -isystem /opt/pranav/spack/opt/spack/linux-ubuntu16.04-x86_64/gcc-5.4.0/trilinos-master-r3pkbz3naz7hsqnefkcfe2z3pfobw6dr/include -isystem /opt/pranav/spack/opt
/spack/linux-ubuntu16.04-x86_64/gcc-5.4.0/netcdf-4.6.1-ase5xze6hcd4h53lj4ydgr53fkhli2fw/include -isystem /opt/pranav/spack/opt/spack/linux-ubuntu16.04-x86_64/gcc-5.4.0/hdf5-1.10.2-h2ecpr3psnei6q4b7s
uge7qjgxglbgfs/include -isystem /opt/pranav/spack/opt/spack/linux-ubuntu16.04-x86_64/gcc-5.4.0/parallel-netcdf-1.8.0-usb4gz3z2htuetb22bm2ma2md3asmgsz/include -isystem /usr/local/cuda/include -isyste
m /opt/pranav/spack/opt/spack/linux-ubuntu16.04-x86_64/gcc-5.4.0/zlib-1.2.11-5nus6knzumx4ik2yl44jxtgtsl7d54xb/include -expt-extended-lambda -std=c++11 -std=c++11 -O2 -g -DNDEBUG -o CMakeFiles/L
GR_MPMD.dir/src/plato/LGR_MPMD.cpp.o -c /opt/pranav/spack/var/spack/stage/platoanalyze-master-zzhmhtoyd6iezsu4xfjplnqnyeqbleku/lgrtk/src/plato/LGR_MPMD.cpp
414 nvcc_wrapper - *warning* you have set multiple optimization flags (-std=c++1* or --std=c++1*), only the first is used because nvcc can only accept a single std setting
415 [ 80%] Linking CXX executable ROCKET_MPMD
416 /opt/pranav/spack/opt/spack/linux-ubuntu16.04-x86_64/gcc-5.4.0/cmake-3.12.1-lk3pxtstogd2pz6ueafzkbnzmhooi6uu/bin/cmake -E cmake_link_script CMakeFiles/ROCKET_MPMD.dir/link.txt --verbose=1
...
503 [ 98%] Linking CXX executable LGRAppIntxTests
504 cd /tmp/pranav/spack-stage/spack-stage-nUZGpT/lgrtk/spack-build/unit_tests && /opt/pranav/spack/opt/spack/linux-ubuntu16.04-x86_64/gcc-5.4.0/cmake-3.12.1-lk3pxtstogd2pz6ueafzkbnzmhooi6uu/bin/cmake
-E cmake_link_script CMakeFiles/LGRAppIntxTests.dir/link.txt --verbose=1
505 /opt/pranav/spack/opt/spack/linux-ubuntu16.04-x86_64/gcc-5.4.0/nvcc-wrapper-master-kz3zjguqndqwzupvqeyhknn3s6vi2gdu/etc/nvcc_wrapper -expt-extended-lambda -std=c++11 -std=c++11 -O2 -g -DNDEBUG
-rdynamic CMakeFiles/LGRAppIntxTests.dir/__/src/plato/LGR_App.cpp.o CMakeFiles/LGRAppIntxTests.dir/LGRAppIntxTests.cpp.o CMakeFiles/LGRAppIntxTests.dir/LGRTestHelpers.cpp.o CMakeFiles/LGRAppIntxTes
ts.dir/Teuchos_LGRAppUnitTestMain.cpp.o -o LGRAppIntxTests -Wl,-rpath,/tmp/pranav/spack-stage/spack-stage-nUZGpT/lgrtk/spack-build/src:/opt/pranav/spack/opt/spack/linux-ubuntu16.04-x86_64/gcc-5.4.
0/trilinos-master-r3pkbz3naz7hsqnefkcfe2z3pfobw6dr/lib:/opt/pranav/spack/opt/spack/linux-ubuntu16.04-x86_64/gcc-5.4.0/matio-1.5.9-tnu7atbvn35ttzfvlqvxrlwfm3t5br5n/lib:/opt/pranav/spack/opt/spack/lin
ux-ubuntu16.04-x86_64/gcc-5.4.0/netcdf-4.6.1-ase5xze6hcd4h53lj4ydgr53fkhli2fw/lib:/opt/pranav/spack/opt/spack/linux-ubuntu16.04-x86_64/gcc-5.4.0/hdf5-1.10.2-h2ecpr3psnei6q4b7suge7qjgxglbgfs/lib:/opt
/pranav/spack/opt/spack/linux-ubuntu16.04-x86_64/gcc-5.4.0/zlib-1.2.11-5nus6knzumx4ik2yl44jxtgtsl7d54xb/lib:/opt/pranav/spack/opt/spack/linux-ubuntu16.04-x86_64/gcc-5.4.0/openblas-0.3.2-cmdvstekzc4e
uqcteiwdog7p3doivigo/lib:/usr/local/cuda/lib64:/opt/pranav/spack/opt/spack/linux-ubuntu16.04-x86_64/gcc-5.4.0/omega-h-master-omm6bln6gxou6qaj43ngmyo77ldb5j7f/lib:/opt/pranav/spack/opt/spack/linux-ub
untu16.04-x86_64/gcc-5.4.0/amgx-master-lltsrhbja2hnzmim2pm4kgwfmbzxr5rl/lib ../src/liblgrtk.so /opt/pranav/spack/opt/spack/linux-ubuntu16.04-x86_64/gcc-5.4.0/platoengine-master-z6alq3hugu7pdhkkvjewp
k6zvabm3t7a/lib/libPlatoDataLayer.a /opt/pranav/spack/opt/spack/linux-ubuntu16.04-x86_64/gcc-5.4.0/platoengine-master-z6alq3hugu7pdhkkvjewpk6zvabm3t7a/lib/libPlatoInterface.a /opt/pranav/spack/opt/s
pack/linux-ubuntu16.04-x86_64/gcc-5.4.0/platoengine-master-z6alq3hugu7pdhkkvjewpk6zvabm3t7a/lib/libPlatoAnalyze.a /opt/pranav/spack/opt/spack/linux-ubuntu16.04-x86_64/gcc-5.4.0/platoengine-master-z6
alq3hugu7pdhkkvjewpk6zvabm3t7a/lib/libPlatoParser.a /opt/pranav/spack/opt/spack/linux-ubuntu16.04-x86_64/gcc-5.4.0/platoengine-master-z6alq3hugu7pdhkkvjewpk6zvabm3t7a/lib/libPlatoExceptions.a /opt/p
ranav/spack/opt/spack/linux-ubuntu16.04-x86_64/gcc-5.4.0/trilinos-master-r3pkbz3naz7hsqnefkcfe2z3pfobw6dr/lib/libintrepid.so.12.13 /opt/pranav/spack/opt/spack/linux-ubuntu16.04-x86_64/gcc-5.4.0/tril
inos-master-r3pkbz3naz7hsqnefkcfe2z3pfobw6dr/lib/libModeLaplace.so.12.13 /opt/pranav/spack/opt/spack/linux-ubuntu16.04-x86_64/gcc-5.4.0/trilinos-master-r3pkbz3naz7hsqnefkcfe2z3pfobw6dr/lib/libanasaz
iepetra.so.12.13 /opt/pranav/spack/opt/spack/linux-ubuntu16.04-x86_64/gcc-5.4.0/trilinos-master-r3pkbz3naz7hsqnefkcfe2z3pfobw6dr/lib/libanasazi.so.12.13 /opt/pranav/spack/opt/spack/linux-ubuntu16.04
-x86_64/gcc-5.4.0/trilinos-master-r3pkbz3naz7hsqnefkcfe2z3pfobw6dr/lib/libmapvarlib.so.12.13 /opt/pranav/spack/opt/spack/linux-ubuntu16.04-x86_64/gcc-5.4.0/trilinos-master-r3pkbz3naz7hsqnefkcfe2z3pf
obw6dr/lib/libsuplib_cpp.so.12.13 /opt/pranav/spack/opt/spack/linux-ubuntu16.04-x86_64/gcc-5.4.0/trilinos-master-r3pkbz3naz7hsqnefkcfe2z3pfobw6dr/lib/libsuplib_c.so.12.13 /opt/pranav/spack/opt/spack
/linux-ubuntu16.04-x86_64/gcc-5.4.0/trilinos-master-r3pkbz3naz7hsqnefkcfe2z3pfobw6dr/lib/libsuplib.so.12.13 /opt/pranav/spack/opt/spack/linux-ubuntu16.04-x86_64/gcc-5.4.0/trilinos-master-r3pkbz3naz7
hsqnefkcfe2z3pfobw6dr/lib/libsupes.so.12.13 /opt/pranav/spack/opt/spack/linux-ubuntu16.04-x86_64/gcc-5.4.0/trilinos-master-r3pkbz3naz7hsqnefkcfe2z3pfobw6dr/lib/libaprepro_lib.so.12.13 /opt/pranav/sp
ack/opt/spack/linux-ubuntu16.04-x86_64/gcc-5.4.0/trilinos-master-r3pkbz3naz7hsqnefkcfe2z3pfobw6dr/lib/libchaco.so.12.13 /opt/pranav/spack/opt/spack/linux-ubuntu16.04-x86_64/gcc-5.4.0/trilinos-master
-r3pkbz3naz7hsqnefkcfe2z3pfobw6dr/lib/libio_info_lib.so.12.13 /opt/pranav/spack/opt/spack/linux-ubuntu16.04-x86_64/gcc-5.4.0/trilinos-master-r3pkbz3naz7hsqnefkcfe2z3pfobw6dr/lib/libIonit.so.12.13 /o
pt/pranav/spack/opt/spack/linux-ubuntu16.04-x86_64/gcc-5.4.0/trilinos-master-r3pkbz3naz7hsqnefkcfe2z3pfobw6dr/lib/libIotr.so.12.13 /opt/pranav/spack/opt/spack/linux-ubuntu16.04-x86_64/gcc-5.4.0/tril
inos-master-r3pkbz3naz7hsqnefkcfe2z3pfobw6dr/lib/libIohb.so.12.13 /opt/pranav/spack/opt/spack/linux-ubuntu16.04-x86_64/gcc-5.4.0/trilinos-master-r3pkbz3naz7hsqnefkcfe2z3pfobw6dr/lib/libIogs.so.12.13
/opt/pranav/spack/opt/spack/linux-ubuntu16.04-x86_64/gcc-5.4.0/trilinos-master-r3pkbz3naz7hsqnefkcfe2z3pfobw6dr/lib/libIogn.so.12.13 /opt/pranav/spack/opt/spack/linux-ubuntu16.04-x86_64/gcc-5.4.0/t
rilinos-master-r3pkbz3naz7hsqnefkcfe2z3pfobw6dr/lib/libIovs.so.12.13 /opt/pranav/spack/opt/spack/linux-ubuntu16.04-x86_64/gcc-5.4.0/trilinos-master-r3pkbz3naz7hsqnefkcfe2z3pfobw6dr/lib/libIoexo_fac.
so.12.13 /opt/pranav/spack/opt/spack/linux-ubuntu16.04-x86_64/gcc-5.4.0/trilinos-master-r3pkbz3naz7hsqnefkcfe2z3pfobw6dr/lib/libIopx.so.12.13 /opt/pranav/spack/opt/spack/linux-ubuntu16.04-x86_64/gcc
-5.4.0/trilinos-master-r3pkbz3naz7hsqnefkcfe2z3pfobw6dr/lib/libIofx.so.12.13 /opt/pranav/spack/opt/spack/linux-ubuntu16.04-x86_64/gcc-5.4.0/trilinos-master-r3pkbz3naz7hsqnefkcfe2z3pfobw6dr/lib/libIo
ex.so.12.13 /opt/pranav/spack/opt/spack/linux-ubuntu16.04-x86_64/gcc-5.4.0/trilinos-master-r3pkbz3naz7hsqnefkcfe2z3pfobw6dr/lib/libIoss.so.12.13 /opt/pranav/spack/opt/spack/linux-ubuntu16.04-x86_64/
gcc-5.4.0/trilinos-master-r3pkbz3naz7hsqnefkcfe2z3pfobw6dr/lib/libnemesis.so.12.13 /opt/pranav/spack/opt/spack/linux-ubuntu16.04-x86_64/gcc-5.4.0/trilinos-master-r3pkbz3naz7hsqnefkcfe2z3pfobw6dr/lib
/libexoIIv2for32.so.12.13 /opt/pranav/spack/opt/spack/linux-ubuntu16.04-x86_64/gcc-5.4.0/trilinos-master-r3pkbz3naz7hsqnefkcfe2z3pfobw6dr/lib/libexodus_for.so.12.13 /opt/pranav/spack/opt/spack/linux
-ubuntu16.04-x86_64/gcc-5.4.0/trilinos-master-r3pkbz3naz7hsqnefkcfe2z3pfobw6dr/lib/libbelosepetra.so.12.13 /opt/pranav/spack/opt/spack/linux-ubuntu16.04-x86_64/gcc-5.4.0/trilinos-master-r3pkbz3naz7h
sqnefkcfe2z3pfobw6dr/lib/libbelos.so.12.13 /opt/pranav/spack/opt/spack/linux-ubuntu16.04-x86_64/gcc-5.4.0/trilinos-master-r3pkbz3naz7hsqnefkcfe2z3pfobw6dr/lib/libml.so.12.13 /opt/pranav/spack/opt/sp
ack/linux-ubuntu16.04-x86_64/gcc-5.4.0/trilinos-master-r3pkbz3naz7hsqnefkcfe2z3pfobw6dr/lib/libaztecoo.so.12.13 /opt/pranav/spack/opt/spack/linux-ubuntu16.04-x86_64/gcc-5.4.0/trilinos-master-r3pkbz3
naz7hsqnefkcfe2z3pfobw6dr/lib/libepetraext.so.12.13 /opt/pranav/spack/opt/spack/linux-ubuntu16.04-x86_64/gcc-5.4.0/trilinos-master-r3pkbz3naz7hsqnefkcfe2z3pfobw6dr/lib/libtriutils.so.12.13 /opt/pran
av/spack/opt/spack/linux-ubuntu16.04-x86_64/gcc-5.4.0/trilinos-master-r3pkbz3naz7hsqnefkcfe2z3pfobw6dr/lib/libshards.so.12.13 /opt/pranav/spack/opt/spack/linux-ubuntu16.04-x86_64/gcc-5.4.0/trilinos-
master-r3pkbz3naz7hsqnefkcfe2z3pfobw6dr/lib/libepetra.so.12.13 /opt/pranav/spack/opt/spack/linux-ubuntu16.04-x86_64/gcc-5.4.0/trilinos-master-r3pkbz3naz7hsqnefkcfe2z3pfobw6dr/lib/libsacado.so.12.13
/opt/pranav/spack/opt/spack/linux-ubuntu16.04-x86_64/gcc-5.4.0/trilinos-master-r3pkbz3naz7hsqnefkcfe2z3pfobw6dr/lib/libteuchoskokkoscomm.so.12.13 /opt/pranav/spack/opt/spack/linux-ubuntu16.04-x86_64
/gcc-5.4.0/trilinos-master-r3pkbz3naz7hsqnefkcfe2z3pfobw6dr/lib/libteuchoskokkoscompat.so.12.13 /opt/pranav/spack/opt/spack/linux-ubuntu16.04-x86_64/gcc-5.4.0/trilinos-master-r3pkbz3naz7hsqnefkcfe2z
3pfobw6dr/lib/libteuchosremainder.so.12.13 /opt/pranav/spack/opt/spack/linux-ubuntu16.04-x86_64/gcc-5.4.0/trilinos-master-r3pkbz3naz7hsqnefkcfe2z3pfobw6dr/lib/libteuchosnumerics.so.12.13 /opt/pranav
/spack/opt/spack/linux-ubuntu16.04-x86_64/gcc-5.4.0/trilinos-master-r3pkbz3naz7hsqnefkcfe2z3pfobw6dr/lib/libkokkosalgorithms.so.12.13 /opt/pranav/spack/opt/spack/linux-ubuntu16.04-x86_64/gcc-5.4.0/t
rilinos-master-r3pkbz3naz7hsqnefkcfe2z3pfobw6dr/lib/libkokkoscontainers.so.12.13 /opt/pranav/spack/opt/spack/linux-ubuntu16.04-x86_64/gcc-5.4.0/matio-1.5.9-tnu7atbvn35ttzfvlqvxrlwfm3t5br5n/lib/libma
tio.so /opt/pranav/spack/opt/spack/linux-ubuntu16.04-x86_64/gcc-5.4.0/netcdf-4.6.1-ase5xze6hcd4h53lj4ydgr53fkhli2fw/lib/libnetcdf.so /opt/pranav/spack/opt/spack/linux-ubuntu16.04-x86_64/gcc-5.4.0/pa
rallel-netcdf-1.8.0-usb4gz3z2htuetb22bm2ma2md3asmgsz/lib/libpnetcdf.a /opt/pranav/spack/opt/spack/linux-ubuntu16.04-x86_64/gcc-5.4.0/hdf5-1.10.2-h2ecpr3psnei6q4b7suge7qjgxglbgfs/lib/libhdf5.so /opt/
pranav/spack/opt/spack/linux-ubuntu16.04-x86_64/gcc-5.4.0/zlib-1.2.11-5nus6knzumx4ik2yl44jxtgtsl7d54xb/lib/libz.so /opt/pranav/spack/opt/spack/linux-ubuntu16.04-x86_64/gcc-5.4.0/hdf5-1.10.2-h2ecpr3p
snei6q4b7suge7qjgxglbgfs/lib/libhdf5_hl.so /opt/pranav/spack/opt/spack/linux-ubuntu16.04-x86_64/gcc-5.4.0/openblas-0.3.2-cmdvstekzc4euqcteiwdog7p3doivigo/lib/libopenblas.so -ldl /usr/local/cuda/lib6
4/libcudart.so /usr/local/cuda/lib64/libcublas.so /usr/local/cuda/lib64/libcufft.so /opt/pranav/spack/opt/spack/linux-ubuntu16.04-x86_64/gcc-5.4.0/omega-h-master-omm6bln6gxou6qaj43ngmyo77ldb5j7f/lib
/libomega_h.so /opt/pranav/spack/opt/spack/linux-ubuntu16.04-x86_64/gcc-5.4.0/zlib-1.2.11-5nus6knzumx4ik2yl44jxtgtsl7d54xb/lib/libz.so -L/usr/lib/gcc/x86_64-linux-gnu/7/ -lgfortran /opt/pranav/spack
/opt/spack/linux-ubuntu16.04-x86_64/gcc-5.4.0/amgx-master-lltsrhbja2hnzmim2pm4kgwfmbzxr5rl/lib/libamgxsh.so -lm /opt/pranav/spack/opt/spack/linux-ubuntu16.04-x86_64/gcc-5.4.0/trilinos-master-r3pkbz3
naz7hsqnefkcfe2z3pfobw6dr/lib/libexodus.so.12.13 /opt/pranav/spack/opt/spack/linux-ubuntu16.04-x86_64/gcc-5.4.0/netcdf-4.6.1-ase5xze6hcd4h53lj4ydgr53fkhli2fw/lib/libnetcdf.so /opt/pranav/spack/opt/s
pack/linux-ubuntu16.04-x86_64/gcc-5.4.0/parallel-netcdf-1.8.0-usb4gz3z2htuetb22bm2ma2md3asmgsz/lib/libpnetcdf.a /opt/pranav/spack/opt/spack/linux-ubuntu16.04-x86_64/gcc-5.4.0/trilinos-master-r3pkbz3
naz7hsqnefkcfe2z3pfobw6dr/lib/libteuchoscomm.so.12.13 /opt/pranav/spack/opt/spack/linux-ubuntu16.04-x86_64/gcc-5.4.0/trilinos-master-r3pkbz3naz7hsqnefkcfe2z3pfobw6dr/lib/libteuchosparameterlist.so.1
2.13 /opt/pranav/spack/opt/spack/linux-ubuntu16.04-x86_64/gcc-5.4.0/trilinos-master-r3pkbz3naz7hsqnefkcfe2z3pfobw6dr/lib/libteuchosparser.so.12.13 /opt/pranav/spack/opt/spack/linux-ubuntu16.04-x86_6
4/gcc-5.4.0/trilinos-master-r3pkbz3naz7hsqnefkcfe2z3pfobw6dr/lib/libteuchoscore.so.12.13 /opt/pranav/spack/opt/spack/linux-ubuntu16.04-x86_64/gcc-5.4.0/trilinos-master-r3pkbz3naz7hsqnefkcfe2z3pfobw6
dr/lib/libkokkoscore.so.12.13 -ldl /usr/local/cuda/lib64/libcudart.so /usr/local/cuda/lib64/libcublas.so /usr/local/cuda/lib64/libcufft.so /opt/pranav/spack/opt/spack/linux-ubuntu16.04-x86_64/gcc-5.
4.0/hdf5-1.10.2-h2ecpr3psnei6q4b7suge7qjgxglbgfs/lib/libhdf5.so /opt/pranav/spack/opt/spack/linux-ubuntu16.04-x86_64/gcc-5.4.0/zlib-1.2.11-5nus6knzumx4ik2yl44jxtgtsl7d54xb/lib/libz.so /opt/pranav/sp
ack/opt/spack/linux-ubuntu16.04-x86_64/gcc-5.4.0/hdf5-1.10.2-h2ecpr3psnei6q4b7suge7qjgxglbgfs/lib/libhdf5_hl.so
506 nvcc_wrapper - *warning* you have set multiple optimization flags (-std=c++1* or --std=c++1*), only the first is used because nvcc can only accept a single std setting
507 make[2]: Leaving directory '/tmp/pranav/spack-stage/spack-stage-nUZGpT/lgrtk/spack-build'
508 CMakeFiles/Makefile2:368: recipe for target 'CMakeFiles/Plato.dir/all' failed
>> 509 make[1]: *** [CMakeFiles/Plato.dir/all] Error 2
510 make[1]: *** Waiting for unfinished jobs....
511 make[2]: Leaving directory '/tmp/pranav/spack-stage/spack-stage-nUZGpT/lgrtk/spack-build'
512 [ 98%] Built target LGR_MPMD
513 make[2]: Leaving directory '/tmp/pranav/spack-stage/spack-stage-nUZGpT/lgrtk/spack-build'
514 [ 98%] Built target LGRAppIntxTests
515 make[1]: Leaving directory '/tmp/pranav/spack-stage/spack-stage-nUZGpT/lgrtk/spack-build'
516 Makefile:143: recipe for target 'all' failed
>> 517 make: *** [all] Error 2
On cee machines, a fresh build following the steps
cd lgrtk-build
cp configs/cee_lan archie_config
./archie update
results in failures for all lgrtk tests at the initial reading of the input map with the message:
InputMap should never actually be copied!
I've tried reverting this commit in Omega_h since it's the only thing recently changed in Omega_h::InputMap, but that didn't resolve the issue.
A stack trace for one of the tests is posted below:
#0 0x0000003070e32495 in raise () from /lib64/libc.so.6
#1 0x0000003070e33c75 in abort () from /lib64/libc.so.6
#2 0x00007ffff79941ae in Omega_h::fail(char const*, ...) () at /scratch/bngranz/archie/src/omega_h/src/Omega_h_fail.cpp:51
#3 0x00007ffff7a0eed7 in Omega_h::InputMap::InputMap(Omega_h::InputMap const&) () at /scratch/bngranz/archie/src/omega_h/src/Omega_h_input.cpp:117
#4 0x00007ffff7a12862 in Omega_h::any::vtable_dynamic<Omega_h::InputMap>::copy(Omega_h::any::storage_union const&, Omega_h::any::storage_union&) ()
at /scratch/bngranz/archie/src/omega_h/src/Omega_h_any.hpp:229
#5 0x00007ffff7a165bd in Omega_h::InputYamlReader::at_reduce(int, std::vector<Omega_h::any, std::allocator<Omega_h::any> >&) ()
at /scratch/bngranz/archie/src/omega_h/src/Omega_h_any.hpp:75
#6 0x00007ffff79b8455 in Omega_h::Reader::at_token(std::basic_istream<char, std::char_traits<char> >&) ()
at /scratch/bngranz/archie/src/omega_h/src/Omega_h_reader.cpp:98
#7 0x00007ffff79b9588 in Omega_h::Reader::at_token_indent(std::basic_istream<char, std::char_traits<char> >&) ()
at /scratch/bngranz/archie/src/omega_h/src/Omega_h_reader.cpp:136
#8 0x00007ffff79b98a0 in Omega_h::Reader::at_lexer_end(std::basic_istream<char, std::char_traits<char> >&) ()
at /scratch/bngranz/archie/src/omega_h/src/Omega_h_reader.cpp:213
#9 0x00007ffff79ba413 in Omega_h::Reader::read_stream(std::basic_istream<char, std::char_traits<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) () at /scratch/bngranz/archie/src/omega_h/src/Omega_h_reader.cpp:283
#10 0x00007ffff7a0ec27 in Omega_h::read_input(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) ()
at /scratch/bngranz/archie/src/omega_h/src/Omega_h_input.cpp:835
#11 0x00007ffff7d2a78e in lgr::run_cmdline(int, char**, std::function<void ()(lgr::Factories&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)>) () at /scratch/bngranz/archie/src/lgrtk/v2/src/lgr_run.cpp:122
#12 0x0000000000400a06 in main () at /scratch/bngranz/archie/src/lgrtk/v2/src/lgr.cpp:6
There is a duplicated condition in the link below.
I suspect the second else if (type == ELEMS)
should be changed to else if (type == SIDES)
.
This currently results in a compilation error w/ gcc 7.3.0
While doing some VTK work, I enabled all tests in LGR to ensure VTK output remained identical before and after the changes I was going to make. Enabling all tests led to a run-time error, which was eventually tracked down to be an unitialized value in hpc_matrix.
I've created a branch that sets up a short run-time lgr execuble that demonstrates this.
The first commit on this branch eliminates the run-time error, but may not be the correct solution.
Sample valgrind output for the hpc_matrix issue is shown below.
==14117== Memcheck, a memory error detector
==14117== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
==14117== Using Valgrind-3.14.0 and LibVEX; rerun with -h for copyright info
==14117== Command: ./lgr
==14117==
building triangle mesh!
resized elements_to_nodes to 6936
ran connectivity functor!
==14117== Conditional jump or move depends on uninitialised value(s)
==14117== at 0x134A45: hpc::matrix<double, (hpc::layout)1, std::allocator<double>, hpc::serial_policy, hpc::index<lgr::node_tag, int>, hpc::index<hpc::axis_tag, int> >::resize(hpc::index<lgr::node_tag, int>, hpc::index<hpc::axis_tag, int>) (hpc_matrix.hpp:97)
==14117== by 0x13193B: hpc::array_vector<hpc::vector3<double>, (hpc::layout)1, std::allocator<hpc::vector3<double> >, hpc::serial_policy, hpc::index<lgr::node_tag, int> >::resize(hpc::index<lgr::node_tag, int>) (hpc_array_vector.hpp:205)
==14117== by 0x278B0C: lgr::build_triangle_mesh(lgr::input const&, lgr::state&) (lgr_meshing.cpp:148)
==14117== by 0x274593: lgr::build_mesh(lgr::input const&, lgr::state&) (lgr_meshing.cpp:390)
==14117== by 0x15E366: lgr::run(lgr::input const&) (lgr_physics.cpp:727)
==14117== by 0x128599: lgr::Noh_2D(bool, bool) (lgr.cpp:598)
==14117== by 0x123559: main (lgr.cpp:915)
==14117==
==14117== Conditional jump or move depends on uninitialised value(s)
==14117== at 0x134A45: hpc::matrix<double, (hpc::layout)1, std::allocator<double>, hpc::serial_policy, hpc::index<lgr::node_tag, int>, hpc::index<hpc::axis_tag, int> >::resize(hpc::index<lgr::node_tag, int>, hpc::index<hpc::axis_tag, int>) (hpc_matrix.hpp:97)
==14117== by 0x13193B: hpc::array_vector<hpc::vector3<double>, (hpc::layout)1, std::allocator<hpc::vector3<double> >, hpc::serial_policy, hpc::index<lgr::node_tag, int> >::resize(hpc::index<lgr::node_tag, int>) (hpc_array_vector.hpp:205)
==14117== by 0x12EEFC: lgr::resize_state(lgr::input const&, lgr::state&) (lgr_state.cpp:9)
==14117== by 0x15E3BE: lgr::run(lgr::input const&) (lgr_physics.cpp:729)
==14117== by 0x128599: lgr::Noh_2D(bool, bool) (lgr.cpp:598)
==14117== by 0x123559: main (lgr.cpp:915)
There is also an uninitialized value being used in lgr_vtk at some point which I still don't understand. Apparently the uninitialized value comes from line 134 of hpc_vector.hpp
==16935== Conditional jump or move depends on uninitialised value(s)
==16935== at 0x57DB1B8: __printf_fp_l (printf_fp.c:392)
==16935== by 0x57D8A06: vfprintf (vfprintf.c:1642)
==16935== by 0x580490F: vsnprintf (vsnprintf.c:114)
==16935== by 0x4F16CBB: ??? (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.25)
==16935== by 0x4F459D6: std::ostreambuf_iterator<char, std::char_traits<char> > std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::_M_insert_float<double>(std::ostreambuf_iterator<char, std::char_traits<char> >, std::ios_base&, char, char, double) const (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.25)
==16935== by 0x4F51B8B: std::ostream& std::ostream::_M_insert<double>(double) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.25)
==16935== by 0x139B86: lgr::operator<<(std::ostream&, hpc::vector3<double>) (lgr_print.cpp:8)
==16935== by 0x1402AA: lgr::write_vtk_vectors(std::ostream&, char const*, hpc::counting_range<hpc::index<lgr::element_tag, int> >, hpc::counting_range<hpc::index<lgr::point_in_element_tag, int> >, hpc::array_vector<hpc::vector3<double>, (hpc::layout)1, std::allocator<hpc::vector3<double> >, hpc::serial_policy, hpc::index<hpc::product_tag<lgr::element_tag, lgr::point_in_element_tag>, int> > const&) (lgr_vtk.cpp:105)
==16935== by 0x141274: lgr::file_writer::operator()(lgr::input const&, int, lgr::state const&) (lgr_vtk.cpp:184)
==16935== by 0x15E8BE: lgr::run(lgr::input const&) (lgr_physics.cpp:760)
==16935== by 0x128599: lgr::Noh_2D(bool, bool) (lgr.cpp:598)
==16935== by 0x123559: main (lgr.cpp:915)
==16935== Uninitialised value was created by a heap allocation
==16935== at 0x4C3042A: operator new(unsigned long) (vg_replace_malloc.c:334)
==16935== by 0x12DC8F: __gnu_cxx::new_allocator<double>::allocate(unsigned long, void const*) (new_allocator.h:111)
==16935== by 0x12C1DA: std::allocator_traits<std::allocator<double> >::allocate(std::allocator<double>&, unsigned long) (alloc_traits.h:436)
==16935== by 0x138712: hpc::vector<double, std::allocator<double>, hpc::serial_policy, hpc::index<hpc::product_tag<hpc::product_tag<lgr::element_tag, lgr::point_in_element_tag>, hpc::axis_tag>, int> >::resize(hpc::index<hpc::product_tag<hpc::product_tag<lgr::element_tag, lgr::point_in_element_tag>, hpc::axis_tag>, int>) (hpc_vector.hpp:134)
==16935== by 0x135CF0: hpc::matrix<double, (hpc::layout)1, std::allocator<double>, hpc::serial_policy, hpc::index<hpc::product_tag<lgr::element_tag, lgr::point_in_element_tag>, int>, hpc::index<hpc::axis_tag, int> >::resize(hpc::index<hpc::product_tag<lgr::element_tag, lgr::point_in_element_tag>, int>, hpc::index<hpc::axis_tag, int>) (hpc_matrix.hpp:99)
==16935== by 0x133C37: hpc::array_vector<hpc::vector3<double>, (hpc::layout)1, std::allocator<hpc::vector3<double> >, hpc::serial_policy, hpc::index<hpc::product_tag<lgr::element_tag, lgr::point_in_element_tag>, int> >::resize(hpc::index<hpc::product_tag<lgr::element_tag, lgr::point_in_element_tag>, int>) (hpc_array_vector.hpp:205)
==16935== by 0x131073: lgr::resize_state(lgr::input const&, lgr::state&) (lgr_state.cpp:62)
==16935== by 0x15E3AC: lgr::run(lgr::input const&) (lgr_physics.cpp:729)
==16935== by 0x128599: lgr::Noh_2D(bool, bool) (lgr.cpp:598)
==16935== by 0x123559: main (lgr.cpp:915)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.