General Description of fleetmaster¶
Summary¶
fleetmaster is a command-line tool designed to simplify running batch processes with Capytaine, an open-source Python library for simulating wave-structure interactions. While Capytaine provides powerful tools for hydrodynamic analysis, fleetmaster streamlines the process of running multiple simulations with varying parameters, managing inputs, and organizing outputs. It acts as a wrapper, allowing users to define a fleet of simulations in a structured way and execute them with a single command.
Core Concepts¶
The main goal of fleetmaster is to automate the execution of multiple hydrodynamic simulations using Capytaine. This is achieved through a few core concepts:
- Settings File: The user defines a batch of simulations using a YAML settings file. This file specifies the mesh files, water depth, wave directions, and other parameters for each case to be run.
- Batch Engine: The core engine of
fleetmasterreads the settings file, prepares each individual Capytaine simulation, runs it, and stores the results in an HDF5 database. - Command-Line Interface (CLI): All operations are handled through the
fleetmastercommand. This allows for easy integration into scripts and automated workflows.
Solution Database¶
The solution for each mesh and set of simulation settings are stored in a database. The database can subsequently be used by external programs to quickly access each Capytaine solution. For more details on the database, see Database.
Mesh Fitting¶
In addition to running batch simulations, fleetmaster also provides a powerful mesh fitting capability. This feature allows you to find the best-matching mesh from a database of pre-calculated meshes based on a target transformation (translation and rotation). This is particularly useful for finding the most relevant hydrodynamic data for a specific loading condition without running a new simulation.
For more details, see the Mesh Fitting documentation.
Typical Workflow¶
A typical workflow for using fleetmaster involves the following steps:
- Prepare Meshes: Create or obtain the mesh files (e.g.,
.obj,.stl) for the floating bodies you want to analyze. - Create a Settings File: Write a YAML file that defines the parameters for your batch of simulations. This includes pointing to the mesh files and specifying the desired environmental conditions.
- Run
fleetmaster: Execute the tool from your terminal, pointing it to your settings file. - Analyze Results:
fleetmasterwill generate an HDF5 file containing the hydrodynamic data for each simulation in the batch.
Below is a diagram illustrating this workflow.
graph LR
A[Prepare Meshes] --> B[Create Settings File];
B --> C[Run fleetmaster];
C --> D[Analyze Results];