This UTEST is to test variable system. load variables and access state and derive quantities from c pointer methoddata
| Type | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|
| type(tem_varSys_type) | :: | varSys | ||||
| procedure(tem_varSys_proc_point), | pointer | :: | get_point | => | NULL() | |
| procedure(tem_varSys_proc_element), | pointer | :: | get_element | => | NULL() | |
| procedure(tem_varSys_proc_setParams), | pointer | :: | set_params | => | null() | |
| procedure(tem_varSys_proc_getParams), | pointer | :: | get_params | => | null() | |
| procedure(tem_varSys_proc_setupIndices), | pointer | :: | setup_indices | => | null() | |
| procedure(tem_varSys_proc_getValOfIndex), | pointer | :: | get_valOfIndex | => | null() | |
| type(solver_type), | target | :: | solver | |||
| integer | :: | addedPos | ||||
| integer | :: | statePos | ||||
| integer | :: | densityPos | ||||
| integer | :: | iElem | ||||
| integer | :: | iComp | ||||
| integer | :: | iDof | ||||
| integer | :: | elem_offset | ||||
| integer | :: | comp_offset | ||||
| integer | :: | nElems_track | ||||
| integer, | allocatable | :: | elemPos(:) | |||
| logical | :: | wasAdded | ||||
| real(kind=rk), | allocatable | :: | res(:) | |||
| character(len=labelLen), | allocatable | :: | input_varname(:) |
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| integer, | public | :: | nComps | ||||
| integer, | public | :: | nDofs | ||||
| real(kind=rk), | public, | allocatable | :: | state(:) | |||
| type(treelmesh_type), | public | :: | tree | ||||
| type(tem_BC_prop_type), | public | :: | boundary | ||||
| type(tem_general_type), | public | :: | general |
access state variables
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(tem_varSys_op_type), | intent(in) | :: | fun | Description of the method to obtain the variables, here some preset values might be stored, like the space time function to use or the required variables. |
||
| type(tem_varSys_type), | intent(in) | :: | varSys | The variable system to obtain the variable from. |
||
| integer, | intent(in) | :: | elempos(:) | TreeID of the element to get the variable for. |
||
| type(tem_time_type), | intent(in) | :: | time | Point in time at which to evaluate the variable. |
||
| type(treelmesh_type), | intent(in) | :: | tree | global treelm mesh info |
||
| integer, | intent(in) | :: | n | Number of values to obtain for this variable (vectorized access). |
||
| integer, | intent(in) | :: | nDofs | Number of degrees of freedom within an element. |
||
| real(kind=rk), | intent(out) | :: | res(:) | Resulting values for the requested variable. The first dimension are the n requested entries and the second dimension are the components of this variable. Third dimension are the degrees of freedom. |
derive density variables
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(tem_varSys_op_type), | intent(in) | :: | fun | Description of the method to obtain the variables, here some preset values might be stored, like the space time function to use or the required variables. |
||
| type(tem_varSys_type), | intent(in) | :: | varSys | The variable system to obtain the variable from. |
||
| integer, | intent(in) | :: | elempos(:) | TreeID of the element to get the variable for. |
||
| type(tem_time_type), | intent(in) | :: | time | Point in time at which to evaluate the variable. |
||
| type(treelmesh_type), | intent(in) | :: | tree | global treelm mesh info |
||
| integer, | intent(in) | :: | n | Number of values to obtain for this variable (vectorized access). |
||
| integer, | intent(in) | :: | nDofs | Number of degrees of freedom within an element. |
||
| real(kind=rk), | intent(out) | :: | res(:) | Resulting values for the requested variable. The first dimension are the n requested entries and the second dimension are the components of this variable. Third dimension are the degrees of freedom. |