construct_hcf_base Function

private function construct_hcf_base(input, material_id) result(property)

Arguments

Type IntentOptional Attributes Name
type(type_input), intent(in) :: input
integer(kind=int32), intent(in) :: material_id

Return Value class(abst_hcf_base), allocatable


Calls

proc~~construct_hcf_base~~CallsGraph proc~construct_hcf_base construct_hcf_base interface~construct_type_hcf_base_bc construct_type_hcf_base_bc proc~construct_hcf_base->interface~construct_type_hcf_base_bc interface~construct_type_hcf_base_durner construct_type_hcf_base_durner proc~construct_hcf_base->interface~construct_type_hcf_base_durner interface~construct_type_hcf_base_dvgch construct_type_hcf_base_dvgch proc~construct_hcf_base->interface~construct_type_hcf_base_dvgch interface~construct_type_hcf_base_ko construct_type_hcf_base_ko proc~construct_hcf_base->interface~construct_type_hcf_base_ko interface~construct_type_hcf_base_mvg construct_type_hcf_base_mvg proc~construct_hcf_base->interface~construct_type_hcf_base_mvg interface~construct_type_hcf_base_vg construct_type_hcf_base_vg proc~construct_hcf_base->interface~construct_type_hcf_base_vg proc~construct_type_hcf_base_bc construct_type_hcf_base_bc interface~construct_type_hcf_base_bc->proc~construct_type_hcf_base_bc proc~construct_type_hcf_base_durner construct_type_hcf_base_durner interface~construct_type_hcf_base_durner->proc~construct_type_hcf_base_durner proc~construct_type_hcf_base_dvgch construct_type_hcf_base_dvgch interface~construct_type_hcf_base_dvgch->proc~construct_type_hcf_base_dvgch proc~construct_type_hcf_base_ko construct_type_hcf_base_ko interface~construct_type_hcf_base_ko->proc~construct_type_hcf_base_ko proc~construct_type_hcf_base_mvg construct_type_hcf_base_mvg interface~construct_type_hcf_base_mvg->proc~construct_type_hcf_base_mvg proc~construct_type_hcf_base_vg construct_type_hcf_base_vg interface~construct_type_hcf_base_vg->proc~construct_type_hcf_base_vg

Called by

proc~~construct_hcf_base~~CalledByGraph proc~construct_hcf_base construct_hcf_base proc~create_type_hcf_base create_type_hcf_base proc~create_type_hcf_base->proc~construct_hcf_base proc~create_type_hcf_base_impedance create_type_hcf_base_impedance proc~create_type_hcf_base_impedance->proc~construct_hcf_base proc~create_type_hcf_base_impedance_viscosity create_type_hcf_base_impedance_viscosity proc~create_type_hcf_base_impedance_viscosity->proc~construct_hcf_base proc~create_type_hcf_base_viscosity create_type_hcf_base_viscosity proc~create_type_hcf_base_viscosity->proc~construct_hcf_base proc~initialize_holder_hcfs initialize_holder_hcfs proc~initialize_holder_hcfs->proc~create_type_hcf_base proc~initialize_holder_hcfs->proc~create_type_hcf_base_impedance proc~initialize_holder_hcfs->proc~create_type_hcf_base_impedance_viscosity proc~initialize_holder_hcfs->proc~create_type_hcf_base_viscosity interface~initialize_holder_hcfs holder_hcfs%initialize_holder_hcfs interface~initialize_holder_hcfs->proc~initialize_holder_hcfs

Source Code

    function construct_hcf_base(input, material_id) result(property)
        implicit none
        type(type_input), intent(in) :: input
        integer(int32), intent(in) :: material_id
        class(abst_hcf_base), allocatable :: property

        select case (input%basic%materials(material_id)%hydraulic%hcf%model_number)
        case (1)
            property = construct_type_hcf_base_bc(alpha1=input%basic%materials(material_id)%hydraulic%hcf%alpha1, &
                                                  n1=input%basic%materials(material_id)%hydraulic%hcf%n1, &
                                                  l=input%basic%materials(material_id)%hydraulic%hcf%l)
        case (2)
            property = construct_type_hcf_base_vg(alpha1=input%basic%materials(material_id)%hydraulic%hcf%alpha1, &
                                                  n1=input%basic%materials(material_id)%hydraulic%hcf%n1, &
                                                  l=input%basic%materials(material_id)%hydraulic%hcf%l)
        case (3)
            property = construct_type_hcf_base_ko(alpha1=input%basic%materials(material_id)%hydraulic%hcf%alpha1, &
                                                  n1=input%basic%materials(material_id)%hydraulic%hcf%n1, &
                                                  l=input%basic%materials(material_id)%hydraulic%hcf%l)
        case (4)
            property = construct_type_hcf_base_mvg(theta_s=input%basic%materials(material_id)%hydraulic%hcf%theta_s, &
                                                   theta_r=input%basic%materials(material_id)%hydraulic%hcf%theta_r, &
                                                   alpha1=input%basic%materials(material_id)%hydraulic%hcf%alpha1, &
                                                   n1=input%basic%materials(material_id)%hydraulic%hcf%n1, &
                                                   l=input%basic%materials(material_id)%hydraulic%hcf%l, &
                                                   h_crit=input%basic%materials(material_id)%hydraulic%hcf%h_crit)
        case (5)
            property = construct_type_hcf_base_durner(alpha1=input%basic%materials(material_id)%hydraulic%hcf%alpha1, &
                                                      n1=input%basic%materials(material_id)%hydraulic%hcf%n1, &
                                                      w1=input%basic%materials(material_id)%hydraulic%hcf%w1, &
                                                      alpha2=input%basic%materials(material_id)%hydraulic%hcf%alpha2, &
                                                      n2=input%basic%materials(material_id)%hydraulic%hcf%n2, &
                                                      l=input%basic%materials(material_id)%hydraulic%hcf%l)
        case (6)
            property = construct_type_hcf_base_dvgch(alpha1=input%basic%materials(material_id)%hydraulic%hcf%alpha1, &
                                                     n1=input%basic%materials(material_id)%hydraulic%hcf%n1, &
                                                     w1=input%basic%materials(material_id)%hydraulic%hcf%w1, &
                                                     n2=input%basic%materials(material_id)%hydraulic%hcf%n2, &
                                                     l=input%basic%materials(material_id)%hydraulic%hcf%l)
        end select

    end function construct_hcf_base