subroutine source_term_definition_channel(me,sim)
type(channel_t), intent(inout) :: me
type(simulation_t), intent(in) :: sim
real(dp) :: QorT(me%HeProp%NbCells)
integer :: i
if(sim%explicit) then
me%big%bmx=0.0_dp; me%big%bvx=0.0_dp
do i=1,me%HeProp%NbCells
me%big%bmx(1:Nb_VarC,1:Nb_VarC,i)=id_4x4(:,:)
enddo
endif
if(me%HeProp%ExtHeating=='flux' .or. me%HeProp%ExtHeating=='temp') QorT=me%HeProp%Temp_or_Q_Wall%v1d()
do i=1,me%HeProp%NbCells
! Adding of source term contributions
call SourceTerms_NOTfriction_channel(me,i,QorT(i))
me%big%bmx(1:Nb_VarC,Con_Qdm,i)=me%big%bmx(1:Nb_VarC,Con_Qdm,i)-sim%dt*(me%srcPP%DerSu(:,i))
me%big%bmx(1:Nb_VarC,Con_Ene,i)=me%big%bmx(1:Nb_VarC,Con_Ene,i)-sim%dt*(me%srcPP%DerSe(:))
me%big%bmx(1:Nb_VarC,Con_R,i)=me%big%bmx(1:Nb_VarC,Con_R,i)-sim%dt*(me%srcPP%DerSr(:,i))
me%big%bvx(Con_Qdm,i)=me%big%bvx(Con_Qdm,i)+sim%dt*(me%srcPP%Su(i))
me%big%bvx(Con_Ene,i)=me%big%bvx(Con_Ene,i)+sim%dt*(me%srcPP%Se)
me%big%bvx(Con_R,i)=me%big%bvx(Con_R,i)+sim%dt*(me%srcPP%Sr(i))
enddo
end subroutine source_term_definition_channel