Module that defines the concept of a grid function and the interface of the associated routines.
The implementation is found in submodule_grid_function_implementation.f90.
The constructor for a real data type grid function.
The constructor for a complex data type grid function.
The constructor for an integer data type boundary grid function.
The constructor for a real data type boundary grid function.
The constructor for a complex data type boundary grid function.
The interface for a constructor for a real data type grid function.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer(kind=ip), | intent(in) | :: | n | The number of elements in this grid function. |
||
integer(kind=ip), | intent(in) | :: | order | The order of the elements in this grid function. |
||
character(len=*), | intent(in) | :: | var_name | The name to be assigned to this grid function. |
The return type has to be of type rgf.
The interface for a constructor for a complex data type grid function.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer(kind=ip), | intent(in) | :: | n | The number of elements in this grid function. |
||
integer(kind=ip), | intent(in) | :: | order | The order of the elements in this grid function. |
||
character(len=*), | intent(in) | :: | var_name | The name to be assigned to this grid function. |
The return type has to be of type cgf.
The interface for a constructor for an integer data type boundary grid function.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer(kind=ip), | intent(in) | :: | n | The number of elements. |
||
character(len=*), | intent(in) | :: | var_name | The name of the object. |
The object to construct.
The interface for a constructor for a real data type boundary grid function.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer(kind=ip), | intent(in) | :: | n | The number of elements. |
||
character(len=*), | intent(in) | :: | var_name | The name of the object. |
The object to construct.
The interface for a constructor for a complex data type boundary grid function.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer(kind=ip), | intent(in) | :: | n | The number of elements. |
||
character(len=*), | intent(in) | :: | var_name | The name of the object. |
The object to construct.
The interface for an output routine for a real data type grid function.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rgf), | intent(inout) | :: | this | Has to be called with an rgf class. |
||
type(rgf), | intent(in) | :: | coord | A real grid function that contains the coordinates. |
The interface for a finalize for a real data type grid function.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(rgf) | :: | this | Has to be called with an rgf class. |
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. |
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. |
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. |
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. |
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. |
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. |
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. |
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. |
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. |
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. |
The interface for a finalizer for a complex data type grid function.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(cgf) | :: | this | The object to finalize |
The interface for an output routine for an integer data type boundary grid function.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(igfb), | intent(inout) | :: | this | The routine is called on this object. |
||
type(rgf), | intent(in) | :: | coord | A real grid function that contains the coordinates. |
The interface for a finalizer for an integer data type boundary grid function.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(igfb) | :: | this | The object to finalize. |
The interface for an output routine for a real data type boundary grid function.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rgfb), | intent(inout) | :: | this | The routine is called on this object. |
||
type(rgf), | intent(in) | :: | coord | A real grid function that contains the coordinates. |
The interface for a finalizer for a real data type boundary grid function.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(rgfb) | :: | this | The object to finalize. |
The interface for an output routine for a complex data type boundary grid function.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(cgfb), | intent(inout) | :: | this | The routine is called on this object. |
||
type(rgf), | intent(in) | :: | coord | A real grid function that contains the coordinates. |
The interface for a finalizer for a complex data type boundary grid function.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(cgfb) | :: | this | The object to finalize. |
An 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. |
A real data instance of the abstract grid function class. Note this is not complete, as it has not been needed for evolution yet.
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_rdata), | public, | dimension(:), allocatable | :: | elems | A 1d array of the real element data class. |
The constructor for a real data type grid function.
public interface init_rgf() |
final :: deallocate_rgf | The finalizer. |
procedure, public, non_overridable :: output => output_rgf | Generic type bound procedure for output. |
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. |
The constructor for a complex data type grid function.
public interface init_cgf() |
final :: deallocate_cgf | The finalizer. |
procedure, public, non_overridable :: output => output_cgf | Generic type bound procedure for output. |
procedure, public, non_overridable :: copy => copy_cgf | Generic type bound procedure for copying the data from one complex grid function to another. |
procedure, public, non_overridable :: zero => zero_cgf | Generic type bound procedure for setting a complex grid function to zero. |
procedure, public, non_overridable :: mult_sc => mult_sc_cgf | Generic type bound procedure for multplying a complex grid function with a real scalar. |
procedure, public, 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, public, 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, public, 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, public, 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, public, 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, public, 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. |
An abstract class of a pointer to a grid function.
A real data type instance of a pointer to a grid function class.
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
class(rgf), | public, | pointer | :: | p | The pointer to a real grid function. |
A complex data type instance of a pointer to a grid function class.
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
class(cgf), | public, | pointer | :: | p | The pointer to a complex grid function. |
An abstract class of a grid function of element boundary data.
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
integer(kind=ip), | public | :: | n | The number of elements in the grid function. |
|||
character(len=:), | public, | allocatable | :: | vname | The name of the boundary data. |
||
integer(kind=ip), | public | :: | iob_id | The file unit used for output of this object. |
An integer data type instance of a boundary grid funcion class.
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
integer(kind=ip), | public | :: | n | The number of elements in the grid function. |
|||
character(len=:), | public, | allocatable | :: | vname | The name of the boundary data. |
||
integer(kind=ip), | public | :: | iob_id | The file unit used for output of this object. |
|||
type(element_boundary_idata), | public, | dimension(:), allocatable | :: | elems | A 1d array of element_boundary_idata type. |
The constructor for an integer data type boundary grid function.
public interface init_igfb() |
final :: deallocate_igfb | The finalizer. |
procedure, public, non_overridable :: output => output_igfb | Generic type bound procedure for output. |
A real data type instance of a boundary grid funcion class.
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
integer(kind=ip), | public | :: | n | The number of elements in the grid function. |
|||
character(len=:), | public, | allocatable | :: | vname | The name of the boundary data. |
||
integer(kind=ip), | public | :: | iob_id | The file unit used for output of this object. |
|||
type(element_boundary_rdata), | public, | dimension(:), allocatable | :: | elems | A 1d array of element_boundary_rdata type. |
The constructor for a real data type boundary grid function.
public interface init_rgfb() |
final :: deallocate_rgfb | The finalizer. |
procedure, public, non_overridable :: output => output_rgfb | Generic type bound procedure for output. |
A complex data type instance of a boundary grid funcion class.
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
integer(kind=ip), | public | :: | n | The number of elements in the grid function. |
|||
character(len=:), | public, | allocatable | :: | vname | The name of the boundary data. |
||
integer(kind=ip), | public | :: | iob_id | The file unit used for output of this object. |
|||
type(element_boundary_cdata), | public, | dimension(:), allocatable | :: | elems | A 1d array of element_boundary_cdata type. |
The constructor for a complex data type boundary grid function.
public interface init_cgfb() |
final :: deallocate_cgfb | The finalizer. |
procedure, public, non_overridable :: output => output_cgfb | Generic type bound procedure for output. |