Commit 4bce3b42 authored by Tilman Steinweg's avatar Tilman Steinweg
Browse files

changed software name to WAVE-Simulation

parent faae32c3
......@@ -38,7 +38,7 @@ acoustic2D-gcc:
script:
- OMP_NUM_THREADS=2
- cd par/
- mpirun -np 4 ./../build/bin/SOFI "ci/configuration_ci.2D.acoustic.txt"
- mpirun -np 4 ./../build/bin/WAVE-Simulation "ci/configuration_ci.2D.acoustic.txt"
- ./../build/bin/Test_integration "ci/configuration_ci.2D.acoustic.txt"
acousticVarGrid2D-gcc:
......@@ -46,7 +46,7 @@ acousticVarGrid2D-gcc:
script:
- OMP_NUM_THREADS=2
- cd par/
- mpirun -np 4 ./../build/bin/SOFI "ci/configuration_ci.2D.acoustic.varGrid.txt"
- mpirun -np 4 ./../build/bin/WAVE-Simulation "ci/configuration_ci.2D.acoustic.varGrid.txt"
- ./../build/bin/Test_integration "ci/configuration_ci.2D.acoustic.varGrid.txt"
......@@ -56,7 +56,7 @@ acousticVarGrid3D-gcc:
script:
- OMP_NUM_THREADS=2
- cd par/
- mpirun -np 4 ./../build/bin/SOFI "ci/configuration_ci.3D.acoustic.varGrid.txt"
- mpirun -np 4 ./../build/bin/WAVE-Simulation "ci/configuration_ci.3D.acoustic.varGrid.txt"
- ./../build/bin/Test_integration "ci/configuration_ci.3D.acoustic.varGrid.txt"
......@@ -66,7 +66,7 @@ acoustic3D-gcc:
- OMP_NUM_THREADS=2
- cd par/
- ./../build/bin/tools/TwoLayer "ci/configuration_ci.3D.acoustic.txt"
- mpirun -np 4 ./../build/bin/SOFI "ci/configuration_ci.3D.acoustic.txt"
- mpirun -np 4 ./../build/bin/WAVE-Simulation "ci/configuration_ci.3D.acoustic.txt"
- ./../build/bin/Test_integration "ci/configuration_ci.3D.acoustic.txt"
......@@ -76,7 +76,7 @@ elastic2D-gcc:
- OMP_NUM_THREADS=2
- cd par/
- ./../build/bin/tools/TwoLayer "ci/configuration_ci.2D.elastic.txt"
- mpirun -np 4 ./../build/bin/SOFI "ci/configuration_ci.2D.elastic.txt"
- mpirun -np 4 ./../build/bin/WAVE-Simulation "ci/configuration_ci.2D.elastic.txt"
- ./../build/bin/Test_integration "ci/configuration_ci.2D.elastic.txt"
elastic3D-gcc:
......@@ -85,7 +85,7 @@ elastic3D-gcc:
- OMP_NUM_THREADS=2
- cd par/
- ./../build/bin/tools/TwoLayer "ci/configuration_ci.3D.elastic.txt"
- mpirun -np 4 ./../build/bin/SOFI "ci/configuration_ci.3D.elastic.txt"
- mpirun -np 4 ./../build/bin/WAVE-Simulation "ci/configuration_ci.3D.elastic.txt"
- ./../build/bin/Test_integration "ci/configuration_ci.3D.elastic.txt"
......@@ -95,7 +95,7 @@ visco2D-gcc:
- OMP_NUM_THREADS=2
- cd par/
- ./../build/bin/tools/TwoLayer "ci/configuration_ci.2D.visco.txt"
- mpirun -np 4 ./../build/bin/SOFI "ci/configuration_ci.2D.visco.txt"
- mpirun -np 4 ./../build/bin/WAVE-Simulation "ci/configuration_ci.2D.visco.txt"
- ./../build/bin/Test_integration "ci/configuration_ci.2D.visco.txt"
visco3D-gcc:
......@@ -104,7 +104,7 @@ visco3D-gcc:
- OMP_NUM_THREADS=2
- cd par/
- ./../build/bin/tools/TwoLayer "ci/configuration_ci.3D.visco.txt"
- mpirun -np 4 ./../build/bin/SOFI "ci/configuration_ci.3D.visco.txt"
- mpirun -np 4 ./../build/bin/WAVE-Simulation "ci/configuration_ci.3D.visco.txt"
- ./../build/bin/Test_integration "ci/configuration_ci.3D.visco.txt"
sh2D-gcc:
......@@ -112,6 +112,6 @@ sh2D-gcc:
script:
- OMP_NUM_THREADS=2
- cd par/
- mpirun -np 4 ./../build/bin/SOFI "ci/configuration_ci.2D.sh.txt"
- mpirun -np 4 ./../build/bin/WAVE-Simulation "ci/configuration_ci.2D.sh.txt"
- ./../build/bin/Test_integration "ci/configuration_ci.2D.sh.txt"
CMAKE and SOFI
CMAKE and WAVE-Simulation
==============
You can now use the CMake utility to build SOFI instead of using the Makefile as before.
You can now use the CMake utility to build WAVE-Simulation instead of using the Makefile as before.
Step 1: Configuration
---------------------
......@@ -24,7 +24,7 @@ cmake ../src -DSCAI_ROOT=<lama-install-dir> -DGTEST_ROOT=<googletest-install-dir
Step 2: Build
-------------
make ! generates library, SOFI executable, utest, itest
make ! generates library, WAVE-Simulation executable, utest, itest
make doc ! generates doxygen documentation
make pdf ! generates pdf latex guide
......
## Seismic Finite-Difference modelling
## Finite-Difference wavefield simulation
Master: [![build status](https://git.scc.kit.edu/WAVE/FDSimulation_LAMA/badges/master/build.svg)](https://git.scc.kit.edu/WAVE/FDSimulation_LAMA/commits/master) Develop: [![build status](https://git.scc.kit.edu/WAVE/FDSimulation_LAMA/badges/develop/build.svg)](https://git.scc.kit.edu/WAVE/FDSimulation_LAMA/commits/develop)
......
......@@ -1109,7 +1109,7 @@ You can also find the instructions in \shellcmd{FDSimulation\_LAMA/par/README.md
Change to the directory: \\\shellcmdline{FDSimulation\_LAMA/build/}
You can compile the source code by simply entering: \\\shellcmdline{make prog}\\ in your command line. \gCC is set to be the default \CC-compiler. To use an alternative compiler, the compiler setting can be change in the \shellcmd{Makefile}, or otherwise by executing:\\\shellcmdline{make CXX=<yourCompiler> sofi}
You can compile the source code by simply entering: \\\shellcmdline{make prog}\\ in your command line. \gCC is set to be the default \CC-compiler. To use an alternative compiler, the compiler setting can be change in the \shellcmd{Makefile}, or otherwise by executing:\\\shellcmdline{make CXX=<yourCompiler> }
To compile the program on more than one CPU add \shellcmd{-j <numberCPUs>} to the \shellcmd{make} command.
......
......@@ -27,7 +27,7 @@ Different kinds of parallelization are possible:
- Using OpenMP (shared-memory parallel):
- Set `export OMP_NUM_THREADS=2`
- Using OpenMPI/IntelMPI (distributed-memory parallel):
- Modify `start_FDSimulation.sh` to e.g. `mpirun -np 2 ./../bin/SOFI`
- Modify `start_FDSimulation.sh` to e.g. `mpirun -np 2 ./../bin/WAVE-Simulation`
The standard configuration of `start_FDSimulation.sh` is using both kinds of parallelization.
......
# Input file SOFI
# The format has to be name=value (without any white spaces)
# Use the hashtag "#" for comments
# Type of forward simulation
dimension=2D # Dimension: 2D or 3D
......
# Input file SOFI
# The format has to be name=value (without any white spaces)
# Use the hashtag "#" for comments
# Type of forward simulation
dimension=3D # Dimension: 2D or 3D
......
classdef conf
% matlab class to handle the config for SOFI and IFOS
% matlab class to handle the config for WAVE-Simulation and WAVE-Inversion
% members getvalue and getString read variables from config
properties (Access = private)
......
# Input file SOFI
# Input file WAVE-Simulation
# The format has to be name=value (without any white spaces)
# Use the hashtag "#" for comments
......
# Input file SOFI
# Input file WAVE-Simulation
# The format has to be name=value (without any white spaces)
# Use the hashtag "#" for comments
......
......@@ -2,7 +2,7 @@
% This script can be used to convert model that are saved as
% raw floating number in binary format to the mtx format.
% The major order used in SOFI++ is X,Z,Y With Y=depth
% The major order used in WAVE-Simulation is X,Z,Y With Y=depth
% if your binary input model has a different major order. this script has
% to be modified
......@@ -37,4 +37,4 @@ vector=fread(fid,NX*NY*NZ,'float');
%% Write matrix to mtx format
writeVector2mtx(filenameMtx,vector);
% the result can be checked with the script plotModel.m
\ No newline at end of file
% the result can be checked with the script plotModel.m
......@@ -5,4 +5,4 @@ export SCAI_TRACE=OFF
rm -rf seismograms/seismogram.p.mtx
export OMP_NUM_THREADS=1
mpirun -n 4 ./../build/bin/SOFI "configuration/configuration.txt"
mpirun -n 4 ./../build/bin/Wave-Simulation "configuration/configuration.txt"
......@@ -4,4 +4,4 @@ export SCAI_UNSUPPORTED=IGNORE
rm -rf seismograms/seismogram.p.mtx
export OMP_NUM_THREADS=1
mpirun -np 4 ./../build/bin/SOFI "configuration/configurationVarGrid.txt"
mpirun -np 4 ./../build/bin/WAVE-Simulation "configuration/configurationVarGrid.txt"
......@@ -8,7 +8,7 @@ export SCAI_TRACE=OFF
BINDIR="./../build/bin"
SOFI_EXE="${BINDIR}/SOFI"
SOFI_EXE="${BINDIR}/WAVE-Simulation"
UNITTEST_EXE="${BINDIR}/Test_unit"
INTEGRATIONTEST_EXE="${BINDIR}/Test_integration"
MODEL_EXE="${BINDIR}//tools/TwoLayer"
......
###########################################################################
#
# Start the build of SOFI by the following command:
# Start the build of WAVE-Simulation by the following command:
#
# SCAI_DIR=<path_to_lama> GTEST_ROOT=<path_to_googletest> cmake ../src
#
......@@ -11,7 +11,7 @@
#
###########################################################################
project( SOFI )
project( WAVE-Simulation )
include(CMakePackageConfigHelpers)
cmake_minimum_required ( VERSION 3.0 )
......@@ -68,7 +68,7 @@ find_package( SCAI REQUIRED CONFIG
include_directories( ${SCAI_INCLUDE_DIRS} )
set( CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} ${SCAI_CXX_FLAGS} )
set( SOFI_used_libs ${SCAI_LIBRARIES} )
set( WAVE-Simulation_used_libs ${SCAI_LIBRARIES} )
####################################################
......@@ -101,7 +101,7 @@ find_library( PARMETIS_LIB parmetis "${PARMETIS_BASE}/lib" )
if ( ${Geographer_FOUND} )
include_directories( ${Geographer_INCLUDE_DIRS} )
add_definitions( "-DUSE_GEOGRAPHER" )
set( SOFI_used_libs ${Geographer_LIBRARIES} ${SOFI_used_libs} )
set( WAVE-Simulation_used_libs ${Geographer_LIBRARIES} ${WAVE-Simulation_used_libs} )
if( Zoltan2_FOUND AND METIS_BASE AND PARMETIS_BASE )
link_directories( ${Zoltan2_LIBRARY_DIRS} ${METIS_BASE}/lib ${PARMETIS_BASE}/lib )
......@@ -120,11 +120,11 @@ endif ()
set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Werror" )
###################################################
# Collect source files of SOFI library #
# Collect source files of WAVE-Simulation library #
# and copy header files to install #
####################################################
set ( SOFI_LIB_DIRS
set ( WAVE-Simulation_LIB_DIRS
Acquisition
Configuration
ForwardSolver
......@@ -136,10 +136,10 @@ set ( SOFI_LIB_DIRS
Modelparameter
Partitioning )
foreach ( dir ${SOFI_LIB_DIRS} )
foreach ( dir ${WAVE-Simulation_LIB_DIRS} )
file( GLOB_RECURSE files ${dir}/*.cpp ${dir}/*.hpp )
set ( SOFI_FILES ${SOFI_FILES} ${files} )
set ( WAVE-Simulation_FILES ${WAVE-Simulation_FILES} ${files} )
file( GLOB_RECURSE files RELATIVE ${CMAKE_SOURCE_DIR}/${dir} ${dir}/*.hpp )
foreach ( file ${files} )
......@@ -153,26 +153,26 @@ include_directories(${CMAKE_CURRENT_BINARY_DIR}/include)
####################################################
# SOFI library #
# WAVE-Simulation library #
####################################################
include_directories( Common Configuration Acquisition Modelparameter )
add_library( SOFI ${SOFI_FILES} )
add_library( WAVE-Simulation ${WAVE-Simulation_FILES} )
target_link_libraries( SOFI ${SOFI_used_libs} )
target_link_libraries( WAVE-Simulation ${WAVE-Simulation_used_libs} )
install( TARGETS SOFI DESTINATION lib )
install( TARGETS WAVE-Simulation DESTINATION lib )
####################################################
# SOFI executable #
# WAVE-Simulation executable #
####################################################
add_executable( prog SOFI.cpp )
add_executable( prog main.cpp )
target_link_libraries( prog SOFI ${SOFI_used_libs} )
target_link_libraries( prog WAVE-Simulation ${WAVE-Simulation_used_libs} )
set_target_properties( prog PROPERTIES OUTPUT_NAME SOFI )
set_target_properties( prog PROPERTIES OUTPUT_NAME WAVE-Simulation )
install( TARGETS prog DESTINATION bin )
install( DIRECTORY ${CMAKE_BINARY_DIR}/include DESTINATION . )
......@@ -185,12 +185,12 @@ find_package( GTest )
if ( ${GTEST_FOUND} )
file( GLOB SOFI_UNIT_TEST_SOURCES Tests/UnitTest/*.cpp )
file( GLOB WAVE-Simulation_UNIT_TEST_SOURCES Tests/UnitTest/*.cpp )
add_executable( utest ${SOFI_UNIT_TEST_SOURCES} )
add_executable( utest ${WAVE-Simulation_UNIT_TEST_SOURCES} )
target_include_directories( utest PRIVATE ForwardSolver Configuration Acquisition Modelparameter ${GTEST_INCLUDE_DIR} )
target_link_libraries( utest ${GTEST_LIBRARY} ${GTEST_MAIN_LIBRARY} SOFI ${SOFI_used_libs} )
target_link_libraries( utest ${GTEST_LIBRARY} ${GTEST_MAIN_LIBRARY} WAVE-Simulation ${WAVE-Simulation_used_libs} )
set_target_properties( utest PROPERTIES OUTPUT_NAME Test_unit )
......@@ -211,13 +211,13 @@ endif ()
# Integration Test #
####################################################
set ( SOFI_INTEGRATION_TEST_SOURCES
set ( WAVE-Simulation_INTEGRATION_TEST_SOURCES
Tests/IntegrationTest/Test_CompareSeismogram.cpp
)
add_executable( itest ${SOFI_INTEGRATION_TEST_SOURCES} )
add_executable( itest ${WAVE-Simulation_INTEGRATION_TEST_SOURCES} )
target_link_libraries( itest SOFI ${SOFI_used_libs} )
target_link_libraries( itest WAVE-Simulation ${WAVE-Simulation_used_libs} )
set_target_properties( itest PROPERTIES OUTPUT_NAME Test_integration )
......@@ -229,7 +229,7 @@ install( TARGETS itest DESTINATION bin )
add_executable( model Tools/CreateModel/TwoLayer.cpp )
target_link_libraries( model SOFI ${SOFI_used_libs} )
target_link_libraries( model WAVE-Simulation ${WAVE-Simulation_used_libs} )
set_target_properties( model PROPERTIES OUTPUT_NAME TwoLayer )
......@@ -316,6 +316,6 @@ endif ()
### support for FindPackage ###
configure_file ( SOFIConfig.cmake.in ${CMAKE_BINARY_DIR}/SOFIConfig.cmake @ONLY)
install ( FILES ${CMAKE_BINARY_DIR}/SOFIConfig.cmake DESTINATION share/cmake/SOFI )
configure_file ( WAVE-SimulationConfig.cmake.in ${CMAKE_BINARY_DIR}/WAVE-SimulationConfig.cmake @ONLY)
install ( FILES ${CMAKE_BINARY_DIR}/WAVE-SimulationConfig.cmake DESTINATION share/cmake/WAVE-Simulation )
......@@ -33,7 +33,7 @@ namespace KITGPI
{
// /*! \brief inter node distribution define the grid topology by sizes NX, NY, and NZ from configuration
// * Attention: LAMA uses row-major indexing while SOFI-3D uses column-major, so switch dimensions, x-dimension has stride 1
// *Attention: LAMA uses row-major indexing while WAVE-Simulation-3D uses column-major, so switch dimensions, x-dimension has stride 1 z-dimension has stride 2 y-dimension has stride 3
// \param config configuration object
// \param commShot communicator of a shot domain
// */
......@@ -82,7 +82,7 @@ namespace KITGPI
}
/*! \brief inter node distribution define the grid topology by sizes NX, NY, and NZ from configuration
* Attention: LAMA uses row-major indexing while SOFI-3D uses column-major, so switch dimensions, x-dimension has stride 1
* Attention: LAMA uses row-major indexing while WAVE-Simulation-3D uses column-major, so switch dimensions, x-dimension has stride, 1 z-dimension has stride 2 y-dimension has stride 3
\param config configuration object
\param commShot communicator of a shot domain
*/
......
set ( SOFI_CXX_FLAGS "@CMAKE_CXX_FLAGS@" )
set ( SOFI_ROOT @CMAKE_INSTALL_PREFIX@ )
set ( SOFI_SCAI_ROOT @SCAI_ROOT@ )
set ( SOFI_Geographer_ROOT @Geographer_ROOT@ )
set ( SOFI_INCLUDE_DIRS ${SOFI_ROOT}/include )
find_library ( SOFI_LIB
NAMES SOFI
PATHS ${SOFI_ROOT}/lib )
set ( SOFI_LIBRARIES ${SOFI_LIB} )
set ( SOFI_FOUND true )
set ( WAVE-Simulation_CXX_FLAGS "@CMAKE_CXX_FLAGS@" )
set ( WAVE-Simulation_ROOT @CMAKE_INSTALL_PREFIX@ )
set ( WAVE-Simulation_SCAI_ROOT @SCAI_ROOT@ )
set ( WAVE-Simulation_Geographer_ROOT @Geographer_ROOT@ )
set ( WAVE-Simulation_INCLUDE_DIRS ${SOFI_ROOT}/include )
find_library ( WAVE-Simulation_LIB
NAMES WAVE-Simulation
PATHS ${WAVE-Simulation_ROOT}/lib )
set ( WAVE-Simulation_LIBRARIES ${SOFI_LIB} )
set ( WAVE-Simulation_FOUND true )
......@@ -62,14 +62,14 @@ int main(int argc, const char *argv[])
dmemo::CommunicatorPtr commAll = dmemo::Communicator::getCommunicatorPtr(); // default communicator, set by environment variable SCAI_COMMUNICATOR
common::Settings::setRank(commAll->getNodeRank());
HOST_PRINT(commAll, "\n SOFI++ " << dimension << " " << equationType << " - LAMA Version\n");
HOST_PRINT(commAll, "\n WAVE-Simulation " << dimension << " " << equationType << " - LAMA Version\n");
HOST_PRINT(commAll, "", " - Running on " << commAll->getSize() << " mpi processes -\n\n");
if (commAll->getRank() == MASTERGPI) {
config.print();
}
SCAI_REGION("SOFI.main")
SCAI_REGION("WAVE-Simulation.main")
std::string settingsFilename; // filename for processor specific settings
if (common::Settings::getEnvironment(settingsFilename, "SCAI_SETTINGS")) {
......@@ -171,7 +171,7 @@ int main(int argc, const char *argv[])
/* Call partitioner */
/* --------------------------------------- */
if (configPartitioning == 2) {
SCAI_REGION("SOFI.partitioningGEO")
SCAI_REGION("WAVE-Simulation.partitioningGEO")
start_t = common::Walltime::get();
dist = Partitioning::graphPartition(config, ctx, commShot, dist, *derivatives, modelCoordinates);
end_t = common::Walltime::get();
......@@ -179,7 +179,7 @@ int main(int argc, const char *argv[])
}
if (configPartitioning == 3) {
SCAI_REGION("SOFI.partitioningMetis")
SCAI_REGION("WAVE-Simulation.partitioningMetis")
start_t = common::Walltime::get();
dist = Partitioning::metisPartition(config, ctx, commShot, dist, *derivatives, modelCoordinates);
end_t = common::Walltime::get();
......@@ -203,7 +203,7 @@ int main(int argc, const char *argv[])
/* --------------------------------------- */
{
SCAI_REGION("SOFI.initMatrices")
SCAI_REGION("WAVE-Simulation.initMatrices")
start_t = common::Walltime::get();
derivatives->init(dist, ctx, modelCoordinates, commShot);
......@@ -238,7 +238,7 @@ int main(int argc, const char *argv[])
/* Modelparameter */
/* --------------------------------------- */
{
SCAI_REGION("SOFI.initModel")
SCAI_REGION("WAVE-Simulation.initModel")
start_t = common::Walltime::get();
model->init(config, ctx, dist, modelCoordinates);
model->prepareForModelling(modelCoordinates, ctx, dist, commShot);
......@@ -250,7 +250,7 @@ int main(int argc, const char *argv[])
/* Wavefields */
/* --------------------------------------- */
{
SCAI_REGION("SOFI.initWavefields")
SCAI_REGION("WAVE-Simulation.initWavefields")
start_t = common::Walltime::get();
wavefields->init(ctx, dist);
end_t = common::Walltime::get();
......@@ -261,7 +261,7 @@ int main(int argc, const char *argv[])
/* Forward solver */
/* --------------------------------------- */
{
SCAI_REGION("SOFI.initForwardSolver")
SCAI_REGION("WAVE-Simulation.initForwardSolver")
start_t = common::Walltime::get();
solver->initForwardSolver(config, *derivatives, *wavefields, *model, modelCoordinates, ctx, config.get<ValueType>("DT"));
solver->prepareForModelling(*model, config.get<ValueType>("DT"));
......@@ -304,7 +304,7 @@ int main(int argc, const char *argv[])
/* --------------------------------------- */
for (IndexType shotInd = firstShot; shotInd < lastShot; shotInd++) {
SCAI_REGION("SOFI.shotLoop")
SCAI_REGION("WAVE-Simulation.shotLoop")
IndexType shotNumber = uniqueShotNos[shotInd];
/* Update Source */
std::vector<Acquisition::sourceSettings<ValueType>> sourceSettingsShot;
......@@ -342,7 +342,7 @@ int main(int argc, const char *argv[])
/* --------------------------------------- */
for (IndexType tStep = 0; tStep < tStepEnd; tStep++) {
SCAI_REGION("SOFI.timeLoop")
SCAI_REGION("WAVE-Simulation.timeLoop")
if ((tStep - 1) % 100 == 0) {
start_t2 = common::Walltime::get();
//HOST_PRINT(commShot, " ", "Calculating time step " << tStep << " in shot " << shotNumber << "\n");
......@@ -379,6 +379,6 @@ int main(int argc, const char *argv[])
commAll->synchronize();
HOST_PRINT(commAll, "\nTotal runtime of SOFI: " << globalEnd_t - globalStart_t << " sec.\nSOFI finished!\n\n");
HOST_PRINT(commAll, "\nTotal runtime of WAVE-Simulation: " << globalEnd_t - globalStart_t << " sec.\nWAVE-Simulation finished!\n\n");
return 0;
}
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment