links_junction_update Subroutine

public subroutine links_junction_update(me, dt)

Called by Reims for during implicit step. It updates Matrix with new values from port

Arguments

Type IntentOptional Attributes Name
type(junction_t), intent(inout) :: me
real(kind=dp), intent(in) :: dt

Called by

proc~~links_junction_update~~CalledByGraph proc~links_junction_update links_junction_update proc~main_loop main_loop proc~main_loop->proc~links_junction_update program~reims_p reims_p program~reims_p->proc~main_loop

Source Code

subroutine links_junction_update(me,dt)
    !! Called by Reims for during implicit step. It updates `Matrix` with new values from port
    type(junction_t), intent(inout) :: me
    real(dp), intent(in) :: dt

    real(dp) :: VarNCCenter
    integer :: j

    do j=1,me%NbTotBr ! loop required due to the pointer array: me%br
        VarNCCenter = 0.0_dp
        if(R_Correction) VarNCCenter = me%br(j)%p%Prim(Pri_ro) * me%br(j)%p%Prim(Pri_c)**2
        me%Matrix(:,:,:,j) = me%br(j)%p%Sgn4j * (dt/me%br(j)%p%dxLoc) * me%DerFlx_dBr(:,:,:,j)
        me%Matrix(:,Con_R,:,j) = me%Matrix(:,Con_R,:,j) + &
                me%br(j)%p%Sgn4j * (dt/me%br(j)%p%dxLoc) * VarNCCenter * me%DerVel_dBr(:,:,j)
        me%Matrix(:,:,j,j) = 0.0_dp
    enddo
end subroutine links_junction_update