Skip to content

3MAH-Team-old/smartplus

Repository files navigation

smartplus

GitHub license

About

smartplus is a free, open-source library for the simulation of heterogeneous materials. It is developed with the aim to be a high-quality scientific library to facilitate the analysis of the complex, non-linear composite material response and thus integrates several algorithms for the analysis of heterogeneous materials

smartplus is a C++ library with emphasis on speed and ease-of-use. Its principle focus is to provide tools to facilitate the implementation of up-to-date constitutive model for materials in Finite Element Analysis Packages. This is done by providing a C++ API to generate user material subroutine based on a library of functions. Also, SMART+ provides tools to analyse the behavior of material, considering loading at the material point level. Such tools include a thermomechanical solver, a software to predict effective properties of composites, and a built-in identification software (using a combined genetic-gradient based algorithm)

smartplus is mainly developed by contributors from the staff and students of Arts et Métiers ParisTech, that are members of the LEM3 laboratory. It is released under the GNU General Public License: GPL, version 3.

Documentation

Provider Status
Read the Docs Documentation Status

Installation

How to install SMART+ :

1 - Make sure you have Boost (1.60 at least) installed and Armadillo installed to use smartplus.

2 - Unzip the file in a source location, and rename it 'smartplus'.

3 - Go to such folder "smartplus"

4 - Execute the installation bash file :

sh Install.sh

5 - Enjoy

Alternative

If you start from an Ubuntu 16.04, you can also use the script "install-smartplus.sh" It contains all the commands to install the smartplus dependancies Just run

sh Install.sh

on a terminal, with the su privileges

How to use smartplus

Several possibilities

1 - Use the python wrapper for smartplus, simmit :

simmit

By doing, so, you can utilize smartplus in Ipython (jupyter) notebooks

2 - Use the executables provided by smartplus

For instance, a solver, an identification software, etc..

3 - Link smartplus with FEA Packages

An example is provided on how to use smartplus constitutive models as Umat libraries:

You can directly copy-paste "umat_single.o" (mechanical) or "umat_singleT.o" (thermomechanical) from 'pathtothefile'/smartplus/build/bin to your Abaqus work directory and use it like a classical Umat.

Example :

abaqus job=mymodel.inp user=umat_single.o

4- Build your own projects using the SMART+ library

Link with -lsmartplus Have fun :)

Authors