TFEL
,
MFront
and MTest
TFEL
libraries
TFEL/Material
features
MFront
mfront-query
@FlowRule
block in isotropic
DSLs@GenerateMTestFileOnFailure
keyword@GenerateMTestFileOnFailure
keyword@GenerateMTestFileOnFailure
keyword@ComputeStress
and
@ComputeFinalStress
TFELConfig
, TFELMFront
and
TFELMTest
@Includes
, @Link
and
@TFELLibraries
to the `Model DSLTFEL
librairies in material propertiesTFELHOME
environment variableTFEL_APPEND_VERSION
and
TFEL_VERSION_FLAVOUR
TFEL
’s version and flavourTFEL_APPEND_VERSION
or
TFEL_VERSION_FLAVOUR
is definedWindows
’s
MAX_PATH
limitModel
DSL can be embedded in
behaviours using the @Model
keywordpybind
When compiling with option TFEL_APPEND_VERSION
set to
ON
or when defining the string variable
TFEL_VERSION_FLAVOUR
, the python
modules are
now modified to reflect those information. This old behaviour can be
restored by setting the unversioned-python-module-names
option to ON
.
IsotropicHardeningRule::computeElasticLimitAndDerivative
now returns the derivative of the elastic limit (computed at the middle
of the time step) with respect to the equivalent plastic strain at the
middle of the time step rather than the derivative with respect to the
increment of the equivalent plastic strain.
TFEL
librariesThis version now supports a new environment variable to specify the
TFEL
installation directory that always supersedes the
TFELHOME
environment variable. The name of this variable
depends on the version of the project, the fact that a development
version has been compiled and the flavour (optionally specified with the
cmake
variable TFEL_VERSION_FLAVOUR
). The name
of this variable can be retrieved with the --tfel-home
option of tfel-config
described below.
tfel-config
--registry-key
optionOn Windows
, the --registry-key
option
returns the registry key which is used to determine the TFEL’s
installation path.
--tfel-home
optionThe --tfel-home
option returns the environment variable
in which the TFEL’s installation path shall be defined.
$ tfel-config-5.1.0-dev-release --tfel-home
TFELHOME_5_1_0_dev_release
--python-module-suffix
optionThis option return the suffix of the python
module. Such
suffix is not empty only the following conditions are met:
TFEL
has been compiled with option
TFEL_APPEND_VERSION
set to ON
and or with the
string variable TFEL_VERSION_FLAVOUR
defined,unversioned-python-module-names
option has been set
to ON
(the default value if OFF
).The option --python-module-suffix
is only available if
the python bindings is available.
--config
This option requests flags associated with the
TFELConfig
library.
--mfront-log-stream
This option requests flags associated with the
MFrontLogStream
library.
--mfront
This option requests flags associated with the
TFELMFront
library.
--mtest
This option requests flags associated with the TFELMTest
library.
$ tfel-config-5.1.0-release --python-module-suffix
5_1_0_release
TFEL/Material
featuresWhen \(\tenseur C_0\) is
anisotropic, the Eshelby tensor can be computed with
computeAnisotropicEshelbyTensor
in 3D and
computePlainStrainAnisotropicEshelbyTensor
in 2D. There are
also computeAnisotropicHillTensor
,
computePlainStrainAnisotropicHillTensor
, and also
computeAnisotropicLocalisationTensor
and
computePlainStrainAnisotropicLocalisationTensor
.
Different homogenization bounds are implemented. The available
functions are computeVoigtStiffness
,
computeReussStiffness
,
computeIsotropicHashinShtrikmanBounds
.
Python bindings are now generated using the pybind11
library.
MFront
This version introduces the following main features in
MFront
:
Many warnings have been added to detect potential misuses of
MFront
or known bad practices.
Reporting warnings is activated by default and can be disabled by
passing the command line argument --report-warnings=false
to MFront
.
Warnings are associated with keywords and code blocks. Warnings can
be disabled by appending the safe
option to them. For
instance, in an implicit DSL, specifying a convergence threshold greater
than \(10^{-10}\) is considered to
loose in most cases and thus triggers a warning. This warning can be
disabled as follows:
@Epsilon<safe> 1;
This safe
option can be ignored by passing the
--ignore-safe
command line argument to MFront
.
This argument is useful when analysing an existing file (written by
another person) to question implementation choices.
A warning is reported if the implementation of the flow rule(s) contains:
dt
,eto
at the beginning of the time step,deto
,sig
,theta
parameter,@Model
keyword).theta
) or the iterMax
parameter.@Model
keyword).Cast3M
interfaceCast3M
interface, which is a portability issue as the behaviour can’t be
compiled with other interfaces:
@CastemGenerateMTestFileOnFailure
,
@UMATGenerateMTestFileOnFailure
,
@CastemUseTimeSubStepping
,
@UMATUseTimeSubStepping
,
@CastemMaximumSubStepping
,
@UMATMaximumSubStepping
,
@CastemDoSubSteppingOnInvalidResults
,
@UMATDoSubSteppingOnInvalidResults
,
@CastemFiniteStrainStrategy
,
@UMATFiniteStrainStrategy
,
@CastemFiniteStrainStrategies
and
@UMATFiniteStrainStrategies
.generic
interface@GenericInterfaceGenerateMTestFileOnFailure
to the
generic
interface, which is a portability issue as the
behaviour can’t be compiled with other interfaces.@BehaviourVariable
keyword@BehaviourVariable first_phase_plastic_behaviour {
: "Plasticity.mfront",
file: "1",
variables_suffix: "FirstPhase",
external_names_prefix: true,
store_gradients: true,
store_thermodynamic_forces: {".+"},
shared_material_properties: {".+"}
shared_external_state_variables};
@Model
keywordIn previous versions, the @Model
keyword allowed to call
from a behaviour point-wise models using the historical
Model
DSL.
The @Model
keyword now allows to use point-wise models
implemented using the following DSLs: DefaultModel
,
RungeKuttaModel
and ImplicitModel
. In this
case, a behaviour variable factory is automatically associated with the
point-wise models which shares all its material properties and external
state variables with the calling behaviour. Every persistent variables
of the point-wise model are declared as auxiliary state variables. For
each persistent variable of the point-wise model, a local variable meant
to contain the increment of this variable over the time step is
declared.
Point-wise models are called at the initialization stage of the
behaviour. The auxiliary state variables associated with the point-wise
models are updated at beginning of the
updateAuxiliarySateVariables
method before
any user defined code (see the
@UpdateAuxiliaryStateVariables
keyword).
The following command line arguments are now supported:
--report-warnings
: this command line argument enables
or disables the reporting of warnings:
--report-warnings
or
--report-warnings=true
enable the reporting of warnings
(which is the default behaviour of MFront
).--report-warnings=false
disables the reporting of
warnings.--warning-error
: this command line argument allows to
treat warnings as errors.
--warning-error
or --warning-error=true
turns warnings into errors.--warning-error=false
does not turn warnings into
errors (which is the default behaviour of MFront
).-Werror
is equivalent to
--warning-error=true
.-ignore-safe
allows to ignore the safe
option of keywords and code blocks.The @IsotropicHardeningRule
and
@IsotropicHardeningRules
allow to use the isotropic
hardening rules available in the StandardElastoViscoPlasticity
brick.
@IsotropicHardeningRule "Voce" {flow_id : 0, R0 : 125e6, Rinf : 500e6, b : 20};
@IsotropicHardeningRules{
: 0,
flow_id : "Voce" {R0 : 125e6, Rinf : 500e6, b : 20},
isotropic_hardening : "Linear" {R0 : 50e6}
isotropic_hardening };
IsotropicPlasticMisesFlow
DSLIf an isotropic hardening rule is defined in the
IsotropicPlasticMisesFlow
DSL, and if no flow rule is
defined, the following flow rule is automatically defined:
@FlowRule {
= seq - R;
f = 1;
df_dseq = -dR_dp;
df_dp }
The following flow rules are currently available: Data
,
Linear
, Power
,
StrainRateSensitive
, Swift
,
UserDefined
, and Voce
.
This list can be retrieved as follows:
$ mfront --list-isotropic-hardening-rules
mfront-query
The following command line arguments are now supported:
--report-warnings
: this command line argument enables
or disables the reporting of warnings:
--report-warnings
or
--report-warnings=true
enable the reporting of warnings
(which is the default behaviour of mfront-query
).--report-warnings=false
disables the reporting of
warnings.--warning-error
: this command line argument allows to
treat warnings as errors.
--warning-error
or --warning-error=true
turns warnings into errors.--warning-error=false
does not turn warnings into
errors (which is the default behaviour of
mfront-query
).-Werror
is equivalent to
--warning-error=true
.@TFELLibraries
The @TFELLibraries
keyword let the user specify TFEL
libraries to link with. This keyword must be followed by an array of
strings.
The following libraries are available: Config
,
Exception
, Glossary
, Tests
,
UnicodeSupport
, Utilities
,
System
, Math
, MathCubicSpline
,
MathKriging
, MathParser
, NUMODIS
,
Material
, MFront
, MTest
.
@TFELLibraries {"MathParser"};
For more details, see https://github.com/thelfer/tfel/issues/661
@FlowRule
block in isotropic
DSLsFor more details, see https://github.com/thelfer/tfel/issues/702
 ## Issue #697: [cyrano] Add a warning when the maximum number of sub steppings is too high
For more details, see https://github.com/thelfer/tfel/issues/697
@GenerateMTestFileOnFailure
keywordFor more details, see https://github.com/thelfer/tfel/issues/696
@GenerateMTestFileOnFailure
keywordFor more details, see https://github.com/thelfer/tfel/issues/695
@GenerateMTestFileOnFailure
keywordFor more details, see https://github.com/thelfer/tfel/issues/694
For more details, see https://github.com/thelfer/tfel/issues/692
For more details, see https://github.com/thelfer/tfel/issues/690
@ComputeStress
and
@ComputeFinalStress
For more details, see https://github.com/thelfer/tfel/issues/689
TFELConfig
, TFELMFront
and
TFELMTest
This feature is described in Section 2.2.
For more details, see https://github.com/thelfer/tfel/issues/685
@Includes
, @Link
and
@TFELLibraries
to the `Model DSLFor more details, see https://github.com/thelfer/tfel/issues/684
TFEL
librairies in material propertiesFor more details, see https://github.com/thelfer/tfel/issues/683
For more details, see https://github.com/thelfer/tfel/issues/677
TFELHOME
environment variableFor more details, see https://github.com/thelfer/tfel/issues/676
TFEL_APPEND_VERSION
and
TFEL_VERSION_FLAVOUR
For more details, see https://github.com/thelfer/tfel/issues/674
TFEL
’s version and flavourFor more details, see https://github.com/thelfer/tfel/issues/673
TFEL_APPEND_VERSION
or
TFEL_VERSION_FLAVOUR
is definedFor more details, see https://github.com/thelfer/tfel/issues/672
Windows
’s
MAX_PATH
limitFor more details, see https://github.com/thelfer/tfel/issues/667
For more details, see https://github.com/thelfer/tfel/issues/666
For more details, see https://github.com/thelfer/tfel/issues/654
Model
DSL can be embedded in
behaviours using the @Model
keywordFor more details, see https://github.com/thelfer/tfel/issues/640
pybind
For more details, see https://github.com/thelfer/tfel/issues/293