Type for the fpt header, stores all information needed to initialize the fpt method later on

## Components

TypeVisibilityAttributesNameInitial
real(kind=rk), private :: factor =1.0_rk

In case of nonlinear equations, aliasing occurs if the projections of the nonlinear terms on the testfunctions are not calculated accurately enough. To avoid these errors it is possible to extend the transformation vectors of the FPT with zeros. This factor determines by how many zeros the modal vector is extended before transformation. This factor has to be chosen properly with respect of the type of nonlinearity of your equation.

integer, private :: blocksize =ply_fpt_default_blocksize

The blockisze of the fast bases exchange algorithm from Legendre to Chebyshev polynomials. A negative number indicates to use the default blocksize of the algorithm.

integer, private :: approx_terms =ply_fpt_default_approx_terms

The number of approximation terms to use for blocks apart from the diagonal.

This defaults to 18, which is recommended for double precision.

integer, private :: implementation

The implementation variant to use for the transformation computation.

The computation can be done either by a 'vector' implementation or by a 'scalar' implementation. We indicate the respective implementations by the integers ply_fpt_scalar or ply_fpt_vector.

integer, private :: striplen =vlen

The striplen, that should be used for vectorized simultaneous computations of the matrix operation.

This defaults to the vlen from the TEM_compileconf_module, it might be set differently here, as we are dealing with a twodimensional problem here, and the optimal setting might be different from the code parts.

integer, private :: subblockingWidth =ply_fpt_default_subblockingWidth

The width of the subblocks used during the unrolled base exchange to ensure a better cache usage.

The default is a subblocking width of 8.