apply Subroutine

private subroutine apply(self, initial_target, domain, variable)

Type Bound

type_ic

Arguments

Type IntentOptional Attributes Name
class(type_ic), intent(in) :: self
character(len=*), intent(in) :: initial_target
type(type_domain), intent(in) :: domain
type(type_variable), intent(inout) :: variable

Calls

proc~~apply~~CallsGraph proc~apply type_ic%apply apply apply proc~apply->apply

Called by

proc~~apply~~CalledByGraph proc~apply type_ic%apply proc~initialize_type_ftdss type_ftdss%initialize_type_ftdss proc~initialize_type_ftdss->proc~apply

Source Code

    subroutine apply(self, initial_target, domain, variable)
        class(type_ic), intent(in) :: self
        character(*), intent(in) :: initial_target
        type(type_domain), intent(in) :: domain
        type(type_variable), intent(inout) :: variable

        select case (trim(adjustl(initial_target)))
        case ("thermal")
            if (allocated(self%T)) then
                call self%t%apply(domain, variable)
            end if
        case ("hydraulic")
            if (allocated(self%H)) then
                call self%h%apply(domain, variable)
            end if
        case ("porosity")
            if (allocated(self%P)) then
                call self%p%apply(domain, variable)
            end if
        case default
            ! Error or no action
        end select
    end subroutine apply