GunnsThermalSource - nasa/gunns GitHub Wiki

GunnsThermalSource

default_img

Background

This link is a medium to distribute a heat flux across multiple nodes in a thermal network. It is a variable-port link, meaning the number of ports and nodes the link connects to can vary by instance, and is defined separately for each instance in the Visio drawing. The proportion of the overall flux that is applied to each specific port is given in a flux-distribution-fraction array.

GunnsThermalSource will multiply the demanded flux by a tuning scalar, which can represent how well a source converts electrical power or solar radiation into thermal heat flux. The resulting heat flux, with units still in Watts, is then distributed to its nodes in the network.

The GunnsThermalSource can be malfunctioned with a blockage, in which a percentage of the demanded flux is not transferred to the nodes. The GunnsThermalSource also has an override function, which will deliver a given value of total flux regardless of other inputs.

The link functions like one or more GunnsBasicSource, each flowing from Ground into an attached node and sharing a fixed portion of a total heat flux value. This link serves as the base class for thermal heaters and panels.

How To Use in GunnsDraw

This is a variable-port link, meaning it can connect to any number 1 or more nodes. The example picture below shows what connecting to N+1 nodes would look like:

default_img

Port Connection Rules (These are limitations on the port connection to nodes that the link enforces in run-time):

  • The link must connect to 1 or more nodes.

Other Rules (These are extra rules you should always try to follow):

  • N/A

Configuration Data Parameters:

  • tuningScalar (defaults to 1.0): This is a constant scale factor applied to the total demandedFlux before it is distributed to the ports. This can have any value. This value combines with the blockage malfunction but has no effect when the flux override malfunction is used. These malfunctions are described below.
  • fluxDistributionFractions (defaults to 0, must be a curly-braced set of comma-separated values, i.e. {0.9, 0.07, 0.03}, each between (0-1) and all sum to 1.0): This defines what fraction of the total link heat flux each port receives, after the total heat flux has been scaled by the tuningScalar and blockage malfunction, etc. GunnsDraw uses your entry as the right-hand side of a C++ array initializer, i.e. double fractions[] = {0.9, 0.07, 0.03} so your entry must be syntactically correct. The number of values in the set must match the number of ports you have defined by connected nodes. Fractions are assigned to the ports in order, so in this example port 0 receives 90% of the total flux, port 1 receives 7%, etc.

Input Data Parameters:

  • malfBlockageFlag (defaults to false): This is the initial value of the link's blockage malfunction flag. When the malfunction is active (flag = true), the malfunction value scales the total demandedFlux before it is distributed among the ports.
  • malfBlockageValue (defaults to 0, must be (0-1)): This is the initial scale factor applied to the total heat flux when the blockage malfunction is active.
  • demandedFlux (defaults to 0 (W), must be >= 0): This is the initial value of total demanded flux given to the link to distribute to the ports.
  • malfFluxOverrideFlag (defaults to false): This is the initial value of the link's flux override malfunction. When active (true), the given value is used for the link's total demanded flux in lieu of the demandedFlux term. This overrides the blockage malfunction when both are active.
  • malfFluxOverrideValue (default to 0 (W)): This is the initial total heat flux value to use for the flux override malfunction. It can have any value.

Common Problems

  • N/A

References

  • N/A
⚠️ **GitHub.com Fallback** ⚠️