Skip to content

mahdimyr/tostii

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

tost.II

Requires a working installation of deal.II >= v9.4. This can be built as follows:

  1. Clone the "Compile and Install" project from git:
# avoid unpacking files on the network filesystem
cd /some/local/dir
git clone https://github.com/dealii/candi.git
cd candi
  1. Make sure that you have the necessary packages installed:
cd deal.II-toolchain/platforms/supported
# read the documentation for your platform, e.g.:
vim ubuntu.platform
# follow the instructions, if applicable, and return to the main directory
cd ../../..
  1. Edit candi's configuration options. For example, uncomment the line that reads #PACKAGES="${PACKAGES} once:sundials" (needed for this project), and comment out the line that reads PACKAGES="${PACKAGES} once:slepc" (because it doesn't work for candi).
vim candi.cfg
  1. Run the installer. This will take a long time, so use screen if on a remote machine.
# set number of make processes
BUILD_PROCESSES=4
# set installation prefix - again, avoid network filesystem
CANDI_INSTALL_PREFIX=/home/tus210/dealii
# run with -y to skip confirmations
# run with PACKAGES_OFF=slepc because it doesn't work
PACKAGES_OFF=slepc ./candi.sh --prefix=${CANDI_INSTALL_PREFIX} -j${BUILD_PROCESSES} -y
  1. Whenever you need to build something with deal.II, first use:
source ${CANDI_INSTALL_PREFIX}/configuration/enable.sh

If the above fails, it is likely due to system packages that are not installed on your system. The installer will suggest a list of packages for you to install from your operating system's repositories.

With an appropriate version of deal.II (>= v9.4.0) installed, you can build this project via cmake:

# first-time setup:
cmake -DCMAKE_BUILD_TYPE=Release .
# build project using make
make -j${BUILD_PROCESSES}

If CMake produces an error during the first command, it is possible that your version of CMake is too old. You can update the system's CMake if you have root access, or install a more recent version on your account if you don't. For example, it seems that CMake version 3.26 works, but 3.12 doesn't (which is annoying if your package manager only provides a non-working version by default).

Execution

There are a number of example/test programs using deal.II/tostii included in this repository, in the directories:

  • ac (Allen-Cahn problem)
  • adr (Brusselator problem with advection term)
  • complexpde (Complex-valued PDE)

A program defined in tostii/dir/prog.cc has its executable saved to tostii/out/dir/bin/prog. It is recommended that you write a run script, like run.sh, to automate building and running programs if needed.

About

The temporal operator-splitting template library

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 92.2%
  • CMake 4.7%
  • Makefile 3.1%