Thermal_Desktop_and_Thermal_Registry_Networks - nasa/gunns GitHub Wiki

{{>toc}}

Thermal Desktop and Thermal Registry Networks

New for v17.1, we’ve included the old Thermal Desktop & aspect registry stuff from TS21 into the gunns/ repo with slight modifications to make it generic for other projects.

Some background on what this stuff meant for TS21 is here.

Thermal Desktop

Thermal Desktop (TD) is a COTS 3D CAD tool for thermal design & analysis. It is widely used in industry and by thermal engineers at NASA.

TD, when combined with their FloCAD, RadCAD and SINDA/FLUINT tools, can do the same kinds of integrated fluid/thermal aspect simulations that we do with GUNNS. GUNNS allows further integration with signal and electrical aspects, and other models.

We have the ability to export thermal models from TD into GUNNS networks for inclusion in a Trick sim. This capability was originally developed for the ISS sim in TS21. It has recently been migrated into our central repository, and we’ve begun genericizing it for use in other projects, such as NExSyS.

This ability allows us to re-use TD models that have already been developed by thermal engineers. This can save us the time & expense of developing our own models either in TD or as GunnsDraw drawings.

Thermal Aspect Registry

The Thermal Aspect Registry is a set of user-written text files that can add objects to extend the TD model in the GUNNS network, without having to open or modify the TD model itself.

For instance, the TD model may only include the shell and structure of a space habitat, but none of the equipment inside. You may want to model that internal equipment in the same thermal GUNNS network as its surrounding shell. It’s a lot easier to describe the nodes & links you need to model that equipment in a set of text files than to add them to the 3D CAD model in TD.

Thermal Registry Networks

A “Thermal Registry Network” combines a TD model export and the registry files into a single GUNNS thermal network. It should be possible for both the TD part and the registry part to be optional; however the process described below currently requires both parts.

ThermalNetwork Class

ThermalNetwork is the network class used for Thermal Registry Networks. It is a generic class used for all such networks: instantiated once for each network. The network contents are loaded into it from input files generated by the process described below.

Contrast to GunnsDraw Thermal Networks

There are several advantages and disadvantages between TD/Registry vs. GunnsDraw thermal networks, described below. Take these into consideration and use the approach that works best for you.

3D vs. 2D

The main drawback to using GunnsDraw to draw up thermal networks is that GunnsDraw is limited to 2-D representation of a system. This is fine for small networks. But thermal systems are highly dependent on the system geometry and facing in 3-D space, and thus a 3-D user interface is ideal for designing and describing them.

Dynamic Configuration & Compile-less Changes

Another advantage of the Thermal Aspect Networks over GunnsDraw is that they are entirely input file-driven. Once the generic ThermalNetwork object has been compiled into the sim, changes to the network’s configuration in the input files doesn’t require re-build of the sim. You can simply restart the sim and go. This can save a lot of compile time in big simulations.

Limited Link Types

There is a drawback to the dynamic configuration described above. We avoid using pure factory design patterns in GUNNS because Trick & Trick View do not fully support the factory pattern. Trick View can’t follow polymorphism — it can only display the attributes of the base class pointer. This makes inspecting & debugging polymorphic objects difficult. So instead of using a factory pattern, the ThermalNetwork class has arrays of these specific link types:

  • GunnsThermalCapacitor
  • GunnsBasicConductor
  • GunnsThermalRadiation
  • GunnsThermalHeater
  • GunnsThermalPanel
  • GunnsThermalPotential
  • GunnsThermalSource

and only those types are supported. Thus newer links such as GunnsThermalMultiPanel cannot be used in the TD/Registry networks.

Build Process

Exporting From Thermal Desktop

Writing the Thermal Registry Files

These files are all written by hand by the sim developer as needed.

An example of the Thermal Registry .xml file and its contents is at:

gunns/aspects/thermal/network/bin/ThermAspectGenerate/test/ThermRegistry_test.xml

An example of the symbols files and their contents can be found at:

gunns/aspects/thermal/network/bin/ThermAspectGenerate/test/symbolsTest.xml

Generating the Thermal Aspect Simulation Files

This process combines the hand-written registry & symbols files and the TD output files of the above processes to generate a set of files that are included in the sim:

⚠️ **GitHub.com Fallback** ⚠️