Skip to content

Commit

Permalink
Merge pull request #294 from Severson-Group/feature/rearrange_user_guide
Browse files Browse the repository at this point in the history
Rearrange User Guide Section
  • Loading branch information
dmnewman3 authored Oct 25, 2023
2 parents 6394454 + 14bc58a commit b58c2f1
Show file tree
Hide file tree
Showing 13 changed files with 1,678 additions and 145 deletions.
8 changes: 7 additions & 1 deletion docs/source/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,14 @@ links provided on the left to familiarize themselves with the repository.

getting_started/pre_reqs
getting_started/tutorials/index
user_guide

.. toctree::
:hidden:
:maxdepth: 1
:caption: User Guide

user_guide/index

.. toctree::
:hidden:
:maxdepth: 3
Expand Down
21 changes: 21 additions & 0 deletions docs/source/user_guide/codebase.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
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.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
298 changes: 298 additions & 0 deletions docs/source/user_guide/images/CodeOverview.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit b58c2f1

Please sign in to comment.