Skip to content

Commit

Permalink
Merge pull request aurora-multiphysics#50 from aurora-multiphysics/He…
Browse files Browse the repository at this point in the history
…nriqueBR/conduit_support

Conduit support
  • Loading branch information
alexanderianblair authored Dec 9, 2024
2 parents 9c677e8 + ea595d6 commit d96c2e8
Show file tree
Hide file tree
Showing 3 changed files with 37 additions and 4 deletions.
23 changes: 23 additions & 0 deletions doc/content/source/outputs/MFEMConduitDataCollection.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# MFEMConduitDataCollection

## Summary

!syntax description /Outputs/MFEMConduitDataCollection

## Overview

`MFEMDataCollection` controlling output of data to an `mfem::ConduitDataCollection` for visualisation
in VisIt. Conduit output is typically significantly faster than other data collections since VisIt uses
the MFEM FE types for visualisation, and ParaViewDataCollection oversamples the degrees of freedom.

The user may choose the output protocol out of the following options: `hdf5`, `json`, `conduit_json`, and `conduit_bin`.

## Example Input File Syntax

!listing test/tests/outputs/datacollections.i block=Outputs/ConduitDataCollection

!syntax parameters /Outputs/MFEMConduitDataCollection

!syntax inputs /Outputs/MFEMConduitDataCollection

!syntax children /Outputs/MFEMConduitDataCollection
13 changes: 9 additions & 4 deletions scripts/build-platypus-csd3-ampere.sh
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,12 @@ install_spack_deps() {
spack uninstall -ay arch=${ARCH}
spack clean -ab

echo "Installing Conduit..."
spack install conduit +mpi +parmetis +shared \
^mpich +cuda +slurm cuda_arch=80 \
^hdf5 +cxx +fortran +hl +mpi +shared
spack load conduit arch=${ARCH}

echo "Installing Petsc..."
# Spack's petsc doesn't like openmpi, but it works with mpich
spack install petsc +cuda cuda_arch=80 +fortran +hdf5 +hypre +metis +mpi \
Expand All @@ -107,10 +113,6 @@ install_spack_deps() {
spack install netcdf-c +parallel-netcdf
spack load netcdf-c arch=${ARCH}

echo "Installing ninja..."
spack install ninja
spack load ninja arch=${ARCH}

echo "Adding python modules..."

spack install [email protected]
Expand Down Expand Up @@ -152,6 +154,7 @@ install_mfem() {
export F77=mpif77
export FC=mpif90
SLU_DIR=$(spack find --format "{prefix}" superlu-dist)
CONDUIT_DIR=$(spack find --format "{prefix}" conduit)
export SLU_DIR

# Build MFEM
Expand All @@ -176,7 +179,9 @@ install_mfem() {
-DMFEM_USE_SUPERLU=YES \
-DMFEM_USE_NETCDF=YES \
-DMFEM_USE_GSLIB=YES \
-DMFEM_USE_CONDUIT=YES \
-DGSLIB_DIR="${BUILD_PATH}/gslib/build" \
-DCONDUIT_DIR="${CONDUIT_DIR}" \
-DSuperLUDist_DIR="${SLU_DIR}" \
-DSuperLUDist_VERSION_OK=YES

Expand Down
5 changes: 5 additions & 0 deletions test/tests/outputs/datacollections.i
Original file line number Diff line number Diff line change
Expand Up @@ -103,5 +103,10 @@
[VisItDataCollection]
type = MFEMVisItDataCollection
file_base = OutputData/VisItDataCollection
[]
[ConduitDataCollection]
type = MFEMConduitDataCollection
file_base = OutputData/ConduitDataCollection
protocol = conduit_bin
[]
[]

0 comments on commit d96c2e8

Please sign in to comment.