[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [TRNSYS-users] if elseif else statement in equations



Jan,

Yes it is possible but before you go down that route it’s important to understand if your variable T is impacted by the result of X.  If T is the ambient temperature for example then X doesn’t affect it and you can use equations.  If T is the temperature in a piping network and X is the flow rate then using equations will likely cause convergence errors and you are better off using differential controllers.

But if we assume that T isn’t affected by X then we simply use Boolean equations 

X1 = LT(T,5)
X2 = GE(T,5)*LT(T,15)
X3 = GE(T,15)
X = X1*1 + X2*2 + X3*3

Jeff 

Sent from my iPhone

On Apr 7, 2022, at 7:00 AM, Böttner, Jan via TRNSYS-users <trnsys-users@lists.onebuilding.org> wrote:



Hey everyone,

 

i found this entry about implementing if else statements: http://lists.onebuilding.org/pipermail/trnsys-users-onebuilding.org/2013-February/024732.html

I’m wondering if ist possible to extend this to an if elseif else statement.

I want the output X to be X=1 if the temperature is t<5, X=2 for t>=5.and.t<15 and X=3 for t>=15.

 

I tried this, but it’s wrong and doesnt work:
X = GT(T,GT(T,15)*S+(1-GT(T,15))*U)*U+(1-GT(T,5))*W with S=3,U=2and W=1.

 

If anyone knows a solution i’d appreciate it.

 

Best regards
Jan

_______________________________________________
TRNSYS-users mailing list
TRNSYS-users@lists.onebuilding.org
http://lists.onebuilding.org/listinfo.cgi/trnsys-users-onebuilding.org