Além de uma condição simples colocada em uma única variável, uma cláusula de condição de controle também pode conter uma expressão aritmética formada por várias variáveis cujo valor é comparado. Assim, o formato de uma cláusula de condição pode ser estendido da seguinte forma:
EXPRESSION relation value
Ou:
EXPRESSION relation variable
Onde a expressão é definida em uma linha separada antes de seu primeiro uso em uma regra usando o formato:
EXPRESSION name = f(variable1, variable2, ...)
A função f(...) pode ser qualquer expressão matemática bem formada contendo uma ou mais variáveis nomeadas, bem como qualquer uma das seguintes funções matemáticas (que não diferenciam maiúsculas de minúsculas) e operadores:
Aqui está um exemplo de uso desse recurso:
VARIABLE P1_flow = LINK 1 FLOW VARIABLE P2_flow = LINK 2 FLOW VARIABLE O3_flow = Link 3 FLOW EXPRESSION Net_Inflow = (P1_flow + P2_flow)/2 - O3_flow EXPRESSION Test = asin(sin(P1_flow) + sin(P2_flow)))/2 - O3_flow RULE 1 IF Net_Inflow > 0.1 THEN ORIFICE 3 SETTING = 1 ELSE ORIFICE 3 SETTING = 0.5
No SOLIDOS (comando SWMMCONTROLS), as expressões são criadas no quadro abaixo:
Veja também: Regras Controles do SWMM