[TRNSYS-users] pb while creating a type
Jeff Thornton
thornton at tess-inc.com
Thu Sep 27 09:12:33 PDT 2012
Try one thing before you do more debugging; tighten up your simulation tolerances or make sure your model is set such that it is called at least once every time step. Ive seen this before and it's usually due to the small change in the input not triggering the type to be put on the "call" list. You can also TRACE the model to see if it's being called every time.
Jeff
On Sep 27, 2012, at 8:27 AM, ewen raballand <ewen.raballand at gmail.com> wrote:
> Dear users,
>
> I'm writing a user Type for trnsys and I' facing a problem.
> Xe is an input of the type (outside relative humidity).
> Xsouffl is an output and can be equal to 0 or to Xe while another condition is equal to 0.
>
> Here, the condition is equal to 0 and Xsouffl should be equal to Xe or to 0 which is fast the case...
> You can see in the table below, a move back of one time step between the value of Xe and the value of Xsouffl. And sometimes the move back disapears. I didn't found any rules and I don't know where this problem could come from.
>
>
> TIME
>
> Xsouffl c
>
> Xe
>
> 1
>
> 0
>
> 0.00625815
>
> 2
>
> 0
>
> 0.00617362
>
> 3
>
> 0
>
> 0.0061206
>
> 4
>
> 0
>
> 0.00613734
>
> 5
>
> 0
>
> 0.00612341
>
> 6
>
> 0
>
> 0.00606683
>
> 7
>
> 0
>
> 0.00607641
>
> 8
>
> 0
>
> 0.00612489
>
> 9
>
> 0.00612489
>
> 0.00612833
>
> 10
>
> 0.0063213
>
> 0.0063213
>
> 11
>
> 0.0064191
>
> 0.0064191
>
> 12
>
> 0.0064191
>
> 0.00654528
>
> 13
>
> 0.00654528
>
> 0.0066564
>
> 14
>
> 0.0066564
>
> 0.00674369
>
> 15
>
> 0.00674369
>
> 0.00669912
>
> 16
>
> 0.00669912
>
> 0.00670094
>
> 17
>
> 0.00670094
>
> 0.00660211
>
> 18
>
> 0.00660211
>
> 0.00650828
>
> 19
>
> 0.00650828
>
> 0.00650828
>
> 20
>
> 0.00650828
>
> 0.00650134
>
> 21
>
> 0.00650134
>
> 0.00637111
>
> 22
>
> 0.00637111
>
> 0.00636302
>
> 23
>
> 0.00627747
>
> 0.00627747
>
> Here is the fortran code concerning Xsouffl :
>
>
>
> If (Qsouffl.GT.(0)) then
>
> if((signalBF.EQ.(1)).and.(Trec_postvent>Tsouffl)) then
> If(Xfr<Xext) then
> Xsouffl = max((Xfr-Xext)/(T_point_froid-Trec_postvent)*Tsouffl+(T_point_froid*Xext-Xfr*Trec_postvent)/(T_point_froid-Trec_postvent),Xfr)
> else
> Xsouffl = Xext
> endif
> else
> Xsouffl = Xext
> endif
>
> else
> Xsouffl = 0
>
> Endif
>
>
> Do you have any idea ?
>
> Best,
>
> Ewen
> _______________________________________________
> TRNSYS-users mailing list
> TRNSYS-users at cae.wisc.edu
> https://mailman.cae.wisc.edu/listinfo/trnsys-users
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.onebuilding.org/pipermail/trnsys-users-onebuilding.org/attachments/20120927/a45ce686/attachment-0005.htm>
More information about the TRNSYS-users
mailing list