Capabilities
Built for Multidisciplinary Workflows
STANDARD
Philote-MDO Protocol
Reference Python implementation of the Philote-MDO gRPC standard. Compatible with disciplines written in any supported language.
DISCIPLINES
Explicit & Implicit
First-class support for both explicit components and residual-based implicit disciplines, with analytic partial derivatives.
INTEROP
OpenMDAO Bindings
Drop-in RemoteExplicitComponent and RemoteImplicitComponent for OpenMDAO models, plus a wrapper to host OpenMDAO groups as Philote servers.
DISTRIBUTED
Network Native
Run expensive analyses on dedicated servers and call them from anywhere over gRPC. Same code, local or remote.
Define a Discipline
paraboloid.py
import philote_mdo.general as pmdo
class Paraboloid(pmdo.ExplicitDiscipline):
def setup(self):
self.add_input("x", shape=(1,), units="m")
self.add_input("y", shape=(1,), units="m")
self.add_output("f_xy", shape=(1,), units="m**2")
def compute(self, inputs, outputs):
x, y = inputs["x"], inputs["y"]
outputs["f_xy"] = (x - 3)**2 + x*y + (y + 4)**2 - 3