This module includes subroutines, to use different point distribution on the coupling interface, when using preCICE for the coupling. The point distribution can either be equidistant or non-equidistant. Beside that the Nearest-Projection (an interpolation method) can be used with both point distribution.
loop over linked list of spacetimefunction set the current to head loop over all shapes of that spacetimefunction check if there is a precice kind
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(tem_st_fun_linkedList_type), | intent(inout), | target | :: | stFunList |
This list contains all space-time-function |
|
type(tem_varSys_type), | intent(in) | :: | varSys |
Global variable system |
||
type(tem_time_type), | intent(in) | :: | time |
The current absolute time. |
||
type(treelmesh_type), | intent(in) | :: | tree |
treelm mesh |
loop over linked list of spacetimefunction set the current to head check if there is a precice kind loop over all shapes of that spacetimefunction
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(tem_st_fun_linkedList_type), | intent(inout), | target | :: | stFunList |
This list contains all space-time-function |
|
type(tem_varSys_type), | intent(in) | :: | varSys |
Global variable system |
||
type(treelmesh_type), | intent(in) | :: | tree |
treelm mesh |
||
type(atl_cube_elem_type), | intent(in) | :: | mesh_list(tree%global%minLevel:tree%global%maxLevel) |
loop over linked list of spacetimefunction set the current to head loop over all shapes of that spacetimefunction check if there is a precice kind get the number of unquie points ( xyz should be same number)
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(tem_st_fun_linkedList_type), | intent(inout), | target | :: | stFunList |
This list contains all space-time-function |
|
type(treelmesh_type), | intent(in) | :: | tree |
treelm mesh |
For a 2D testcase just the edges are of importance, in 3D also triangles have to be provided loop over all faces and edges. Set an offset, to get from one face to the other For a 3D testcase in addition to the edges triangles have to be created
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | nPointsPerDir | |||
integer, | intent(in) | :: | nPnts | |||
integer, | intent(in) | :: | nPointsPerFace | |||
integer, | intent(in) | :: | scheme_dim | |||
integer, | intent(in) | :: | iLevel | |||
type(tem_precice_coupling_type), | pointer | :: | preciceCpl |
ceate equidistant points for write to precice and use the number of these points for the setup_indices routine. If its set by the user, the Nearest-Pojection can be used for these points
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(tem_st_fun_listElem_type), | intent(inout), | target | :: | stFun |
This list contains space-time-function |
|
type(treelmesh_type), | intent(in) | :: | tree |
Mesh data in treelmesh format. |
||
type(atl_cube_elem_type), | intent(in) | :: | mesh_list(tree%global%minLevel:tree%global%maxLevel) | |||
type(tem_varSys_type), | intent(in) | :: | varSys | |||
type(tem_precice_coupling_type), | pointer | :: | preciceCpl |
This type contains all information, which are needed for the coupling with precice |
setup_indices for boundary variables are read_var in precice space-time function we are not able to use 'idx' created here as input for get_valOfIndex for write_vars.Therefore we have to do setup_indices for write_vars once during initialization and then store the idx in precice_coupling type. This is done for the non-equidistant points. We also set the vertices and the edges as well as the triangles for the Interpolation between the domains.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(tem_varSys_type), | intent(in) | :: | varSys |
Global variable system |
||
type(treelmesh_type), | intent(in) | :: | tree |
information about the mesh |
||
type(tem_st_fun_listElem_type), | intent(inout) | :: | stFun |
contains the elements in spacetime-function |
||
type(tem_precice_coupling_type), | pointer | :: | preciceCpl |