This document is under active development and discussion!

If you find errors or omissions in this document, please don’t hesitate to submit an issue or open a pull request with a fix. We also encourage you to ask questions and discuss any aspects of the project on the HiFiMagnet Gitter forum. New contributors are always welcome!

Introduction to HiFiMagnet

Discuss and Contribute
Use Issue 858 to drive development of this section. Your contributions make a difference. No contribution is too small.

1. What is HiFiMagnet?

Quick Starts

2. Installation Quick Start

Using HiFiMagnet inside Docker is the recommended and fastest way to use HiFiMagnet. The Docker chapter is dedicated to Docker and using Feel++ in Docker.

We strongly encourage you to follow these steps if you begin with HiFiMagnet in particular as an end-user.

People who would like to develop with and in HiFiMagnet should read through the remaining sections of this chapter.

3. Usage Start

Start the Docker container feelpp/hifimagnet as follows

> docker run -it -v $HOME/feel:/feel feelpp/hifimagnet
these steps are explained in the chapter on Feel++ containers.
EnSight (recommended)

is a commercial multi-platform data analysis and visualization application.

ParaView (recommended)

is an open-source, multi-platform data analysis and visualization application.

Visit

is a distributed, parallel visualization and graphical analysis tool for data defined on two- and three-dimensional (2D and 3D) meshes

Installing HiFiMagnet

The recommended way to install HiFiMagnet is to use docker images. Detailled instructions regarding the use of docker may be found in HiFiMagnet containers.

Alternatively you can install HiFiMagnet from sources. To speed up the build you can use the lncmi Debian/Ubuntu repository which contains packages for the prerequisites. The use of the repository is described in LCMI repository.

Finaly to rebuild HiFiMagnet from scratch instructions may be found in building HiFiMagnet.

Bassicaly first install Feel++, MagnetTools, HiFiMagnet and HiFiMagnet Salome plugin

1.1. PREREQUISITES

MagnetTools: * popt, gsl, freesteam, spherepack, expokit, sundials, yamlcpp, json-spirit * nag

Salome

1.2. Docker

1.3. Feel++ Containers

1.4. HiFiMagnet Containers

1.5. Using Lncmi repository

1.6. Building HiFiMagnet from scratch

Using HiFiMagnet

blabla

1.1. Optimization

1.2. Creating Geometries

1.3. Axi Modeling

1.4. 3D Modeling

Modeling an PolyHelix Insert from scratch with HiFiMagnet

blabla on practical matters

1.1. Optimization

1.2. Creating CAD geometry with Salome

1.3. Meshing

1.4. Axi Modeling

1.5. 3D Modeling

Quick Reference

list of common commands

4. Ressources

4.1. Licenses

Copyright © 2010-2017 by Feel++ Consortium
Copyright © 2005-2015 by Université Joseph Fourier (Grenoble, France)
Copyright © 2005-2015 by University of Coimbra (Portugal)
Copyright © 2011-2015 by Université de Strasbourg (France)
Copyright © 2011-2015 by CNRS (France)
Copyright © 2005-2006 by Ecole Polytechnique Fédérale de Lausanne (EPFL, Switzerland)

See the LICENSE file for details

This book is part of HiFiMagnet and is licensed under cc LGPL a.

4.3. Funding

HiFiMagnet has been funded by various sources and especially

logo anr logo irmia logo prace

4.3.1. Current funding

EU E-INFRA H2020
ANR projects
IRMIA
  • Hifimagnet (2012-2018)

  • 4fastsim (2016-2017)

4.3.2. Past funding

ANR
  • HAMM - (Cosinus call - 2010-2014)

  • OPUS - (TLOG call - 2008-2011)

  • Funding for Cemosis

FRAE
  • RB4FASTSIM - 2010-2014

PRACE projects
  • HP-FEEL++ 2015-2016

  • HP-FEEL++ 2013-2014

  • HP-PDE{1,2} 2012-2014

Rhônes-Alpes region
  • cluster ISLE [fn:2] and the project CHPID (2009-2011)

logo cemosis logo uga logo cnrs logo uds

Glossary

5. Glossary

Cmake

The tool that configures HiFiMagnet build environment and generate Makefiles by default.

Make

A tool that builds HiFiMagnet code from Makefiles generated by Cmake.

Feel++

Feel is a Finite Element Embedded Library in c

MUMPS

A parallel sparse direct solvers

normH1

Free-function to compute the \(H^1\) norm of an expression

normL2

Free-function to compute the \(L^2\) norm of an expression

normLinf

Free-function to compute the \(L^{\infty}\) norm of an expression

PETSc

A library for High Performance Computing providing parallel data structures and numerical methods linear and non-linear algebraic problems arising for example PDE discretisation. PETSc is the main solver strategy provider for FEEL++.

gmsh

A three-dimensional finite element mesh generator with built-in pre- and post-processing facilities

getdp

A General Environment for the Treatment of Discrete Problems

fadbad++

Flexible Automatic differentiation using templates and operator overloading in C++

expokit

Expokit is a software package that provides matrix exponential routines for small dense or very large sparse matrices, real or complex.

spherepack

A Package for Modeling Geophysical Processes

gsl

the GNU Scientific Library (GSL) library provides a wide range of mathematical routines such as random number generators, special functions and least-squares fitting.

freesteam

freesteam is an open source implementation of international-standard IAPWS-IF97 steam tables from the International Association for the Properties of Water and Steam (IAPWS)