term_generator_abstract_procedures Submodule

Contains procedures associated with the abstract TermGenerator class



Module Functions

pure module function getNumImplicitTerms(this) result(numTerms)

Get size of this%implicitTerms

Arguments

Type IntentOptional Attributes Name
class(TermGenerator), intent(in) :: this

Return Value integer(kind=ik)

pure module function getNumGeneralTerms(this) result(numTerms)

Get size of this%generalTerms

Arguments

Type IntentOptional Attributes Name
class(TermGenerator), intent(in) :: this

Return Value integer(kind=ik)


Module Subroutines

module subroutine setImplicitTerms(this, impTerms)

Move allocation of impTerms to this%implicitTerms

Arguments

Type IntentOptional Attributes Name
class(TermGenerator), intent(inout) :: this
type(MatTermContainer), intent(inout), allocatable, dimension(:) :: impTerms

module subroutine setGeneralTerms(this, genTerms)

Move allocation of genTerms to this%generalTerms

Arguments

Type IntentOptional Attributes Name
class(TermGenerator), intent(inout) :: this
type(TermContainer), intent(inout), allocatable, dimension(:) :: genTerms

module subroutine setGeneratorPrefix(this, prefix)

Set prefix for added term names

Arguments

Type IntentOptional Attributes Name
class(TermGenerator), intent(inout) :: this
character(len=*), intent(in) :: prefix

module subroutine moveTerms(this, modelObj, impTermImpGroups, impTermGenGroups, genTermGroups)

Move terms to modelObj

Arguments

Type IntentOptional Attributes Name
class(TermGenerator), intent(inout) :: this
class(Model), intent(inout) :: modelObj
type(IntArray), intent(in), optional, dimension(:) :: impTermImpGroups
type(IntArray), intent(in), optional, dimension(:) :: impTermGenGroups
type(IntArray), intent(in), optional, dimension(:) :: genTermGroups