Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/dalcinl/petiga
PETSc-based framework for isogeometric analysis (IGA) methods
https://github.com/dalcinl/petiga
fem isogeometric-analysis mpi petsc
Last synced: 2 months ago
JSON representation
PETSc-based framework for isogeometric analysis (IGA) methods
- Host: GitHub
- URL: https://github.com/dalcinl/petiga
- Owner: dalcinl
- License: other
- Created: 2022-03-20T07:22:37.000Z (almost 3 years ago)
- Default Branch: master
- Last Pushed: 2024-07-31T14:04:25.000Z (5 months ago)
- Last Synced: 2024-10-14T19:41:33.482Z (3 months ago)
- Topics: fem, isogeometric-analysis, mpi, petsc
- Language: C
- Homepage:
- Size: 1.12 MB
- Stars: 23
- Watchers: 2
- Forks: 4
- Open Issues: 2
-
Metadata Files:
- Readme: README.rst
- License: LICENSE.rst
Awesome Lists containing this project
README
PetIGA: A framework for high performance Isogeometric Analysis
==============================================================Overview
--------This software framework implements a NURBS-based Galerkin finite
element method (FEM), popularly known as `isogeometric analysis
`_ (IGA). It is
heavily based on `PETSc `_, the
*Portable, Extensible Toolkit for Scientific Computation*. PETSc is a
collection of algorithms and data structures for the solution of
scientific problems, particularly those modeled by partial
differential equations (PDEs). PETSc is written to be applicable to a
range of problem sizes, including large-scale simulations where high
performance parallel is a must. PetIGA can be thought of as an
extension of PETSc, which adds the NURBS discretization capability and
the integration of forms. The PetIGA framework is intended for
researchers in the numeric solution of PDEs who have applications
which require extensive computational resources.Installation
------------After `installing PETSc
`_,
set appropriate values for ``PETSC_DIR`` and ``PETSC_ARCH`` in your
environment::$ export PETSC_DIR=/home/user/petsc
$ export PETSC_ARCH=arch-linux2-c-debugClone the `Git `_ repository
hosted at `GitHub `_ ::$ git clone https://github.com/dalcinl/PetIGA.git
Finally, enter PetIGA top level directory and use ``make`` to compile
the code and build the PetIGA library::$ cd PetIGA
$ make all
$ make testScripting Support
-----------------PetIGA is designed to be efficient and as such, we do not directly do
things like output VTK files suitable for viewing the solution. We do
have routines which output the discretization information and solution
vectors, but these are in a binary format to minimize I/O time. We
have written a python package, `igakit
`_ which handles post-processing
for visualization as well as geometry generation. A series of
tutorials in how to use PetIGA and igakit are underway and can be
found `here `_.Citation
--------If you find PetIGA helpful in conducting research projects, we would
appreciate a citation to the following article::@article{PetIGA,
author = "L. Dalcin and N. Collier and P. Vignal and A.M.A. Côrtes and V.M. Calo",
title = "PetIGA: A framework for high-performance isogeometric analysis",
journal = "Computer Methods in Applied Mechanics and Engineering",
volume = "308",
pages = "151--181",
year = "2016",
issn = "0045-7825",
doi = "https://doi.org/10.1016/j.cma.2016.05.011",
}Acknowledgments
---------------This project was partially supported by the
Extreme Computing Research Center
(`ECRC `_),
Division of Computer, Electrical, and
Mathematical Sciences & Engineering
(`CEMSE `_),
King Abdullah University of Science and Technology
(`KAUST `_).