My Project
programmer's documentation
Functions/Subroutines
pptssc.f90 File Reference

This subroutine defines the source terms for scalars which are part of specific physics models. Source terms are defined over one time step. More...

Functions/Subroutines

subroutine pptssc (iscal, smbrs, rovsdt, tslagr)
 

Detailed Description

This subroutine defines the source terms for scalars which are part of specific physics models. Source terms are defined over one time step.

This subroutine defines the source terms for vectors which are part of specific physics models. Source terms are defined over one time step.

Warning: source terms are treated differently from the way they are in ustssc. rovsdt*d(var) = smbrs is solved. rovsdt and smbrs already hold possible user source terms values and thus have to be incremented (and not overwritten).

For stability reasons, only positive terms are added to rovsdt, while there are no such constrains on values to be added to smbrs.

In the case of a source term of the form cexp + cimp*var, the source term should be implemented as follows:

\[ smbrs = smbrs + cexp + cimp*var \]

\[ rovsdt = rovsdt + max(-cimp,0) \]

rovsdt and smbrs are provided here respectively in kg/s and in kg/s*[scalar]. Examples: velocity $ kg m/s^2 $ temperature $ kg K/s $ enthalpy $ J/s $

Warning: source terms are treated differently from the way they are in ustsvv. fimp*d(var) = smbrv is solved. rovsdt and smbrs already hold possible user source terms values and thus have to be incremented (and not overwritten).

For stability reasons, only positive terms are added to rovsdt, while there are no such constrains on values to be added to smbrs.

In the case of a source term of the form cexp + cimp*var, the source term should be implemented as follows:

\[ smbrv(i) = smbrv(i) + cexp(i) + \sum_j cimp(i,j)*var(j) \]

\[ fimp(i,j) = fimp(i,j) + max(-cimp(i,j),0) \]

rovsdt and smbrs are provided here respectively in kg/s and in kg/s*[scalar]. Examples: velocity $ kg m/s^2 $ temperature $ kg K/s $ enthalpy $ J/s $

Function/Subroutine Documentation

◆ pptssc()

subroutine pptssc ( integer  iscal,
double precision, dimension(ncelet)  smbrs,
double precision, dimension(ncelet)  rovsdt,
double precision, dimension(ncelet,*)  tslagr 
)
Parameters
[in]iscalscalar number
[in,out]smbrsexplicit source term part
[in,out]rovsdtimplicite source term part
[in]tslagrcoupling term for the Lagrangian module