Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
logical, | public | :: | isActive | = | .false. |
Is subsampling active |
|
integer, | public | :: | sampling_lvl |
The current sampling lvl. |
|||
integer, | public | :: | caplevel | = | 20 |
Maximal Level down to which subsampling should be done. |
|
integer, | public | :: | minsub | = | 0 |
Minimal subsampling depth: |
|
integer, | public | :: | maxsub | = | 0 |
Maximal subsampling depth: |
|
real(kind=rk), | public | :: | eps_osci |
Maximum allowed oscillation of the solution. For adaptive subsampling only. |
|||
real(kind=rk), | public | :: | dofReducFactor |
Factor for the reduction of the degrees of freedom in one subsampling step (per spatial direction). |
|||
logical, | public | :: | adaptiveDofReduction |
Indicator for limitation of total memory consumption |
|||
integer, | public | :: | AbsUpperBoundLevel |
Absolute upper bound level to refine to. |
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
real(kind=rk), | public, | allocatable | :: | dat(:) |
Coefficients from the recursive formulation of legendre polynomials. L_n = alpha * x * L_n-1 + beta * L_n-2
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | mode |
The current mode in the polynomial representation. |
Alpha coefficient from the recursive formulation of legendre polynomials.
Coefficients from the recursive formulation of legendre polynomials. L_n = alpha * x * L_n-1 + beta * L_n-2
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | mode |
The current mode in the polynomial representation. |
Beta coefficient from the recursive formulation of legendre polynomials.
Quotient of two alpha values.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | denominator |
Denominator |
||
integer, | intent(in) | :: | numerator |
Numerator |
The quotient of two alpha values.
Prodcut of alpha(numerator) * beta(denominator) / alpha(denominator)
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | denominator |
Denominator |
||
integer, | intent(in) | :: | numerator |
Numerator |
The product of alpha(n) * beta(d) / alpha(d)
Projection of polynomial data from parent elements to child elements. The projection is done by a direct transformation of the modal coeffiecients to another coordinate system with z=ax+b.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(ply_subsample_type), | intent(in) | :: | subsamp |
Parameters for the subsampling |
||
real(kind=rk), | intent(in) | :: | dofReduction(:) |
Factor for reduction of degrees of freedom. |
||
type(treelmesh_type), | intent(in) | :: | mesh |
The mesh related to meshData. |
||
type(ply_array_type), | intent(in) | :: | meshData(:) |
The data for subsampling. |
||
integer, | intent(in) | :: | varDofs(:) |
The number of degrees of freedom for every variable. |
||
integer, | intent(in) | :: | varComps(:) |
The number of components for every variable. |
||
integer, | intent(in) | :: | ndims |
Number of dimensions in the polynomial representation. |
||
logical, | intent(in) | :: | refine_tree(:) |
Logical array that marks elements for refinement of the previous sampling level. |
||
logical, | intent(in) | :: | new_refine_tree(:) |
Logical array that marks elements for refinement. |
||
type(ply_array_type), | intent(out), | allocatable | :: | newMeshData(:) |
The subsampled data for new_refine_tree. |
|
integer, | intent(out), | allocatable | :: | newVarDofs(:) |
The number of dofs for the subsampled data. |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(treelmesh_type), | intent(in) | :: | mesh |
The mesh for the data. |
||
real(kind=rk), | intent(in) | :: | meshData(:) |
The data to subsample |
||
integer, | intent(in) | :: | nDofs |
The number of degrees of freedom. |
||
integer, | intent(in) | :: | nChildDofs |
The number of degrees of freedom for the child elements. |
||
integer, | intent(in) | :: | nComponents |
Number of Components. |
||
logical, | intent(in) | :: | refine_tree(:) |
Logical array that marks all elements for refinement for the previous sampling level. |
||
logical, | intent(in) | :: | new_refine_tree(:) |
Logical array that marks all elements for refinement for the current sampling level. |
||
integer, | intent(in) | :: | nDims |
The number of dimensions in the polynomial representation. |
||
type(ply_subsample_type), | intent(in) | :: | subsamp |
Parameters for subsampling. |
||
real(kind=rk), | intent(out), | allocatable | :: | newMeshData(:) |
The subsampled Data. |
Subroutine to project element data from a parent cell to its children.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=rk), | intent(in) | :: | parentData(:) |
The polynomial data for a single parent element. |
||
integer, | intent(in) | :: | nParentDofs |
The number of dofs of the parent element. |
||
integer, | intent(in) | :: | nChildDofs |
The total number of dofs for the child cells. |
||
integer, | intent(in) | :: | nComponents |
The number of componentns for the given variable. |
||
integer, | intent(in) | :: | nDimensions |
The number of dimensions. |
||
integer, | intent(in) | :: | nChilds |
The number of child elements. |
||
real(kind=rk), | intent(in) | :: | transform_matrix(:,:) |
The transformation matrix for the linear coordinate transformation. |
||
real(kind=rk), | intent(out), | allocatable | :: | childData(:) |
The new data representation for all child cell of the parent cell. |
Compute the transformation matrix for a projection to the left and right half-interval of Legendre polynomials for the given maximal number of modes.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | max_modes |
The maximal number of modes to compute the transformation for. |
||
real(kind=rk), | intent(out), | allocatable | :: | v(:,:) |
The transformation matrix. |