get_den_ptr Subroutine

private subroutine get_den_ptr(self, region_id, den_ptr)

Type Bound

type_material_manager

Arguments

Type IntentOptional Attributes Name
class(type_material_manager), intent(inout), target :: self
integer(kind=int32), intent(in) :: region_id
class(abst_den), intent(inout), pointer :: den_ptr

Called by

proc~~get_den_ptr~~CalledByGraph proc~get_den_ptr type_material_manager%get_den_ptr none~get_den type_material_manager%get_den none~get_den->proc~get_den_ptr proc~calculate_heat_capacity_holder calculate_heat_capacity_holder proc~calculate_heat_capacity_holder->none~get_den proc~calculate_heat_capacity_ptr calculate_heat_capacity_ptr proc~calculate_heat_capacity_ptr->none~get_den proc~calculate_water_content_holder calculate_water_content_holder proc~calculate_water_content_holder->none~get_den proc~calculate_water_content_ptr calculate_water_content_ptr proc~calculate_water_content_ptr->none~get_den

Source Code

    subroutine get_den_ptr(self, region_id, den_ptr)
        class(type_material_manager), intent(inout), target :: self
        integer(int32), intent(in) :: region_id
        class(abst_den), intent(inout), pointer :: den_ptr
        integer(int32) :: model_index

        model_index = self%region_id_map(region_id)

        if (model_index == 0) then
            print *, "Error: Invalid region_id in get_den_ptr:", region_id
            nullify (den_ptr)
            call exit(-1)
        end if

        den_ptr => self%den(model_index)%p

    end subroutine get_den_ptr