Skip to content

hpcdb/workflow-sedimentation

Folders and files

NameName
Last commit message
Last commit date
Apr 8, 2019
Jun 19, 2017
Aug 10, 2017
Jan 9, 2018
Mar 31, 2020
Apr 17, 2018
Jan 16, 2017
Mar 31, 2020
Jul 21, 2017
Jun 13, 2019
Mar 19, 2017

Repository files navigation

Introduction

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.

User documentation for docker

Clones

  • docker pull vitorss/debian:sedimentation-vitor
  • git clone [email protected]:hpcdb/workflow-sedimentation.git
  • LOCAL_DIR=/path/to/repository/in/local/machine

Run docker:

docker run -v $LOCAL_DIR:/shared -i -t vitorss/debian:sedimentation-vitor /bin/bash

Now, in docker:

Adjust the Docker variables

/shared/src-local/sedimentation/DfA.properties

# Docker
pg_dir=/shared/workflow-sedimentation/src-local/sedimentation/prov/pg
di_dir=/shared/workflow-sedimentation/src-local/sedimentation/prov/di

/shared/src-local/sedimentation/execute-solver.sh

# 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"

/shared/workflow-sedimentation/src-local/sedimentation/pg-dataflow.sh

# Docker
PGDIR=/shared/workflow-sedimentation/src-local/libmesh-sedimentation

/shared/workflow-sedimentation/src-local/sedimentation/provenance.in

# 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]

Make the solver:

Uncomment include config/config.docker

export LIBMESH_DIR=/programs/libmesh/build
cd /shared/libmesh-sedimentation
rm -rf .depend
rm -rf .libs
make clean
make

Cheat sheet of Execution commands:

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

Disclaimer

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.