mach_eval package
Subpackages
mach_eval module
- class mach_eval.AnalysisStep(problem_definition, analyzer, post_analyzer)
Bases:
EvaluationStepClass representing a step which involves detailed analysis.
- problem_definition
class or object defining the problem to be analyzed. This attribute acts as the interface between the machine design and the analyzer.
- analyzer
class or object which evaluates any aspect of a machine design.
- post_analyzer
class or object which processes the results obtained from the analyzer and packages in a form suitable for subsequent steps.
- class mach_eval.Analyzer(*args, **kwargs)
Bases:
ProtocolProtocol for an analyzer
- class mach_eval.Architect(*args, **kwargs)
Bases:
ProtocolBase class for all machine design creating architect classes.
Child classes of Architect establish the interface between a machine object and the design framework. All the math for calculating an initial machine design is done within child classes of this class, and a design dictionary is passed into the Machine object class on creation.
- class mach_eval.Conditions
Bases:
objectClass to hold state conditions during machine evaluation.
This is a dummy class whose purpose is hold attributes required by subsequent steps involved in evaluating a machine design.
- class mach_eval.EvaluationStep(*args, **kwargs)
Bases:
ProtocolProtocol for an evaluation step
- class mach_eval.Machine
Bases:
ABCAbstract base class for Machine objects
- class mach_eval.MachineDesign(machine: Machine, settings: Any)
Bases:
DesignClass representing a complete machine design, includes machine physical description and operating conditions.
- machine
Holds information on machine dimensions, materials, and nameplate specs
- settings
Operating conditions of machine. Can include speed, current, expected power / torque etc.
- class mach_eval.MachineDesigner(arch: Architect, settings_handler: SettingsHandler)
Bases:
DesignerClass representing a machine designer.
- arch
Class which converts optimization free variables to a complete set of machine dimensions required to fully define a machine.
- settings_handler
Class which converts optimization free variable to machine operating conditions.
- create_design(x: tuple) MachineDesign
Creates a machine design from free variables.
- Parameters:
x – Tuple of design free variables. Should be defined in a particular sequence based on arch and settings_handler
- Returns:
A complete machine design including machine physical description and operating conditions.
- Return type:
design
- class mach_eval.MachineEvaluator(steps: List[EvaluationStep])
Bases:
EvaluatorWrapper class for all steps involved in analyzing a MachineDesign
- steps
Sequential list of steps involved in evaluating a MachineDesign
- evaluate(design: Any)
Evaluates a MachineDesign
Evaluates a MachineDesign with the list of evaluation steps that the class object was initialized with
- Parameters:
design – MachineDesign object to be evaluated
- Returns:
List of results obtained from each evaluation step
- Return type:
full_results
- class mach_eval.PostAnalyzer(*args, **kwargs)
Bases:
ProtocolProtocol for a post analyzer
- class mach_eval.Problem(machine, op)
Bases:
object
- class mach_eval.ProblemDefinition(*args, **kwargs)
Bases:
ProtocolProtocol for a problem definition
- class mach_eval.State(design: Design, conditions: Conditions)
Bases:
objectClass to hold the state of machine evaluation over each evaluation step.
The purpose of this class is to hold the Machine object and conditions required for subsequent steps involved in evaluating a machine design.
- design
machine design used by the next step
- conditions
additional information required for subsequent evaluation steps