| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(in) | :: | DeflectionStandard | |||
| real(kind=r64), | intent(in) | :: | W | |||
| real(kind=r64), | intent(in) | :: | H | |||
| integer, | intent(in) | :: | nlayer | |||
| real(kind=r64), | intent(in) | :: | Pa | |||
| real(kind=r64), | intent(in) | :: | Pini | |||
| real(kind=r64), | intent(in) | :: | Tini | |||
| real(kind=r64), | intent(in), | dimension(maxlay) | :: | PaneThickness | ||
| real(kind=r64), | intent(in), | dimension(MaxGap) | :: | NonDeflectedGapWidth | ||
| real(kind=r64), | intent(inout), | dimension(MaxGap) | :: | DeflectedGapWidthMax | ||
| real(kind=r64), | intent(out), | dimension(MaxGap) | :: | DeflectedGapWidthMean | ||
| real(kind=r64), | intent(in), | dimension(maxlay2) | :: | PanelTemps | ||
| real(kind=r64), | intent(in), | dimension(maxlay) | :: | YoungsMod | ||
| real(kind=r64), | intent(in), | dimension(maxlay) | :: | PoissonsRat | ||
| real(kind=r64), | intent(inout), | dimension(maxlay) | :: | LayerDeflection | ||
| integer, | intent(inout) | :: | nperr | |||
| character(len=*), | intent(inout) | :: | ErrorMessage | 
Nodes of different colours represent the following:
Solid arrows point from a procedure to one which it calls. Dashed arrows point from an interface to procedures which implement that interface. This could include the module procedures in a generic interface or the implementation in a submodule of an interface in a parent module. Where possible, edges connecting nodes are given different colours to make them easier to distinguish in large graphs.
Nodes of different colours represent the following:
Solid arrows point from a procedure to one which it calls. Dashed arrows point from an interface to procedures which implement that interface. This could include the module procedures in a generic interface or the implementation in a submodule of an interface in a parent module. Where possible, edges connecting nodes are given different colours to make them easier to distinguish in large graphs.
  subroutine PanesDeflection(DeflectionStandard, W, H, nlayer, Pa, Pini, Tini, PaneThickness, NonDeflectedGapWidth, &
                          DeflectedGapWidthMax, DeflectedGapWidthMean, PanelTemps, YoungsMod, PoissonsRat, LayerDeflection, &
                          nperr, ErrorMessage)
    !***********************************************************************
    ! PanesDeflection - calculates deflection of panes and recalculate gap
    !                   widths at maximal point of deflection
    !***********************************************************************
    !INPUT
    integer, intent(in) :: DeflectionStandard
    integer, intent(in) :: nlayer
    real(r64), intent(in) :: W, H
    real(r64), dimension(maxlay2), intent(in) :: PanelTemps
    real(r64), dimension(MaxGap), intent(in) :: NonDeflectedGapWidth
    real(r64), dimension(maxlay), intent(in) :: PaneThickness
    real(r64), dimension(maxlay), intent(in) :: YoungsMod, PoissonsRat
    real(r64), intent(in) :: Pa, Pini, Tini
    !OUTPUT
    real(r64), dimension(maxlay), intent(inout) :: LayerDeflection !Objexx:ArgIN Changed IN to INOUT: Arg used and modified
    real(r64), dimension(MaxGap), intent(inout) :: DeflectedGapWidthMax
    real(r64), dimension(MaxGap), intent(out) :: DeflectedGapWidthMean
    integer, intent(inout) :: nperr
    character(len=*), intent(inout) :: ErrorMessage
    !Localy used
    real(r64), dimension(maxlay) :: DCoeff
    integer :: i
    i = 0
    ! first calculate D coefficients since that will be necessary for any of selected standards
    do i = 1, nlayer
      DCoeff(i) = YoungsMod(i) * PaneThickness(i)**3.0d0 / (12 * (1 - PoissonsRat(i)**2.0d0))
    end do
    select case (DeflectionStandard)
      case (NO_DEFLECTION_CALCULATION)
        return
      case (DEFLECTION_CALC_TEMPERATURE)
        call DeflectionTemperatures(nlayer, W, H, Pa, Pini, Tini, NonDeflectedGapWidth, DeflectedGapWidthMax, &
                               DeflectedGapWidthMean, PanelTemps, DCoeff, LayerDeflection, nperr, ErrorMessage)
      case (DEFLECTION_CALC_GAP_WIDTHS)
        call DeflectionWidths(nlayer, W, H, DCoeff, NonDeflectedGapWidth, DeflectedGapWidthMax, DeflectedGapWidthMean, &
                               LayerDeflection)
      case default
        return
    end select
    return
  end subroutine PanesDeflection