Skip to content

noEvent in ExteriorConvection component #1464

@kldjonge

Description

@kldjonge

In IDEAS.Buildings.Components.BaseClasses.ConvectiveHeatTransfer.ExteriorConvection, the convection coefficient switches suddenly for ceilings and floors when dT passes zero. This generates an event and can even cause chattering. Can we introduce the noEvent() operator?

if isCeiling then
    if dT > 0 then
      C = C_horz_buoyant;
    else
      C = C_horz_stable;
    end if;
  elseif isFloor then
    if ndT < 0 then
      C = C_horz_buoyant;
    else
      C = C_horz_stable;
    end if;
  else
    C = C_vertical;
  end if;

Changing the code is just changing it to:

  if isCeiling then
    if noEvent(dT > 0) then
      C = C_horz_buoyant;
    else
      C = C_horz_stable;
    end if;
  elseif isFloor then
    if noEvent(dT < 0) then
      C = C_horz_buoyant;
    else
      C = C_horz_stable;
    end if;
  else
    C = C_vertical;
  end if;

But I have little idea on the impact on reference results now. Anyway, I feel like actually forcing an additional calculation at the exact time it passes zero isn't nececarry and it is worth consisdering iit n light of simulation speed.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions