Itasca FLAC3D Example

Overview

FLAC3D (Fast Lagrangian Analysis of Continua in 3 Dimensions) is numerical modeling software for geotechnical analyses of soil, rock, groundwater, constructs, and ground support. Such analyses include engineering design, factor of safety prediction, research and testing, and back-analysis of failure.

FLAC3D utilizes an explicit finite volume formulation that captures the complex behaviors of models that consist of several stages, show large displacements and strains, exhibit non-linear material behavior, or are unstable (including cases of yield/failure over large areas, or total collapse).

With this workflow, Rescale’s ScaleX End-to-End Desktop can be used to launch FLAC3D into a GUI from a Apptainer/Singularity container.

if1
Figure 1: FLAC3D from GUI

Import this job and save as a template or follow the steps below to manually create your own.

First Time FLAC3D Image File Creation on Rescale ScaleX

Launch a BYO Singularity/Apptainer End-to-End node on Rescale.

Optionally attach input files prior to launch or download to the node after the node starts.

if2
Figure 2: FLAC3D Hardware Settings
  • Open a terminal window.  
  • Change directory into the same location as the Singularity definition file (flac3d.def).
    • cd ~/work/shared
  • Execute the command:
    singularity build --fakeroot flac3d.<insert version #>.sif flac3d.def
  • Upon successful execution, a file flac3d.<version>.sif will be created
    • Test file by executing the following commands at the terminal window:
      xhost +
      singularity exec flac3d.sif /opt/itascasoftware/v700/flac3d700_gui.sh
  • Shutdown the job

Template Creation

Create a new template, using the details below as guidance.

Simulation CodeSingularity
DescriptionThis is a Workstation in which to launch FLAC3D on a Linux compute node.
Run the following lines in a terminal window after launch:
xhost +
cd ~/work/shared
export SINGULARITY_HOME=$HOME/work/shared

export SINGULARITY_WORKDIR=$HOME/work/shared
singularity exec -c flac3d.<version>.sif /opt/itascasoftware/v700/flac3d700_gui.sh
Input Filesflac3d.<version>.sif
Suggested HardwareMalachite / 32 cores

Use the template now whenever needing to launch FLAC3D – Connect to the machine using the virtual desktop and open the Terminal Emulator.  Execute the command above to launch the FLAC3D GUI.

Updating FLAC3D Version

Follow the same steps as First Time FLAC3D Image File Creation on Rescale ScaleX to build separate .sif files for each version. Be sure to update the Singularity definition file to reference the appropriate version of FLAC3D.

Singularity Definition File Reference

Save the text below into a file: flac3d.def

Bootstrap: docker
From: ubuntu:focal
%labels
    MAINTAINER Itasca
    WHATAMI Itasca Software (Ubuntu 20.04 LTS) Container
%post
	# Non interactive installs
        export DEBIAN_FRONTEND=noninteractive
	# Mount points
        mkdir -p  /data /projects /scratch
        # Resynchronize the package index
	apt-get -y update
	# Upgrade to newest packages
	apt-get -y upgrade
	# Installing language pack
        apt-get install -y locales language-pack-en
	# Add Universe repository and dependencies
        apt-get install -y software-properties-common
        add-apt-repository universe
	# Compilers and Utilities 
	apt-get install -y vim nano tar unzip bash-completion debianutils build-essential manpages-dev gfortran sudo wget
	# X11 and Others
	apt-get install -y libxext6 libxrender1 libxtst6 libxi6 xorg libcanberra-gtk-module libcanberra-gtk3-module packagekit-gtk3-module libnss3 
		
	# Download deb		
	wget https://itasca-software.s3.amazonaws.com/itasca-software/v700/itascasoftware_700.146.deb -P /root/
	# Install Itasca Software
	apt-get install -y /root/itascasoftware_700.146.deb
	# Clean up
	rm -f /root/itascasoftware_700.146.deb