The MFrontGenericInterfaceSupport project

The MFrontGenericInterfaceSupport project - Published in JOSS (2020)

https://github.com/thelfer/mfrontgenericinterfacesupport

Science Score: 93.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 4 DOI reference(s) in README and JOSS metadata
  • Academic publication links
    Links to: joss.theoj.org
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
    Published in Journal of Open Source Software
Last synced: 6 months ago · JSON representation

Repository

This project aims at providing support for MFront generic behaviours. This project can be embedded in open-source and propriary sofware

Basic Info
  • Host: GitHub
  • Owner: thelfer
  • Language: C++
  • Default Branch: master
  • Size: 13 MB
Statistics
  • Stars: 41
  • Watchers: 10
  • Forks: 34
  • Open Issues: 19
  • Releases: 7
Created over 7 years ago · Last pushed 6 months ago
Metadata Files
Readme Contributing Codemeta

README.md

MFrontGenericInterfaceSupport

This project aims at providing tools (functions, classes, bindings, etc...) to handle behaviours written using MFront generic interface. For information about MFront, see http://thelfer.github.io/tfel/web/index.html.

Those tools are meant to be used by (FEM, FFT, etc.) solver developers. This tools are not linked to the TFEL libraries. Permissive licences have been chosen to allow integration in open-source and proprietary codes.

This project is described in this paper: DOI

The official website can be found here: https://thelfer.github.io/mgis/web/index.html.

The MFrontGenericInterface C++ library

The project is build around the MFrontGenericInterface library. This library provides two main functions:

  • the mgis::behaviour::load functions loads MFront behaviours from external shared libraries and retrieve all relevant meta data function. Those relevant information are stored in the mgis::behaviour::Behaviour class.
  • the mgis::behaviour::integrate integrates the behaviour over one time step. The data associated with an integration point are handled by the mgis::behaviour::BehaviourData class which contains the state of the integration point at the beginning and at the end of the time step.

The library also supports handling a group of integration points though the mgis::behaviour::MaterialStateManager class.

Bindings

Existing

The following bindings are available:

  • c bindings.
  • python bindings .
  • fortran03 bindings.
  • fenics bindings (under current work in the master branch). Those bindings are strongly inspired by the fenics-solid-mechanics project. Those bindings are currently quite limited as mostly serve as a proof of concept. Note that MGIS can also be used in FEniCS through the python interface. This is discussed here: https://thelfer.github.io/mgis/web/FEniCSBindings.html.
  • julia bindings (experimental)

Future bindings (contributors are welcomed)

The following bindings are under consideration:

  • octave binding

Versions, branches

  • Version 3.0.1 is meant to be build against TFEL 5.0.1
  • Version 3.0 is meant to be build against TFEL 5.0
  • Version 2.2.1 is meant to be build against TFEL 4.2.3
  • Version 2.2 is meant to be build against TFEL 4.2
  • Version 2.1 is meant to be build against TFEL 4.1
  • Version 2.0 is meant to be build against TFEL 4.0
  • Version 1.2.2 is meant to be build against TFEL 3.4.3
  • Version 1.2.1 is meant to be build against TFEL 3.4.1
  • Version 1.2 is meant to be build against TFEL 3.4.0
  • Version 1.1 is meant to be build against TFEL 3.3.0
  • Version 1.0 is meant to be build against TFEL 3.2.0
  • Version 1.0.1 is meant to be build against TFEL 3.2.1

The following branches are available:

  • The master branch follows the evolution of the master branch of the TFEL project
  • The rliv-3.0 follows the evolution of the 5.0.x series of the TFEL project.
  • The rliv-2.2 follows the evolution of the 4.2.x series of the TFEL project.
  • The rliv-2.1 follows the evolution of the 4.1.x series of the TFEL project.
  • The rliv-2.0 follows the evolution of the 4.0.x series of the TFEL project.
  • The rliv-1.2 follows the evolution of the 3.4.x series of the TFEL project.
  • The rliv-1.1 follows the evolution of the 3.3.x series of the TFEL project.
  • The rliv-1.0 follows the evolution of the 3.2.x series of the TFEL project. Note that this branch is not compatible with TFEL-3.2.0.

Acknowledgement

This project uses code extracted from the following projects:

  • https://github.com/bitwizeshift/string_view-standalone by Matthew Rodusek
  • https://github.com/mpark/variant: by Michael Park
  • https://github.com/progschj/ThreadPool by Jakob Progsch and Václav Zeman
  • https://github.com/martinmoene/span-lite by Martin Moene
  • https://bitbucket.org/fenics-apps/fenics-solid-mechanics/ by Kristian B. Ølgaard and Garth N. Wells.

Owner

  • Name: Thomas Helfer
  • Login: thelfer
  • Kind: user

JOSS Publication

