
Houses abstract TermGenerator object, used to automatically generate and add terms to models
Get size of this%implicitTerms
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(TermGenerator), | intent(in) | :: | this |
Get size of this%generalTerms
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(TermGenerator), | intent(in) | :: | this |
Get size of this%generalTerms
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(TermGenerator), | intent(in) | :: | this |
Move allocation of impTerms to this%implicitTerms
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(TermGenerator), | intent(inout) | :: | this | |||
| type(MatTermContainer), | intent(inout), | allocatable, dimension(:) | :: | impTerms |
Move allocation of genTerms to this%generalTerms
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(TermGenerator), | intent(inout) | :: | this | |||
| type(TermContainer), | intent(inout), | allocatable, dimension(:) | :: | genTerms |
Set prefix for added term names
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(TermGenerator), | intent(inout) | :: | this | |||
| character(len=*), | intent(in) | :: | prefix |
Move terms to modelObj
| Type | Intent | Optional | 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 |
Abstract routine for generating terms
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(TermGenerator), | intent(inout) | :: | this | |||
| class(ModelboundData), | intent(in), | optional | :: | mbData |
Container object for term generators
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| class(TermGenerator), | public, | allocatable | :: | entry |
Abstract TermGenerator object, responsible for automatic generation of terms
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| logical, | public | :: | userDefined | = | .false. |
True only if user explicitly sets it to true |
|
| type(MatTermContainer), | private, | allocatable, dimension(:) | :: | implicitTerms | |||
| type(TermContainer), | private, | allocatable, dimension(:) | :: | generalTerms | |||
| character(len=:), | private, | allocatable | :: | generatorPrefix |
| procedure, public :: isDefined => isDefinedObject | |
| procedure, public :: makeDefined => makeDefinedObject | |
| procedure, public :: makeUndefined => makeUndefinedObject | |
| procedure, public :: setImplicitTerms | |
| procedure, public :: setGeneralTerms | |
| procedure, public :: setGeneratorPrefix | |
| procedure, public :: getNumImplicitTerms | |
| procedure, public :: getNumGeneralTerms | |
| procedure, public :: getGeneratorPrefix | |
| procedure, public :: moveTerms | |
| procedure(generateTerms), public, deferred :: generate |