Skip to content

Commit 4827899

Browse files
authored
Merge pull request #19 from pathsim/feat/fmi-site-config
Add pathsim-fmi to docs site config + logo
2 parents 456b104 + a835396 commit 4827899

2 files changed

Lines changed: 48 additions & 2 deletions

File tree

src/lib/config/packages.ts

Lines changed: 48 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ export const external = {
1111
consulting: 'https://milanrother.com/#services'
1212
};
1313

14-
export type PackageId = 'pathsim' | 'chem' | 'batt' | 'vehicle' | 'flight' | 'rf';
14+
export type PackageId = 'pathsim' | 'chem' | 'batt' | 'vehicle' | 'flight' | 'rf' | 'fmi';
1515

1616
export interface Feature {
1717
title: string;
@@ -292,11 +292,57 @@ scope.plot()`,
292292
{ pip: 'pathsim', import: 'pathsim', pre: true },
293293
{ pip: 'pathsim-rf', import: 'pathsim_rf', pre: true }
294294
]
295+
},
296+
fmi: {
297+
id: 'fmi',
298+
name: 'PathSim-FMI',
299+
shortName: 'fmi',
300+
description: 'Wrap Co-Simulation and Model-Exchange FMUs (FMI 2.0 / 3.0) as PathSim blocks, driven by FMPy.',
301+
logo: 'pathsim_fmi_logo.png',
302+
docs: 'fmi',
303+
api: 'fmi/api',
304+
pypi: `${external.pypi}/pathsim-fmi`,
305+
conda: null,
306+
github: `${external.github}/pathsim-fmi`,
307+
features: [
308+
{ title: 'FMI 2.0 & 3.0', description: 'Version-agnostic wrapper around the FMI standard via FMPy' },
309+
{ title: 'Co-Simulation', description: 'Drive an FMU as a slave on a fixed communication grid' },
310+
{ title: 'Model Exchange', description: 'Integrate an FMU with PathSim\'s own adaptive solvers' },
311+
{ title: 'Low-level Access', description: 'FMUWrapper exposes the full FMI API for advanced use cases' }
312+
],
313+
installation: [
314+
{ name: 'pip', command: 'pip install pathsim-fmi' }
315+
],
316+
quickstart: {
317+
description: 'Drop an FMU into a PathSim simulation as a co-simulation slave or a model-exchange system.',
318+
code: `from pathsim import Simulation, Connection
319+
from pathsim.blocks import Scope
320+
from pathsim_fmi import ModelExchangeFMU
321+
322+
fmu = ModelExchangeFMU("VanDerPol.fmu")
323+
sco = Scope(labels=["x0", "x1"], sampling_period=0.02)
324+
325+
sim = Simulation(
326+
blocks=[fmu, sco],
327+
connections=[
328+
Connection(fmu[0], sco[0]),
329+
Connection(fmu[1], sco[1]),
330+
],
331+
dt=0.01,
332+
)
333+
sim.run(5.0)
334+
sco.plot()`,
335+
title: 'Example'
336+
},
337+
apiModules: [
338+
{ name: 'pathsim_fmi', description: 'FMU blocks (CoSimulationFMU, ModelExchangeFMU) and low-level FMUWrapper' }
339+
],
340+
pyodidePackages: []
295341
}
296342
};
297343

298344
// Ordered list for tabs/navigation
299-
export const packageOrder: PackageId[] = ['pathsim', 'chem', 'batt', 'vehicle', 'flight', 'rf'];
345+
export const packageOrder: PackageId[] = ['pathsim', 'chem', 'batt', 'vehicle', 'flight', 'rf', 'fmi'];
300346

301347
// Sidebar navigation (auto-generated from package config)
302348
export interface SidebarItem {

static/pathsim_fmi_logo.png

14 KB
Loading

0 commit comments

Comments
 (0)