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.
INTEROPERABILITY : OpenMDAO
OpenMDAO Bindings
Drop-in RemoteExplicitComponent and RemoteImplicitComponent for OpenMDAO models, plus a wrapper to host OpenMDAO groups as Philote servers.
INTEROPERABILITY : GEMSEO
GEMSEO Bindings
Drop-in GEMSEO Disciplines for Philote Disciplines, plus a wrapper to host GEMSEO Disciplines or processes 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