Release notes of Version 1.1

Documentation

Doxygen documentation

The doxygen documentation is available on this page.

New features

Projection of a grid function to a partial quadrature function

The update function allows projecting a grid function to a partial quadrature function.

\(L_{2}\) projection of a partial quadrature function to a grid function

The \(L_{2}\) projection \(\bar{f}\) of a scalar quadrature function \(f\) is obtained by minimizing the following functional:

\[\int_{\Omega} \left(\bar{f}-f\right)^{2}\,\mathrm{d}\,V\]

where \(\Omega\) is the domain on which f is defined.

For a set of quadrature functions, the projection is computed on the union of the domains of the quadrature functions.

For vectorial functions, the projection is computed component-wise.

The computeL2Projection function allows projecting a set of quadrature functions on nodes by minimizing the \(L_{2}\) norm of the difference of the projection and the values of the quadrature functions.

The computeL2Projection internally function calls successively the functions createL2ProjectionResult and updateL2Projection. Those functions can be used directly if the projection has to be performed several times.

Implicit gradient regularization

For a scalar function \(f\), the implicit gradient regularization \(\bar{f}\) is defined as the solution of:

\[\bar{f}-l_{c}^{2}\cdot\Delta\bar{f}=f\]

where \(l_{c}\) is a characteristic length.

See [PDBBDV96] for details.

For a vectorial function, the implicit gradient regularization is computed component-wise.

The computeImplicitGradientRegularization function allows projecting a set of quadrature functions on nodes by solving the previous equation.

The computeImplicitGradientRegularization function internally calls successively the functions createL2Projection and updateImplicitGradientRegularization. Those functions can be used directly if the projection has to be performed several times.

Application programming interface

New functions and methods

  • getUnknownsAsGridFunction has been added to NonLinearEvolutionProblemImplementation<true> and NonLinearEvolutionProblemImplementation<false>. See Issue 168 for details.

  • The update allows to update the values for a PartialQuadratureFunction from the values of a GridFunction. See Issue 169 for details.

Deprecated functions and methods

  • getUnknownsAtTheBeginningOfTheTimeStep and getUnknownsAtTheEndOfTheTimeStep are deprecated in favor of getUnknowns in AbstractNonLinearEvolutionProblem, NonLinearEvolutionProblem, and NonLinearEvolutionProblemImplementationBase.

Issues fixed

  • Issue 178: Deployment of the doxygen documentation

  • Issue 176: Modify MFEMMGISConfig.cmake.in to define TFEL_DIR and MFrontGenericInterface_DIR using by default the values passed to cmake at the configuration stage

  • Issue 175: Update tests/README.md

  • Issue 169: Add the ability to project a GridFunction to a PartialQuadratureFunction.

  • Issue 168: Add helper methods to wrap the unknowns of a non linear evolution problem as GridFunction.

  • Issue 167: Allow tensorial external state variables

  • Issue 162: Change the API of LinearSolverFactory

  • Issue 159: [fix] upgradeGridFunction seems wrong for grid functions defined on a SubMesh  Status: Closed (completed).

  • Issue 152: [post-processing] Add support for projecting ip fields at nodes using L2 projection