initialize_type_ic Subroutine

private subroutine initialize_type_ic(self, input)

Type Bound

type_ic

Arguments

Type IntentOptional Attributes Name
class(type_ic), intent(inout) :: self
type(type_input), intent(in) :: input

Calls

proc~~initialize_type_ic~~CallsGraph proc~initialize_type_ic type_ic%initialize_type_ic initialize initialize proc~initialize_type_ic->initialize

Source Code

    subroutine initialize_type_ic(self, input)
        implicit none
        class(type_ic), intent(inout) :: self
        type(type_input), intent(in) :: input

        if (input%basic%analysis_controls%calculate_thermal) then
            select case (trim(adjustl(input%conditions%initial_conditions%thermal%type)))
            case ("uniform")
                allocate (type_ic_uniform :: self%t)
            case ("laplace")
                allocate (type_ic_laplace :: self%t)
            case ("file")
                !     allocate (IC_File :: self%T)
            end select
            call self%t%initialize(input, 'thermal')
        end if

        if (input%basic%analysis_controls%calculate_hydraulic) then
            select case (trim(adjustl(input%conditions%initial_conditions%hydraulic%type)))
            case ("uniform")
                allocate (type_ic_uniform :: self%h)
            case ("laplace")
                allocate (type_ic_laplace :: self%h)
            case ("file")
                !     allocate (IC_File :: self%T)
            end select
            call self%t%initialize(input, 'hydraulic')
        end if

        select case (trim(adjustl(input%conditions%initial_conditions%porosity%type)))
        case ("uniform")
            allocate (type_ic_uniform :: self%p)
        case ("laplace")
            allocate (type_ic_laplace :: self%p)
        case ("file")
            !     allocate (IC_File :: self%T)
        end select
        call self%p%initialize(input, 'porosity')

    end subroutine initialize_type_ic