Skip to content

Should we provide a mechanism to output performance fields/information? #71

@markfuge

Description

@markfuge

@ffelten

Currently, through simulate we provide the requested kinds of summary numbers that are useful for tracking optimization and other metrics (e.g., Lift, Voltage Ripple, Total Compliance, etc.). As folks have been working on different problems and debugging their algorithms, I wonder if it may in the future also make sense to output more detailed information from simulate (not activated by default). I think storing a dataset of such things could be too large (the full SU2 2D Adjoint runs with flow fields were several TB), but on a per-simulate basis this could be useful for users. Specifically, for the following problems, this could look like returning:

  • Beams2D -- the actual deformations of each pixel/voxel, or the VonMises Stress field.
  • HeatConduction -- the temperature profile across the device
  • PowerElectronics -- the plots of voltage and current over time at the load component, or for all components.
  • thermoelastic -- the same stuff as Beams2D and Heat Conduction
  • Airfoil2D/3D -- the surface level pressure field, or we could return the entire volumetric flow field, but that would be quite large (this is what is used to train GNN-based flow predictor models though).
  • For any -- a field or volume representation of which portions of the design or physics field is violating a given constraint (e.g., overhang, max pressure, etc.)

Pros of outputting this:

  • Allows you richer conditioning (e.g., in Milad's SuperResolution experiment where he conditions on the 2D strain field and VonMises stress).
  • Allows you to train Neural Surrogate models that require fields (e.g., the FNO models that Frank is working on, etc.)
  • Might allow us to catch simulator failures in the future and use that to drive the ConstraintsAPI
  • If the user simulates a problem and is getting unexpected results, it allows them to debug a bit first before opening an issue, and we would be able to request better information from the MWE since they can submit that info along with the issue.
  • Better Future-proofing, if future algorithms use or leverage the performance fields (i.e., like Milad's paper)

Cons:

  • More work per problem
  • Some solution information might be hard to get (e.g., the flow field in MachAero)
  • Storage issues if we choose to store it (though we could choose not to do this by default).

Metadata

Metadata

Assignees

No one assigned

    Labels

    questionFurther information is requested

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions