Git Product home page Git Product logo

idealii's Introduction

Build status of the library against official deal.II docker images:

deal.II v9.3.0 deal.II v9.4.0 deal.II v9.4.2 deal.II v9.5.0

ideal.II an extension to deal.II for tensor-product space-time finite elements

This library provides classes and functions to solve instationary partial differential equations by using space-time finite elements i.e. finite elements in both time and space. It heavily builds on the 1 to 3d finite element capabilities of deal.II so you should make yourself familiar with solving stationary problems with that library first.

How to install ideal.II

First you need to install deal.II by following the instructions on their site. If you plan on using parallel linear algebra and other advanced features of deal.II and ideal.II you should use either the cmake superbuild or candi. Note down the installation directory of deal.II (for example ~/Software/dealii)

The installation of ideal.II is based on CMake as well, the steps are as follows.

  1. Choose an installation directory for ideal.II (for example ~/Software/idealii)

  2. Open a console and go to a directory where you want to download the source files (e.g. ~/Downloads) and clone the repository

    cd ~/Downloads
    git clone https://github.com/instatdealii/idealii
  1. After cloning is finished execute the following commands (with the above directory examples write ~/Software/dealii instead of <path_to_your_deal_installation> and ~/Software/idealii instead of <path_to_install_idealii_in>
    cd idealii   
    cmake -S. -Bbuild -DDEAL_II_DIR=<path_to_your_deal_installation> -DCMAKE_INSTALL_PREFIX=<path_to_install_idealii_in> 
    cmake --build build
    cmake --install build

How to use ideal.II in your codes

Take a look at one of the example steps and copy the CMakeLists.txt file from there into your project directory. Set the correct project name and sources and then call the following commands from your project directory.

    cmake -S. -Bbuild -DIDEAL_II_DIR=<path_to_install_idealii_in>
    cmake --build build

Then the executable will be inside the build subdirectory.

How to cite ideal.II

The software metapaper is currently in preparation. Once published the readme will be updated accordingly.

If you write a paper using results obtained with the help of ideal.II, please cite the following reference:

  1. Jan Philipp Thiele, ideal.II: a Galerkin space-time extension to the finite element library deal.II, preprint(2024), arXiv 2408.08840
    @misc{idealII,
	    archiveprefix = {arXiv},
	    author = {Thiele, Jan Philipp},
	    eprint = {2408.08840},
    	primaryclass = {math.NA},
	    title = {ideal.{II}: a Galerkin Space-Time Extension to the Finite Element Library deal.{II}},
	    year = {preprint(2024), \url{https://arxiv.org/abs/2408.08840}}
    }
  1. Please also cite deal.II as explained here

Documentation

A full documentation including the underlying mathematics (WIP) can be found here.

The doxygen API Reference of the library functions can be found here.

idealii's People

Contributors

jpthiele avatar kinnewig avatar bangerth avatar

Stargazers

Joshua avatar CC_Kuo avatar Peter Munch avatar

Watchers

Peter Munch 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.