This repository contains the source code of libMesh-sedimentation. It is a simulation solver built on top of a widely used parallel fine element framework, libMesh, which supports parallel simulation of multiscale, multiphysics applications. libMesh interfaces with several libraries for Computational Science and Engineering applications (e.g., PeTSc, Metis, Parmetis, LAPACK). Also, scientific visualization tools like ParaView, are typically used in these applications to gain insight from the computations. libMesh-sedimentation is instrumented with DfAnalyzer calls, to track provenance data while the simulation runs for monitoring and data analysis, and with DfAdapter, to track provenance data of steering actions while user steers simulation parameters, for analyzing consequences of steering actions in the results.
- docker pull vitorss/debian:sedimentation-vitor
- git clone [email protected]:hpcdb/workflow-sedimentation.git
- LOCAL_DIR=/path/to/repository/in/local/machine
docker run -v $LOCAL_DIR:/shared -i -t vitorss/debian:sedimentation-vitor /bin/bash
Now, in docker:
# Docker
pg_dir=/shared/workflow-sedimentation/src-local/sedimentation/prov/pg
di_dir=/shared/workflow-sedimentation/src-local/sedimentation/prov/di
# Docker
export DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH:/opt/paraview/5.4/lib/paraview-5.4
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/paraview/5.4/lib/paraview-5.4
Change the end to:
time mpirun -np 2 ../../libmesh-sedimentation/sediment-opt -i lock_necker3D_pc11.in -m lock_necker3D.msh -e extraction.py -v visualization.py -o output -d /shared/workflow-sedimentation/src-local/sedimentation/output | tee -a "output-solver.log"
# Docker
PGDIR=/shared/workflow-sedimentation/src-local/libmesh-sedimentation
# Docker
directory = /shared/workflow-sedimentation/src-local/sedimentation
pgFilePath = /shared/workflow-sedimentation/src-local/dfa/PG-1.0.jar
rdeFilePath = /shared/workflow-sedimentation/src-local/dfa/RDE-1.0.jar
rdiFilePath = /shared/workflow-sedimentation/src-local/dfa/RDI-1.0.jar
access=EXTRACTION
cartridge=csv
bin=/programs/fastbit/bin
extraArguments=[b:precision=2]
Uncomment include config/config.docker
export LIBMESH_DIR=/programs/libmesh/build
cd /shared/libmesh-sedimentation
rm -rf .depend
rm -rf .libs
make clean
make
monetdb-start-all
cd /shared/workflow-sedimentation/src-local/sedimentation
./pg-dataflow.sh --> generates the conceptual dataflow
./delete.sh --> deletes data from a previous execution
./start-data-ingestor.sh --> cleans the database and initializes MonetDB
./execute-solver.sh --> Executes the sedimentation solver
You do not need Docker to run any of the programs or libraries used by libMesh-sedimentation. A Docker image is available for convenience so you will have the dependencies packaged together in a container. If you cannot use Docker in your execution environment, you will need to download and install all dependencies individually.