-
Mikkel Friis-Møller authoredMikkel Friis-Møller authored
User Guide
As TOPFARM follows the OpenMDAO framework, its architecture is divided into components, which interact with each other to create the TopFarmProblem
and subsequently work into finding the best possible solution to an optimization problem.

This user guide provides an overview of the important elements of an optimization within TOPFARM. For a detailed look into the available options or function inputs/outputs, please see the :ref:`api`. Examples of TOPFARM code via Jupyter notebooks can be found both in the :ref:`basic_examples` and :ref:`advanced_examples` section.
TopFarm Problem
The central object of TOPFARM’s workflow is the TopFarmProblem
object. It is analogous to OpenMDAO’s Problem
and requires the specification of several other objects such as:
- Design variables
- Cost component
- Optimization driver (optional)
- Constraints (optional)
- Plotting component (optional)
Within the TopFarmProblem
, the optimize
command is used to run the optimization (see :ref:`api`). Once finished, the optimization can return three items:
cost
: corresponds to the final result of the optimization.state
: provides the final values of the design variables used in the optimization.recorder
: presents a record of which sets of design variables were tried during the optimization.