Split three-dimensional elements of degree parent_degree into eight elements with polynomials of degree child_degree.

Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|

integer, | intent(in) | :: | parent_degree | Polynomial degree in the parent element. |
||

integer, | intent(in) | :: | child_degree | Polynomial degree in the child elements. |
||

real(kind=rk), | intent(in) | :: | parent_data(:,:) | Polynomial data in the parent element. The first index describes the degrees of freedom. The second index refers to the elements to split. |
||

real(kind=rk), | intent(out) | :: | child_data(:,:) | Polynomial data in the child elements. The first index describes the degrees of freedom. The second index refers to the elements, there needs to be four times as many elements than in the parent_data. Elements follow the ordering of the Z space filling curve. |
||

logical, | intent(in), | optional | :: | ignore_highmodes | Whether to ignore high modes from the parent element. This can be used as a simple lowpass filter by ignoring all higher modes from the parent element, that exceed the target polynomial degree. Thus, the polynomials are filtered before projection, instead of cutting them only of after refinement. Defaults to false (no filtering). |

Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|

real(kind=rk), | private, | allocatable | :: | ysplit(:,:) | |||

real(kind=rk), | private, | allocatable | :: | zsplit(:,:) | |||

logical, | private | :: | ignore | ||||

integer, | private | :: | pardofs | ||||

integer, | private | :: | childdofs |