-
Notifications
You must be signed in to change notification settings - Fork 634
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Make SURF like VENT for tangential #14117
Comments
@drjfloyd would it also be possible for the UVW input to be relative to the surface normal? As it is now, you have to consider the normal direction and then sign the unit vector values based on that. If instead, you could set UVW relative to the normal, it would make the input trivial and easy to copy, rotate, mirror, etc. without modifying the values per instance. |
We would need to define the base VENT orienation for UVW and then how you should rotate it for an arbitrary VENT. Something like; UVW is a vector defining the flow direction for outflow from the VENT. For an upward pointing surface UVW would represent the x,y, and z components. For surface pointing in other directions, the UVW directions can be determined by first rotating a vertically upward VENT about the x-axis and then about the y-axis. For example a VENT pointing with IOR=-2 would have UVW(3) pointing along the negaitve y-xais, UVW(1) would still be the postive x-axis, and UVW(2) would be pointing along the positive z-axis. To get IOR=1 you would first rotate about the x-axis to get IOR=-2 and then about the y-axis to get IOR=1. After those two rotations, UVW(3) would point along the positive x-axis, UVW(1) would point along the positive y-axis, and UVW(2) would point along the positive z-axis. |
@drjfloyd Yes, that's exactly the idea. I know that FDS has an auto-IOR (normal direction) function, and also the ability to explicitly set IOR for the VENT. We mirror this in PyroSim where we don't specify IOR by default, but the user can select the + or - direction for the given vent plane (X, Y or Z). I also wondered about not even specifying the UVW at all, but have the unit vector defined by the magnitude of the flow and two angles, 'Azimuth' and 'Elevation'. As this is often what people 'know' about the flow. Like, -45 deg down [0 Azimuth, -45 Elevation], or 30 deg to the left and 10 degrees down [-30 Azimuth, -10 Elevation]. Then let FDS combine those angles with the flow velocity and the orientation of the vent to figure out the unit vector. |
"down" wouldn't have meaning for a floor or ceiling vent unless down always meant the z-direction. In which case we are back to what we have now which is UVW defined in terms of the global coordinate system. Pyrosim can do whatever for the interface but we need something for input that has a strict definition. |
Based on the transformations you listed above. For example, 'down' on a floor vent:
|
Working with @bwklein on a pyrosim user issue and I think it would be beneficial to have one way to specify tangential velocity. Right now for SURF we have VEL_T which is two components that are fixed and for HVAC have a vector for the flow.
We did vector for HVAC since that flow will change over time and would want the angle to be the same as flow rate changes. With VEL_T the flow is fixed and you can't have the angle stay the same if RAMP_V is being used. Also since VEL_T is two components you need to think about which component is 1 and which is 2 as the surface orientiation changes.
I propose we allow UVW on VENT to be used for any SURF_ID and not just HVAC. We could support backwards compatiblity and if a VEL_T is given create the vector. This might also simplify velo.f90 as we could do the same thing for any SURF rather than one thing for HVAC and one thing for other SURF.
The text was updated successfully, but these errors were encountered: