A complex data instance of the abstract grid function class.
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
integer(kind=ip), | public | :: | n | The number of elements. |
|||
character(len=:), | public, | allocatable | :: | vname | The name of the grid function. |
||
integer(kind=ip), | public | :: | io_id | The file unit used for output of this grid function. |
|||
type(element_cdata), | public, | dimension(:), allocatable | :: | elems | A 1d array of the complex element data class. |
Generic type bound procedure for output.
The interface for an output routine for a complex data type grid function.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(cgf), | intent(inout) | :: | this | Has to be called with an cgf class. |
||
type(rgf), | intent(in) | :: | coord | A real grid function that contains the coordinates. |
Generic type bound procedure for copying the data from one complex grid function to another.
The interface for a procedure for copying the data from one complex grid function to another.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(cgf), | intent(inout) | :: | this | The routine is called on this object. |
||
class(cgf), | intent(in) | :: | gf | The grid function to copy. |
Generic type bound procedure for setting a complex grid function to zero.
The interface for a procedure for setting a complex grid function to zero.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(cgf), | intent(inout) | :: | this | The routine is called on this object. |
Generic type bound procedure for multplying a complex grid function with a real scalar.
The interface for a procedure for multplying a complex grid function with a real scalar.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(cgf), | intent(inout) | :: | this | The routine is called on this object. |
||
real(kind=wp), | intent(in) | :: | scalar | The scalar to multiply with. |
Generic type bound procedure for multplying a complex grid function with a real scalar and storing the result in another complex grid function.
The interface for a procedure for multplying a complex grid function with a real scalar and storing the result in another complex grid function.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(cgf), | intent(inout) | :: | this | The routine is called on this object. |
||
real(kind=wp), | intent(in) | :: | scalar | The scalar to multiply with. |
||
class(cgf), | intent(in) | :: | gf | The grid function to multiply with. |
Generic type bound procedure for adding 2 complex grid functions together and storing the result in the first one.
The interface for a procedure for adding 2 complex grid functions together and storing the result in the first one.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(cgf), | intent(inout) | :: | this | The routine is called on this object. |
||
class(cgf), | intent(in) | :: | gf | The grid function to add. |
Generic type bound procedure adding together a grid function and a scalar multiplying another grid function and storing the result in the first one.
The interface for a procedure adding together a grid function and a scalar multiplying another grid function and storing the result in the first one.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(cgf), | intent(inout) | :: | this | The routine is called on this object. |
||
real(kind=wp), | intent(in) | :: | scalar | The scalar to multiply with. |
||
class(cgf), | intent(in) | :: | gf | The second grid function. |
Generic type bound procedure for adding together a scalar multiplying a grid function with another scalar multiplying another grid function and storing the result in the first one.
The interface for a procedure for adding together a scalar multiplying a grid function with another scalar multiplying another grid function and storing the result in the first one.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(cgf), | intent(inout) | :: | this | The routine is called on this object. |
||
real(kind=wp), | intent(in) | :: | scalar1 | The first scalar. |
||
real(kind=wp), | intent(in) | :: | scalar2 | The second scalar. |
||
class(cgf), | intent(in) | :: | gf | The second grid function. |
Generic type bound procedure for storing the result of adding a second grid function with a scalar multiplying a third grid function in a grid function.
The interface for a procedure for storing the result of adding a second grid function with a scalar multiplying a third grid function in a grid function.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(cgf), | intent(inout) | :: | this | The routine is called on this object. |
||
class(cgf), | intent(in) | :: | gf1 | The second grid function. |
||
real(kind=wp), | intent(in) | :: | scalar | The scalar. |
||
class(cgf), | intent(in) | :: | gf2 | The third grid function. |
Generic type bound procedure for storing the result of adding a scalar multiplying a second grid function with another scalar multiplying a third grid function in a grid function.
The interface for a procedure for storing the result of adding a scalar multiplying a second grid function with another scalar multiplying a third grid function in a grid function.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(cgf), | intent(inout) | :: | this | The routine is called on this object. |
||
class(cgf), | intent(in) | :: | gf1 | The second grid function. |
||
real(kind=wp), | intent(in) | :: | scalar1 | The first scalar. |
||
class(cgf), | intent(in) | :: | gf2 | The third grid function. |
||
real(kind=wp), | intent(in) | :: | scalar2 | The second scalar. |
type, extends(gf) :: cgf
!! A complex data instance of the abstract grid function class.
type(element_cdata), dimension(:), allocatable :: elems
!! A 1d array of the complex element data class.
contains
procedure, non_overridable :: output => output_cgf
!! Generic type bound procedure for output.
procedure, non_overridable :: copy => copy_cgf
!! Generic type bound procedure for copying the data from one complex
!! grid function to another.
procedure, non_overridable :: zero => zero_cgf
!! Generic type bound procedure for setting a complex grid function
!! to zero.
procedure, non_overridable :: mult_sc => mult_sc_cgf
!! Generic type bound procedure for multplying a complex grid function
!! with a real scalar.
procedure, non_overridable :: sc_mult_gf => sc_mult_gf_cgf
!! Generic type bound procedure for multplying a complex grid function
!! with a real scalar and storing the result in another complex
!! grid function.
procedure, non_overridable :: add_gf => add_gf_cgf
!! Generic type bound procedure for adding 2 complex grid functions
!! together and storing the result in the first one.
procedure, non_overridable :: add_sc_mult_gf => add_sc_mult_gf_cgf
!! Generic type bound procedure adding together a grid function and
!! a scalar multiplying another grid function and storing the result
!! in the first one.
procedure, non_overridable :: mult_sc_add_sc_mult_gf => mult_sc_add_sc_mult_gf_cgf
!! Generic type bound procedure for adding together a scalar multiplying
!! a grid function with another scalar multiplying another grid function
!! and storing the result in the first one.
procedure, non_overridable :: gf1_plus_sc_mult_gf2 => gf1_plus_sc_mult_gf2_cgf
!! Generic type bound procedure for storing the result of adding a
!! second grid function with a scalar multiplying a third grid function
!! in a grid function.
procedure, non_overridable :: sc_mult_gf1_plus_sc_mult_gf2 => sc_mult_gf1_plus_sc_mult_gf2_cgf
!! Generic type bound procedure for storing the result of adding a
!! scalar multiplying a second grid function with another scalar
!! multiplying a third grid function in a grid function.
final :: deallocate_cgf
!! The finalizer.
end type cgf