1. Codebase

In order to begin a design optimization using MachEval, the end user will need to configure or write the implementation of certain classes.

Designer
  • Architect: while eMach does contain example Architect classes, oftentimes custom code will be required to match the selected free variables.

  • SettingsHandler: Similar to the architect, this object will likely need to be adjusted to match the optimization requirements.

Evaluator
  • EvaluationStep s: Custom code for simple evaluations can be written directly as EvaluationStep objects. For more complicated code, the AnalysisStep object should be used with the corresponding Analyzers.

  • ProblemDefinition: For each AnalysisStep, the user will be required to write a ProblemDefinition to convert the input state to the required Problem object.

  • PostAnalyzer: A corresponding PostAnalyzer is required for each Analyzer used.

DesignSpace
  • The user must implement the required methods as specified. This is where the objective functions are defined for the optimization.

Once the user has specified all of the required objects, they can be injected into the DesignProblem and utilized by the pygmo optimization code.