Module providing datatypes and routines for a fast transformation of Legendre expansion to point values.
This function provides the test for equality of two projections.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(ply_prj_init_type), | intent(in) | :: | left | projection to compare |
||
type(ply_prj_init_type), | intent(in) | :: | right | projection to compare against |
is equal??
This function provides the test for unequality of two projections.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(ply_prj_init_type), | intent(in) | :: | left | projection to compare |
||
type(ply_prj_init_type), | intent(in) | :: | right | projection to compare against |
is unequal??
This function provides a < comparison of two projections.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(ply_prj_init_type), | intent(in) | :: | left | projection to compare |
||
type(ply_prj_init_type), | intent(in) | :: | right | projection to compare against |
is smaller??
This function provides a <= comparison of two projections.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(ply_prj_init_type), | intent(in) | :: | left | projection to compare |
||
type(ply_prj_init_type), | intent(in) | :: | right | projection to compare against |
is smaller??
This function provides a > comparison of two projections.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(ply_prj_init_type), | intent(in) | :: | left | projection to compare |
||
type(ply_prj_init_type), | intent(in) | :: | right | projection to compare against |
is greater??
This function provides a >= comparison of two projections.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(ply_prj_init_type), | intent(in) | :: | left | projection to compare |
||
type(ply_prj_init_type), | intent(in) | :: | right | projection to compare against |
is greater??
initialize the dynamic array
initialization of a dynamic array
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dyn_projectionarray_type), | intent(out) | :: | me | |||
integer, | intent(in), | optional | :: | length |
append a value to the dynamic array and return its position.
appending a value to the dynamic array
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dyn_projectionarray_type) | :: | me | ||||
type(ply_prj_init_type), | intent(in) | :: | val | |||
integer, | intent(in), | optional | :: | length | optional length to expand the array |
|
integer, | intent(out), | optional | :: | pos | position in the array, if the value is found |
|
logical, | intent(out), | optional | :: | wasadded | flag to indicate, if val was newly added |
appending a sorted list of values to the dynamic array
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dyn_projectionarray_type) | :: | me | ||||
type(ply_prj_init_type), | intent(in) | :: | val(:) | |||
integer, | intent(in), | optional | :: | length | optional length to expand the array |
|
integer, | intent(out), | optional | :: | pos(:) | position in the array, the values are found at. |
|
logical, | intent(out), | optional | :: | wasadded(:) | flag to indicate, if val was newly added |
truncate the array, meaning cut off the trailing empty entries
truncate the array after the last valid entry and hence cut off the empty trailing empty entries
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dyn_projectionarray_type) | :: | me |
empty the array, reset nvals to be 0
empty all contents of the array without changing the size or status of any array
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dyn_projectionarray_type) | :: | me |
fix the dynamic array, meaning: store the array in the sorted order and cut off the trailing empty entries
fixing the dynamic array
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dyn_projectionarray_type) | :: | me |
return the position of a given value in the array val, which is what you usually want to know. it is the index of a given value
the actual position of a given value in the dynamic array
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dyn_projectionarray_type), | intent(in) | :: | me | |||
type(ply_prj_init_type), | intent(in) | :: | val | |||
logical, | intent(in), | optional | :: | nextifnotfound | flag to indicate, if the position of the next entry in the sorted list should be returned instead, if val is not found. |
|
integer, | intent(in), | optional | :: | lower | ||
integer, | intent(in), | optional | :: | upper |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(ply_prj_init_type), | intent(out) | :: | left | fpt to copy to |
||
type(ply_prj_init_type), | intent(in) | :: | right | fpt to copy from |
destroy the dynamic array
destruction of a dynamic array
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dyn_projectionarray_type), | intent(inout) | :: | me |
increase the size of the container for the array.
expanding the dynamic array
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dyn_projectionarray_type) | :: | me | ||||
integer, | optional | :: | increment | |||
integer, | intent(in), | optional | :: | length | optional length to expand the array |
return the position of a given value in the list 'sorted'. this is mainly for internal usage. the sorted list is only a pointer list to the actual values thus, in order to get the index of a given value, you need to look up the entry in the sorted list. this is done by the positionofval routine
return the sorted position of a value in the given dynamic array
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dyn_projectionarray_type), | intent(in) | :: | me | |||
type(ply_prj_init_type), | intent(in) | :: | val | |||
logical, | intent(in), | optional | :: | nextifnotfound | flag to indicate, if the next entry in the list should be returned, if the searched one is not found. |
|
integer, | intent(in), | optional | :: | lower | ||
integer, | intent(in), | optional | :: | upper |
Projection definition.
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
integer, | private | :: | basisType | Polynomial basis type. |
|||
integer, | private | :: | maxPolyDegree | The maximal polynomial degree per spatial direction. |
|||
type(ply_prj_header_type), | private | :: | header | projection header consits of general information like which kind of projection is used |
dynamic array (da) type for type(ply_prj_init_type)
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
integer, | private | :: | nvals | = | 0 | ||
integer, | private | :: | containersize | = | 0 | ||
type(ply_prj_init_type), | private, | allocatable | :: | val(:) | |||
integer, | private, | allocatable | :: | sorted(:) |
return the sorted position of a value in the given dynamic array
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dyn_projectionarray_type), | intent(in) | :: | me | |||
type(ply_prj_init_type), | intent(in) | :: | val | |||
logical, | intent(in), | optional | :: | nextifnotfound | flag to indicate, if the next entry in the list should be returned, if the searched one is not found. |
|
integer, | intent(in), | optional | :: | lower | ||
integer, | intent(in), | optional | :: | upper |
the actual position of a given value in the dynamic array
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dyn_projectionarray_type), | intent(in) | :: | me | |||
type(ply_prj_init_type), | intent(in) | :: | val | |||
logical, | intent(in), | optional | :: | nextifnotfound | flag to indicate, if the position of the next entry in the sorted list should be returned instead, if val is not found. |
|
integer, | intent(in), | optional | :: | lower | ||
integer, | intent(in), | optional | :: | upper |
This function provides the test for equality of two projections.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(ply_prj_init_type), | intent(in) | :: | left | projection to compare |
||
type(ply_prj_init_type), | intent(in) | :: | right | projection to compare against |
is equal??
This function provides the test for unequality of two projections.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(ply_prj_init_type), | intent(in) | :: | left | projection to compare |
||
type(ply_prj_init_type), | intent(in) | :: | right | projection to compare against |
is unequal??
This function provides a < comparison of two projections.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(ply_prj_init_type), | intent(in) | :: | left | projection to compare |
||
type(ply_prj_init_type), | intent(in) | :: | right | projection to compare against |
is smaller??
This function provides a <= comparison of two projections.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(ply_prj_init_type), | intent(in) | :: | left | projection to compare |
||
type(ply_prj_init_type), | intent(in) | :: | right | projection to compare against |
is smaller??
This function provides a > comparison of two projections.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(ply_prj_init_type), | intent(in) | :: | left | projection to compare |
||
type(ply_prj_init_type), | intent(in) | :: | right | projection to compare against |
is greater??
This function provides a >= comparison of two projections.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(ply_prj_init_type), | intent(in) | :: | left | projection to compare |
||
type(ply_prj_init_type), | intent(in) | :: | right | projection to compare against |
is greater??
Define a projection, without filling its body.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(ply_prj_init_type), | intent(inout) | :: | me | |||
type(ply_prj_header_type), | intent(in) | :: | header | |||
integer, | intent(in) | :: | maxPolyDegree | |||
integer, | intent(in) | :: | basisType |
Load settings to describe a projection method from a Lua table.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(inout) | :: | proj_pos | |||
type(dyn_projectionarray_type), | intent(inout) | :: | dyn_projectionArray | |||
integer, | intent(in) | :: | basisType | |||
integer, | intent(in) | :: | maxPolyDegree | |||
type(flu_State), | intent(in) | :: | conf | |||
integer, | intent(in) | :: | parent |
initialization of a dynamic array
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dyn_projectionarray_type), | intent(out) | :: | me | |||
integer, | intent(in), | optional | :: | length |
destruction of a dynamic array
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dyn_projectionarray_type), | intent(inout) | :: | me |
appending a value to the dynamic array
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dyn_projectionarray_type) | :: | me | ||||
type(ply_prj_init_type), | intent(in) | :: | val | |||
integer, | intent(in), | optional | :: | length | optional length to expand the array |
|
integer, | intent(out), | optional | :: | pos | position in the array, if the value is found |
|
logical, | intent(out), | optional | :: | wasadded | flag to indicate, if val was newly added |
appending a sorted list of values to the dynamic array
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dyn_projectionarray_type) | :: | me | ||||
type(ply_prj_init_type), | intent(in) | :: | val(:) | |||
integer, | intent(in), | optional | :: | length | optional length to expand the array |
|
integer, | intent(out), | optional | :: | pos(:) | position in the array, the values are found at. |
|
logical, | intent(out), | optional | :: | wasadded(:) | flag to indicate, if val was newly added |
truncate the array after the last valid entry and hence cut off the empty trailing empty entries
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dyn_projectionarray_type) | :: | me |
empty all contents of the array without changing the size or status of any array
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dyn_projectionarray_type) | :: | me |
fixing the dynamic array
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dyn_projectionarray_type) | :: | me |
expanding the dynamic array
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dyn_projectionarray_type) | :: | me | ||||
integer, | optional | :: | increment | |||
integer, | intent(in), | optional | :: | length | optional length to expand the array |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(ply_prj_init_type), | intent(out) | :: | left | fpt to copy to |
||
type(ply_prj_init_type), | intent(in) | :: | right | fpt to copy from |