Coder Social home page Coder Social logo

tigar's Introduction

tIGAr

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

Dependencies

  • 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.

Installation

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.

On clusters

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.

Common installation issues

  • petsc4py.PETSc.Mat object has no attribute PtAP: This is due to an old version of petsc4py. Try installing the latest version via pip3.
  • ImportError: No module named dolfin: This occurs when attempting to use python rather than python3. 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 via sudo apt-get install python3-dev.
  • ModuleNotFoundError: No module named 'scipy._lib.decorator': Try re-installing SciPy, which can be done with the command pip3 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 with libgfortran when using the Singularity container: Try adding apt-get -y install libgfortran3 under the %post section in the file singularity-recipe.def.

tigar's People

Contributors

david-kamensky avatar nate-sime avatar hanzhao2020 avatar wb-zhang avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.