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{
const v)
ExternallyAllocatedWorkspace(NumericType* 2 * N), jacobian(v + 3 * N){};
: fzeros(v), zeros(v + N), delta_zeros(v + //! \brief residual vector
tfel::math::View<tfel::math::tvector<N, NumericType>> fzeros;//! \brief current estimate of the unknowns
tfel::math::View<tfel::math::tvector<N, NumericType>> zeros;//! \brief current correction
tfel::math::View<tfel::math::tvector<N, NumericType>> delta_zeros;//! \brief jacobian matrix
tfel::math::View<tfel::math::tmatrix<N, N, NumericType>> jacobian; };
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.