evaluate Interface

public interface evaluate

Public interface for various routines that evaluate mathematical expressions.


Contents


Module Procedures

private impure subroutine evaluate_scalar_value(expression, value)

This subroutine takes a scalar mathematical expression as input, and returns the value.

Read more…

Arguments

Type IntentOptional AttributesName
character(len=*), intent(in) :: expression

Scalar-valued mathematical expression

real(kind=wp), intent(out) :: value

Result of parsing the expression

private impure subroutine evaluate_scalar_field(expression, domain, value)

This subroutine takes a scalar mathematical function of some variable 'z' as input, along with an array with discrete values for that variable 'z'. It parses the provided function, evaluates it at each 'z'-value in the array, and then returns the discretized scalar field.

Read more…

Arguments

Type IntentOptional AttributesName
character(len=*), intent(in) :: expression

Scalar-valued function of position 'z'

real(kind=wp), intent(in), dimension(:):: domain

Domain of the independent variable 'z'

real(kind=wp), dimension(:), allocatable:: value

Result of evaluating the field at each point of the domain

private impure subroutine evaluate_vector_value(expression, value)

This subroutine takes a vector mathematical expression as input, and returns the value.

Read more…

Arguments

Type IntentOptional AttributesName
character(len=*), intent(in) :: expression

Vector-valued mathematical expression

real(kind=wp), intent(out), dimension(3):: value

Result of parsing the expression

private impure subroutine evaluate_vector_field(expression, domain, value)

This subroutine takes a vector mathematical function of some variable 'z' as input, along with an array with discrete values for that variable 'z'. It parses the provided function, evaluates it at each 'z'-value in the array, and then returns the discretized scalar field.

Read more…

Arguments

Type IntentOptional AttributesName
character(len=*), intent(in) :: expression

Vector-valued function of position 'z'

real(kind=wp), intent(in), dimension(:):: domain

Domain of the independent variable 'z'

real(kind=wp), dimension(:,:), allocatable:: value

Result of evaluating the field at each point of the domain

private impure subroutine evaluate_logical_value(expression, value)

This subroutine takes a scalar logical expression as input, and returns the value.

Read more…

Arguments

Type IntentOptional AttributesName
character(len=*), intent(in) :: expression

Either the character 'T' or 'F'

logical, intent(out) :: value

Result of parsing the expression

private impure subroutine evaluate_integer_value(expression, value)

This subroutine takes a scalar integer expression as input, and returns the value.

Read more…

Arguments

Type IntentOptional AttributesName
character(len=*), intent(in) :: expression

String containing an integer

integer, intent(out) :: value

Result of parsing the expression