Configuring the projection (modal to nodal transformation)
Ateles uses the Legendre polynomial basis to represent the solution in the
DG elements. For nonlinear operations this incurs the necessity to transform
this representation into nodal values, such that a pointwise evaluation can
be performed for those nonlinear operations.
The method to be used for this projection between the two representations is
configured in the projection
table.
There is a general projection method to be configured according to the described in ply_poly_project_module and in addition individual projection parameters can be defined for various tasks. These override the general parameters for those tasks.
The general parameters will be used for all tasks for which no specific projection definitions are provided and are the ones that will be used in the main computational operations.
For the following tasks individual projection definitions can be provided
within the projection
table (each needs to be a table describing the
projection method, as layed out in ply_poly_project_module):
source_terms
: evaluation of source termsboundary_condition
: evaluation of boundary conditioninitial_condition
: evaluation of initial conditionmaterial
: evaluation of material parametersThe projection definition for ateles could for example look like this:
projection = {
kind = 'fpt',
factor = 1.5,
initial_condition = {
kind = 'fpt',
factor = 3
}
}
Please refer to the ply_poly_project_module for details on the configuration of the projection method.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | minLevel | |||
integer, | intent(in) | :: | maxLevel | |||
type(atl_Equations_type), | intent(in) | :: | equation | |||
integer, | intent(inout) | :: | poly_proj_pos(minlevel:maxLevel) | |||
type(dyn_projectionarray_type), | intent(inout) | :: | dynprojectArray | |||
type(flu_State), | intent(in) | :: | conf | |||
type(atl_scheme_type), | intent(in) | :: | scheme_list(minlevel:maxLevel) | |||
integer, | intent(inout) | :: | source_projPos(minlevel:maxLevel) |
The levelwise positions of the projections that has to be used for the sources |
||
type(atl_level_boundary_type), | intent(inout) | :: | boundary_list(minlevel:maxLevel) | |||
type(atl_level_boundary_type), | intent(inout) | :: | boundary_list_stab(minlevel:maxLevel) | |||
integer, | intent(inout), | allocatable | :: | ic_pos_list(:) | ||
type(atl_material_type), | intent(inout) | :: | material_list(minlevel:maxLevel) |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(inout) | :: | poly_proj_pos(minlevel:maxLevel) | |||
type(dyn_projectionarray_type), | intent(inout) | :: | dynprojectArray | |||
integer, | intent(in) | :: | minLevel | |||
integer, | intent(in) | :: | maxLevel | |||
type(atl_scheme_type), | intent(in) | :: | scheme_list(minlevel:maxLevel) | |||
type(flu_State), | intent(in) | :: | conf | |||
integer, | intent(in) | :: | parent |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | minLevel | |||
integer, | intent(in) | :: | maxLevel | |||
character(len=*), | intent(in) | :: | subkey | |||
integer, | intent(out) | :: | proj_pos(minlevel:maxlevel) | |||
type(dyn_projectionarray_type), | intent(inout) | :: | dynprojectArray | |||
integer, | intent(in) | :: | general_pos_list(minLevel:maxLevel) | |||
type(flu_State), | intent(in) | :: | conf | |||
type(atl_scheme_type), | intent(in) | :: | scheme_list(minlevel:maxLevel) | |||
integer, | intent(in) | :: | parent |