The MFrontGenericInterfaceSupport project
Published
April 23, 2020
Volume 5, Issue 48, Page 2003
Authors
Thomas Helfer ORCID
CEA, DES, IRESNE, DEC, Cadarache F-13108 Saint-Paul-Lez-Durance, France
Jeremy Bleyer ORCID
Laboratoire Navier UMR 8205 (École des Ponts ParisTech-IFSTTAR-CNRS)
Tero Frondelius ORCID
R&D and Engineering, Wärtsilä, P.O. Box 244, 65101 Vaasa, Finland, University of Oulu, Erkki Koiso-Kanttilan katu 1, 90014 Oulu, Finland
Ivan Yashchuk
VTT Technical Research Centre of Finland, Kivimiehentie 3, 02150 Espoo, Finland, Department of Computer Science, Aalto University, Konemiehentie 2, 02150 Espoo, Finland
Thomas Nagel ORCID
Geotechnical Institute, Technische Universität Bergakademie Freiberg, Gustav-Zeuner-Str. 1, 09599 Freiberg, Germany, Department of Environmental Informatics, Helmholtz Centre for Environmental Research -- UFZ, Permoserstr. 15, 04318 Leipzig, Germany
Dmitri Naumov
Geotechnical Institute, Technische Universität Bergakademie Freiberg, Gustav-Zeuner-Str. 1, 09599 Freiberg, Germany, Department of Environmental Informatics, Helmholtz Centre for Environmental Research -- UFZ, Permoserstr. 15, 04318 Leipzig, Germany
Editor
Arfon Smith ORCID
Tags
MFront Mechanical solvers Mechanical behaviours

CodeMeta (codemeta.json)

{
  "@context": "https://raw.githubusercontent.com/codemeta/codemeta/master/codemeta.jsonld",
  "@type": "Code",
  "author": [
    {
      "@id": "https://orcid.org/0000-0003-2460-5816",
      "@type": "Person",
      "email": "thomas.helfer@cea.fr",
      "name": "Thomas Helfer",
      "affiliation": "French Alternative Energies and Atomic Energy Commission"
    },
    {
      "@id": "",
      "@type": "Person",
      "email": "",
      "name": "Tero Frondelius",
      "affiliation": "Wärtsilä"
    }
  ],
  "identifier": "",
  "codeRepository": "https://github.com/thelfer/MFrontGenericInterfaceSupport",
  "datePublished": "2019-08-02",
  "dateModified": "2019-08-02",
  "dateCreated": "2019-08-02",
  "description": "This project aims at providing tools (functions, classes, bindings, etc...) to handle behaviours written using MFront generic interface.",
  "keywords": "Mechanical solvers, mechanical behaviours, MFront",
  "license": "LGPL v3.0",
  "title": "MFrontGenericInterfaceSupport",
  "version": "v1.0.1"
}

GitHub Events

Total
  • Create event: 9
  • Release event: 3
  • Issues event: 20
  • Watch event: 3
  • Delete event: 2
  • Member event: 2
  • Issue comment event: 25
  • Push event: 104
  • Pull request event: 7
  • Fork event: 1
Last Year
  • Create event: 9
  • Release event: 3
  • Issues event: 20
  • Watch event: 3
  • Delete event: 2
  • Member event: 2
  • Issue comment event: 25
  • Push event: 104
  • Pull request event: 7
  • Fork event: 1

Committers

Last synced: 7 months ago

All Time
  • Total Commits: 402
  • Total Committers: 14
  • Avg Commits per committer: 28.714
  • Development Distribution Score (DDS): 0.239
Past Year
  • Commits: 44
  • Committers: 1
  • Avg Commits per committer: 44.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Helfer Thomas t****r@c****r 306
Jeremy Bleyer j****r@e****r 54
tnagel n****t@t****e 12
Thomas Helfer t****t@c****r 9
Pascal Bouda p****a@c****r 6
Tero Frondelius T****s 4
Ivan Yashchuk I****k 2
Mathieu Courtois m****s@e****r 2
Ivan Yashchuk i****k@v****i 2
Arfon Smith a****n 1
Thomas Helfer t****m@M****l 1
Thomas HELFER T****s@M****l 1
TeroFrondelius t****u@g****m 1
HELFER Thomas 202608 t****8@p****r 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 77
  • Total pull requests: 36
  • Average time to close issues: 3 months
  • Average time to close pull requests: 12 days
  • Total issue authors: 36
  • Total pull request authors: 10
  • Average comments per issue: 3.39
  • Average comments per pull request: 0.69
  • Merged pull requests: 33
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 13
  • Pull requests: 6
  • Average time to close issues: about 1 month
  • Average time to close pull requests: less than a minute
  • Issue authors: 8
  • Pull request authors: 1
  • Average comments per issue: 0.62
  • Average comments per pull request: 0.0
  • Merged pull requests: 6
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • thelfer (27)
  • bleyerj (8)
  • pbouda95 (6)
  • RokyC (2)
  • prs513rosewood (2)
  • mthcrts (2)
  • Briffou (1)
  • VaishnavBhaskaran (1)
  • minamdar (1)
  • lilou-gautier (1)
  • jingyetan (1)
  • lupin628 (1)
  • ndjati (1)
  • rprat-pro (1)
  • jeanmichelscherer (1)
Pull Request Authors
  • bleyerj (13)
  • thelfer (7)
  • mthcrts (4)
  • bilke (3)
  • nagelt (2)
  • pbouda95 (2)
  • octave-user (2)
  • arfon (1)
  • IvanYashchuk (1)
  • TeroFrondelius (1)
Top Labels
Issue Labels
enhancement (30) mgis.fencis (14) bug (8) python bindings (7) question (6) help wanted (5) good first issue (5) fortran bindings (4) c bindings (4) documentation (1) clang (1) intel compilers (1)
Pull Request Labels
enhancement (1)

Dependencies

.github/workflows/check.yml actions
  • actions/checkout v4 composite
  • spack/setup-spack v2 composite