A Python library for isogeometric analysis (IGA) using FEniCS. The following article outlines the design of tIGAr:
@article{Kamensky2019,
title = "{tIGAr}: Automating isogeometric analysis with {FEniCS}",
journal = "Computer Methods in Applied Mechanics and Engineering",
volume = "344",
pages = "477--498",
year = "2019",
issn = "0045-7825",
doi = "https://doi.org/10.1016/j.cma.2018.10.002",
author = "D. Kamensky and Y. Bazilevs"
}
- Any meaningful usage requires FEniCS (version 2019.1) and its dependencies.
- SciPy is required. (SciPy is already included in FEniCS Docker distributions.)
- Usage of the NURBS module requires igakit.
- Compiling the API documentation requires Sphinx.
- The most convenient program for visualizing results is ParaView.
Install all dependencies, clone the repository (or download and extract from an archive), and append the top-level directory of the repository (viz. the one with subdirectories tIGAr
, docs
, etc.) to the environment variable PYTHONPATH
, e.g., by adding
export PYTHONPATH=/path/to/repository/:$PYTHONPATH
to your ~/.bashrc
file (and source
-ing it). To (optionally) build the API documentation, change directory to docs
and type make html
. The main documentation will then be in ./_build/html/index.html
, which can be opened with a web browser.
The most convenient way to use FEniCS (and therefore tIGAr) on HPC clusters is via Singularity. A singularity recipe for using tIGAr is in the file singularity-recipe.def
. Some additional notes are provided in the comments of that file.
petsc4py.PETSc.Mat object has no attribute PtAP
: This is due to an old version ofpetsc4py
. Try installing the latest version viapip3
.ImportError: No module named dolfin
: This occurs when attempting to usepython
rather thanpython3
. FEniCS 2018.1 and newer no longer support Python 2.Python.h: No such file or directory
: This requires installing the header files for the Python C API. On Ubuntu, these can be installed viasudo apt-get install python3-dev
.ModuleNotFoundError: No module named 'scipy._lib.decorator'
: Try re-installing SciPy, which can be done with the commandpip3 install --force-reinstall scipy
.- Errors due to old versions of FEniCS: Run
dolfin-version
in a terminal to check your version of FEniCS. Note in particular that Ubuntu PPAs for the current stable version of FEniCS are only maintained for the most recent few Ubuntu releases. Installing via the package manager on an old Ubuntu release may install an older version of FEniCS. libgfortran.so.3 cannot be found
, or other issues withlibgfortran
when using the Singularity container: Try addingapt-get -y install libgfortran3
under the%post
section in the filesingularity-recipe.def
.