custom_model_builder_procedures Submodule

Contains procedures associated with the CustomModelBuilder class


Uses


Functions

function countImplicitTerms(termJSONPrefix, termTags, env) result(res)

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: termJSONPrefix
type(StringArray), intent(in), dimension(:) :: termTags
class(EnvironmentWrapper), intent(inout) :: env

Return Value integer(kind=ik)


Subroutines

subroutine addMatrixTermToModel(this, termJSONPrefix, termTag, env, normObject, mbData)

Adds individual matrix term to model buffer based on JSON file data

Arguments

Type IntentOptional Attributes Name
class(CustomModelBuilder), intent(inout) :: this
character(len=*), intent(in) :: termJSONPrefix
character(len=*), intent(in) :: termTag
class(EnvironmentWrapper), intent(inout) :: env
class(Normalization), intent(in) :: normObject
class(ModelboundData), intent(in), optional :: mbData

subroutine addDerivationTermToModel(this, termJSONPrefix, termTag, env, normObject, mbData)

Adds individual derivation term to model buffer based on JSON file data

Arguments

Type IntentOptional Attributes Name
class(CustomModelBuilder), intent(inout) :: this
character(len=*), intent(in) :: termJSONPrefix
character(len=*), intent(in) :: termTag
class(EnvironmentWrapper), intent(inout) :: env
class(Normalization), intent(in) :: normObject
class(ModelboundData), intent(in), optional :: mbData

Module Subroutines

module subroutine initCustomBuilder(this, env, normObject, modelTag)

Constructs the model for this builder and sets it into defined state

Read more…

Arguments

Type IntentOptional Attributes Name
class(CustomModelBuilder), intent(inout) :: this
class(EnvironmentWrapper), intent(inout) :: env
class(Normalization), intent(in) :: normObject

Reference normalization object

character(len=*), intent(in) :: modelTag

Tag of this model

module subroutine addCustomModel(this, modellerObj)

Adds the model built by the builder and resets the builder to become undefined for further use

Arguments

Type IntentOptional Attributes Name
class(CustomModelBuilder), intent(inout) :: this
class(Modeller), intent(inout) :: modellerObj

module subroutine addTermToModel(this, termJSONPrefix, termTag, env, normObject, mbData)

Adds individual term to model buffer based on JSON file data

Arguments

Type IntentOptional Attributes Name
class(CustomModelBuilder), intent(inout) :: this
character(len=*), intent(in) :: termJSONPrefix
character(len=*), intent(in) :: termTag
class(EnvironmentWrapper), intent(inout) :: env
class(Normalization), intent(in) :: normObject
class(ModelboundData), intent(in), optional :: mbData

module subroutine applyTermGenerator(this, env, normObject, modelTag, currentNumTerms, mbData)

Checks for associated term generator in JSON file and applies to custom model

Arguments

Type IntentOptional Attributes Name
class(CustomModelBuilder), intent(inout) :: this
class(EnvironmentWrapper), intent(inout) :: env
class(Normalization), intent(in) :: normObject

Reference normalization object

character(len=*), intent(in) :: modelTag

Tag of this model

integer(kind=ik), intent(in) :: currentNumTerms
class(ModelboundData), intent(in), optional :: mbData