Skip to content
/ femus Public

Multiphysics Finite Element library with Selective-Adaptive Mesh Refinement and Multigrid solvers

License

Notifications You must be signed in to change notification settings

FeMTTU/femus

Repository files navigation

FEMuS

Welcome to the FEMuS project! FEMuS is an open-source Finite Element C++ library built on top of PETSc, which allows scientists to build and solve multiphysics problems with multigrid and domain decomposition techniques.

Setup

  • Clone the FEMuS source code from the github repository:

    git clone https://github.com/FeMTTU/femus.git

  • You need PETSc for FEMuS to work. If PETSc is not already installed in your machine, the script "install_petsc.sh" in contrib/scripts/ will install it automatically, with the following syntax:

    ./femus/contrib/scripts/install_petsc.sh --prefix-external my_dir

where "my_dir" is the path of the directory, either absolute or relative, that will contain the PETSc folder (please put it outside of the femus repo directory, to prevent from potential git tracking).

  • Source the "configure_femus.sh" script and execute the function "fm_set_femus" in order to set some environment variables:

    source femus/contrib/scripts/configure_femus.sh

    fm_set_femus --prefix-external my_dir --method-petsc opt

  • Create the build directory, cd to it and run cmake:

    mkdir femus_build

    cd femus_build

    cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE="[Debug Release RelWithDebInfo MinSizeRel None]" ../femus

  • Finally, type

    make -j $((nproc - 1))

to compile the library with all applications.

Authors

Eugenio Aulisa

Simone Bnà

Giorgio Bornia

License

FEMuS is an open-source software distributed under the LGPL license, version 2.1

About

Multiphysics Finite Element library with Selective-Adaptive Mesh Refinement and Multigrid solvers

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published