TFEL
,
MFront
and MTest
TFEL/Math
improvements
MFront
improvements
mtest
files in case
of integration failuregetMaterialKnowledgeIdentifier
and
getMaterial
to the OverridableImplementation
classstd::tie
with nvcc
mdnx
path where an OverridableImplementation
is writtenmdnx
fileTFEL
versionCxxTokenizer
@Profile
keyword in PTest
MTest
filesTFEL/Math
improvementsThe nonlinear solvers available in TFEL/Math
now have an
additional optional template argument which allows the user to control
how the data members of those solvers are defined. Those data members
generally include the residual (named fzeros
), the jacobian
matrix (named jacobian
), etc…
The main rationale behing this development is to better handle how those data members are allocated. By default, those data members are allocated on the stack. This strategy is well suited on CPUs but can lead to excessive usage of registers on GPUs.
The following workspace defines the data members used by the
TinyNewtonRaphsonSolverClass
as views into a pre-allocated
buffer:
template<unsigned short N, typename NumericType>
struct ExternallyAllocatedWorkspace{
(NumericType* const v)
ExternallyAllocatedWorkspace: fzeros(v), zeros(v + N), delta_zeros(v + 2 * N), jacobian(v + 3 * N){};
//! \brief residual vector
::math::View<tfel::math::tvector<N, NumericType>> fzeros;
tfel//! \brief current estimate of the unknowns
::math::View<tfel::math::tvector<N, NumericType>> zeros;
tfel//! \brief current correction
::math::View<tfel::math::tvector<N, NumericType>> delta_zeros;
tfel//! \brief jacobian matrix
::math::View<tfel::math::tmatrix<N, N, NumericType>> jacobian;
tfel};
Note
The use is responsible for properly allocating memory.
MFront
improvementsvalidator
DSL
optionThe validator
option allows to specify an project or an
institute which assumes assurance quality aspects related to an
MFront
file.
The validator
is defined as a DSL option for proper
support in the MFrontGallery
project.
The following example declares the validator on the command line:
$ mfront --obuild --interface=generic --dsl-option='validator:BGE Tech' Plasticity.mfront
The validator can also be defined in the the MFront
file:
@DSL Implicit{
: "BGE Tech"
validator}
mtest
files in case of integration
failureBy default, mtest
files are generated in the current
working directory. This can be inconvenient, in particular for the users
of the code_aster
solver, as this solver creates a
temporary directory to perform the calculations and erases this
directory at the end of the execution.
The MTEST_FILE_GENERATOR_OUTPUT_DIRECTORY
environment
variable specifies where to put the generated mtest
files.
For more details, see https://github.com/thelfer/tfel/issues/447.
This feature is described in Section 2.1.
For more details, see https://github.com/thelfer/tfel/issues/446.
mtest
files in case
of integration failureThis feature is described in Section 2.2.
For more details, see https://github.com/thelfer/tfel/issues/445.
This feature is described in depth in Section 1.1.
For more details, see https://github.com/thelfer/tfel/issues/436.
getMaterialKnowledgeIdentifier
and
getMaterial
to the OverridableImplementation
classThe getMaterialKnowledgeIdentifier
methods returns the
name given to the overridable implementation. Depending on the case,
this can be the name of the material property, the name of the behaviour
or the name of the model.
The getMaterial
method returns the name of the material
associated with the overridable implementation.
For more details, see https://github.com/thelfer/tfel/issues/428.
std::tie
with nvcc
For more details, see https://github.com/thelfer/tfel/issues/435.
When the evolution of the inner radius or the evolution of the outer radius is prescribed, integral tests on the inner pressure (InnerPressure`) can be set.
When the evolution of the axial growth is prescribed, integral tests
on the axial force (AxialForce
) can be set.
For more details, see https://github.com/thelfer/tfel/issues/427.
The @Test
keyword now supports the function
option, the syntax of which is similar to the @Test
keyword
of the mtest
scheme.
For example, the following line compares the value of the inner
pressure to the values of an evolution named
InnerPressureReferenceValues
:
@Test<function> 'InnerPressure' 'InnerPressureReferenceValues' 1e2;
For more details, see https://github.com/thelfer/tfel/issues/426.
mdnx
path where an OverridableImplementation
is writtenThe getDestinationPathInMadnexFile
returns the
mdnx
path where an OverridableImplementation
is written.
For more details, see https://github.com/thelfer/tfel/issues/425.
mdnx
fileFor more details, see https://github.com/thelfer/tfel/issues/424.
For more details, see https://github.com/thelfer/tfel/issues/422
TFEL
versionFor more details, see https://github.com/thelfer/tfel/issues/383.
CxxTokenizer
For more details, see https://github.com/thelfer/tfel/issues/369.
For more details, see https://github.com/thelfer/tfel/issues/362
@Profile
keyword in
PTest
For more details, see https://github.com/thelfer/tfel/issues/360.
For more details, see https://github.com/thelfer/tfel/issues/356.
MTest
filesFor more details, see https://github.com/thelfer/tfel/issues/353.