All Projects → libMesh → Libmesh

libMesh / Libmesh

Licence: lgpl-2.1
libMesh github repository

Projects that are alternatives of or similar to Libmesh

Moose
Multiphysics Object Oriented Simulation Environment
Stars: ✭ 652 (+44.89%)
Mutual labels:  parallel, finite-elements, amr, simulation, fem
Mfem
Lightweight, general, scalable C++ library for finite element methods
Stars: ✭ 667 (+48.22%)
Mutual labels:  finite-elements, amr, fem
Sdformat
Simulation Description Format (SDFormat) parser and description files.
Stars: ✭ 51 (-88.67%)
Mutual labels:  hacktoberfest, simulation
Ign Gazebo
Open source robotics simulator. Through Ignition Gazebo users have access to high fidelity physics, rendering, and sensor models. Additionally, users and developers have multiple points of entry to simulation including a graphical user interface, plugins, and asynchronous message passing and services. Ignition Gazebo is derived from Gazebo, and represents over 16 years of development and experience in robotics and simulation. This library is part of the Ignition Robotics project.
Stars: ✭ 81 (-82%)
Mutual labels:  hacktoberfest, simulation
grins
Multiphysics Finite Element package built on libMesh
Stars: ✭ 45 (-90%)
Mutual labels:  amr, fem
Ultra Runner
🏃⛰ Ultra fast monorepo script runner and build tool
Stars: ✭ 496 (+10.22%)
Mutual labels:  hacktoberfest, parallel
Space Nerds In Space
Multi-player spaceship bridge simulator. Captain your starship through adventures with your friends. See https://smcameron.github.io/space-nerds-in-space
Stars: ✭ 516 (+14.67%)
Mutual labels:  hacktoberfest, simulation
Openrct2
An open source re-implementation of RollerCoaster Tycoon 2 🎢
Stars: ✭ 10,115 (+2147.78%)
Mutual labels:  hacktoberfest, simulation
Ngsolve
Netgen/NGSolve is a high performance multiphysics finite element software. It is widely used to analyze models from solid mechanics, fluid dynamics and electromagnetics. Due to its flexible Python interface new physical equations and solution algorithms can be implemented easily.
Stars: ✭ 171 (-62%)
Mutual labels:  finite-elements, fem
femio
FEM I/O tool
Stars: ✭ 15 (-96.67%)
Mutual labels:  simulation, fem
MAESTRO
A low Mach number stellar hydrodynamics code
Stars: ✭ 29 (-93.56%)
Mutual labels:  simulation, amr
ameshref
Efficient Matlab Implementation of Adaptive Mesh Refinement in 2D
Stars: ✭ 28 (-93.78%)
Mutual labels:  fem, finite-elements
Core
parallel finite element unstructured meshes
Stars: ✭ 124 (-72.44%)
Mutual labels:  parallel, finite-elements
Sorry Cypress
An open-source, on-premise, self-hosted alternative to Cypress Dashboard
Stars: ✭ 1,005 (+123.33%)
Mutual labels:  hacktoberfest, parallel
Feelpp
💎 Feel++: Finite Element Embedded Language and Library in C++
Stars: ✭ 229 (-49.11%)
Mutual labels:  finite-elements, fem
Awesome Emulators Simulators
A curated list of software emulators and simulators of PCs, home computers, mainframes, consoles, robots and much more...
Stars: ✭ 94 (-79.11%)
Mutual labels:  hacktoberfest, simulation
Hexapod
Blazing fast hexapod robot simulator for the web.
Stars: ✭ 370 (-17.78%)
Mutual labels:  hacktoberfest, simulation
Sparselizard
C++ FEM library | user-friendly | multi-physics | hp-adaptive
Stars: ✭ 145 (-67.78%)
Mutual labels:  finite-elements, simulation
Polyfem
A polyvalent C++ FEM library
Stars: ✭ 147 (-67.33%)
Mutual labels:  finite-elements, simulation
MinimalFem
podgorskiy.com/spblog/304/writing-a-fem-solver-in-less-the-180-lines-of-code
Stars: ✭ 23 (-94.89%)
Mutual labels:  fem, finite-elements

IMPORTANT -- READ BEFORE BUILDING!

Do not download a GitHub-generated "ZIP" archive. These do not contain the required submodules, and therefore cannot be used to build libmesh. Use only git clones or "release" tarballs when following these instructions.

Build Instructions

The default is to build libmesh "out of tree," i.e. within a separate build directory, rather than in the source tree itself. This simplifies the process of having multiple, independently-configured builds.

  1. cd to location of libmesh clone or extracted release tarball.
  2. (Only if using a git clone) git submodule update --init --recursive
  3. mkdir build
  4. cd build
  5. ../configure --prefix=/path/to/libmesh/install
  6. make
  7. make check (optional, runs the example programs and unit tests when possible)
  8. make install

Afterward, make uninstall is available if needed to remove the files copied to /path/to/libmesh/install by make install.

METHODS

libMesh supports the notion of multiple methods, that is, configuration settings used to build the library. The major methods supported by the library are:

  • opt: Fully optimized mode, with little to no error checking. No debugging symbols are included in the resulting library. Aggressive optimization flags are used.

  • dbg: Full debugging mode. All useful compiler warnings are enabled, as well as robust internal state checking. The asymptotic complexity of some algorithms is allowed to be worse than the design spec states.

  • devel: Use high levels of compiler optimization, but also enable internal state checking. Debugging symbols are included, but the resulting code is not always easy to navigate in a debugger because of compiler optimizations.

  • pro: Optimized code path with compiler flags suitable for use with gprof.

  • oprof: Optimized code path with compiler flags suitable for use with oprofile.

To select a set of methods, you can pass them to configure in one of two ways:

../configure --with-methods="opt dbg devel"

or

../configure METHODS="devel oprof"

If unspecified, METHODS="opt dbg devel" is the default.

Multiple Builds with Different Compilers

libMesh fully supports out-of-tree builds, and users are encouraged to use this feature when needed to support multiple compilers. For example, on a system where multiple compilers are available and accessible via modules, you can share the same source tree by creating a subdirectory for each compiler build:

export LIBMESH_SRC=/local/libmesh
cd $LIBMESH_SRC
module load gcc/9.3
cd $LIBMESH_SRC && mkdir gcc-9.3 && cd gcc-9.3 && ../configure && make && make install
module swap gcc/9.3 intel/19.0
cd $LIBMESH_SRC && mkdir intel-19.0 && cd intel-19.0 && ../configure && make && make install

Dependencies

libMesh has no required dependencies other than a C++ compiler which fully supports the C++11 standard. To run on distributed memory platforms in parallel, you will also need MPI.

Optional Packages

We support a large number of optional packages. Some of these are distributed inside the contrib directory and compiled directly with libMesh, others can be used via third-party installations.

License

LibMesh is open source software distributed under the LGPL license, version 2.1.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].