firemodels / fds

Fire Dynamics Simulator
https://pages.nist.gov/fds-smv/
Other
673 stars 627 forks source link

SPREAD_RATE issue with T_BEGIN #13729

Closed ericvmueller closed 3 weeks ago

ericvmueller commented 3 weeks ago

I'm trying to use aSURF that has a SPREAD_RATE but also a custom RAMP for hrr/mass. But it seems like the ramp ends up using time relative to T_BEGIN rather than absolute.

As an example, I modified the circular_burner.fds case:

&TIME T_BEGIN=-2,T_END=20. /

&SURF ID='BURNER', MASS_FLUX(1)=0.02, SPEC_ID(1)='PROPANE', RAMP_MF='rmf' /

&RAMP ID='rmf', T=  2, F=    0.0 /
&RAMP ID='rmf', T= 2.1, F=  1.0 /

The burner activates at a different times if I set T_BEGIN. I would expect it to start at T=2 regardless.

image

circular_burner.txt

rmcdermo commented 3 weeks ago

This seems to be the relevant section in the user guide, though, it still does not make things crystal clear to me: "When a time-base RAMP is evaluated, the time used for the RAMP is the time since the item (e.g., VENT, OBST, DEVC) using the RAMP became active. This means RAMPs use the actual time if the activation time of the item using the RAMP is the same as T_BEGIN". I am not sure what "actual time" is supposed to mean here. Apparently, it means time since activation, which I guess is T_BEGIN for your case. But "actual time" for me would mean the absolute value of T in the simulation. Perhaps some rewording of this section is needed.

At any rate, we went round and round with thinking about modifying the ramp inputs in Issue #13234 and the accepted answer seems to be to use CTRLs to do anything that is different from what is coded up.

ericvmueller commented 3 weeks ago

Okay, I guess my confusion came from the exact meaning of the vent being 'active', but its just a lack of familiarity since I'm used to using RAMPs in the context of wind where things are absolute.

drjfloyd commented 3 weeks ago

I think I wrote that text back when devices were first added. This is what it is trying to say:

&SURF ID='MY SURF',HRRPUA=1000,RAMP_Q='MY RAMP'/ &RAMP ID='MY RAMP',T=0,F=0/ &RAMP ID='MY RAMP',T=10,F=10/

This vent is active at the start of the simulation (there is no CTRL_ID or DEVC_ID). T in the RAMP will be the net simulation time. &VENT XB=0,1,0,1,0,0,SURF_ID='MY SURF'/

This vent is not active until 10 s. T in the RAMP will be the current simulation time - 10. &VENT XB=0,1,0,1,0,0,SURF_ID='MY SURF',DEVC_ID='MY DEVC'/ &DEVC ID='MY DEVC',QUANTITY='TIME',SETPOINT=10,XYZ=0,0,0/

rmcdermo commented 3 weeks ago

So I think in the guide we could say something like (instead of "actual time") we could say "the T in the time ramp is evaluated as the current simulation time minus the activation time" and somewhere add "unless otherwise controlled, a VENT will activate at T_BEGIN". Do I have this right?

drjfloyd commented 3 weeks ago

That sounds right.