Intro_Course_2_3 - nasa/gunns GitHub Wiki

Intro Course 2.3: Aspect Architecture

Aspect Architecture is a high-level modelling philosophy that we adopted because of the advent of GUNNS and the Signal Solver. Big write-up here.

The important points are:

  • It divides the total model of a single device (i.e. a pump) into multiple code objects, some of which are links in GUNNS networks of different aspect.
    • A device may have zero, one, or more links in one or more networks of each aspect.
    • We often also include a “Signal” aspect (which may or may not be solved by the Signal Solver) to model such things as sensors, effectors (motors) & controllers. This is NOT part of GUNNS.
    • The design of a generic model’s various aspects and how they interact is shown in an Aspect Diagram like this:
  • It provides flexibility to include only those code objects needed to model the desired aspects of a physical device.
    • Some aspects can be left out and their interfaces substituted with “keep-happy” boundary values for the remaining aspects to interface with.
    • For instance, I might not care about modelling a dynamic temperature of my pump motor, so I leave that thermal aspect out of the sim, and set the input temperature from it in the remaining aspects to a nominal constant value.
  • A physical device’s aspects are often more tightly coupled with the same aspect of nearby devices than between the other aspects of itself.
    • This is why we solve like aspects of nearby objects in the same network — in the same simultaneous system of equations — for stability.
    • Like-aspects in the same network interact through the network solution.
    • Interfaces between aspects, since they are more loosely-coupled and can handle more lag, are connected by the Trick Thread-Safe Sim Bus.
  • This division of aspects, along with the Sim Bus, provides flexibility in adjusting threading.
    • Networks can be moved to different parallel threads to adjust CPU loading with no impact to the data flow sequence or model response.
  • GUNNS can be used for Fluid, Thermal, Electrical, and Dynamics aspects.
    • GUNNS is not intended for modeling of other aspects such as Signal, Mechanical, GN&C, etc. However some utility classes for modeling sensors & effectors are included in gunns/gunns-ts-models/, and these can be used in Signal or Mechanical aspects.
    • GUNNS by itself is not enough to completely model all aspects of a vehicle.

Previous Page / Next Page

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