How openfcst/openfcstv03 works
OpenFCST is a modular finite-element modeling toolbox for polymer electrolyte fuel cells. Its principal workflow is an engineer providing simulation parameters and a mesh, the command-line entry point selecting an application, and that application assembling fuel-cell physics for a nonlinear solve before writing visualization and response data. Separate capabilities include GUI parameter editing, mesh generation, and postprocessing/optimization utilities. The README and sampled sources support the main application and solve flow; links for unsampled integrations are omitted or shown only where documented.
Main entry points: app_pemfc.cc PEMFC application · simulation_selector.cc Simulation selector · application_core Application core · data_out.cc Simulation output
Components 24
Simulation runtime
- FCST command line
src/fcst/source/main.cc - Simulator builder
src/fcst/source/utils/simulator_builder.cc - Simulation selector
src/fcst/source/utils/simulation_selector.cc - PEMFC application
src/fcst/source/applications/app_pemfc.cc - Application variants
src/fcst/source/applications - Application core
src/fcst/source/application_core - Nonlinear solvers
src/fcst/source/solvers
Fuel-cell physics
- Transport equations
src/fcst/source/equations - Fuel-cell layers
src/fcst/source/layers - Materials and gases
src/fcst/source/materials - Reaction kinetics
src/fcst/source/reactions - Microscale models
src/fcst/source/microscale
Model inputs
- Parameters
- MEA mesh tools
pre_processing/mkMEAmesh.py - Mesh reader
src/fcst/source/applications/app_read_mesh.cc
Results and optimization
- Responses
src/fcst/source/postprocessing - Simulation output
src/fcst/source/postprocessing/data_out.cc - Python analysis tools
python/bin - ParaView plotting
post_processing/PEMFC_Paraview_Plots.py - Dakota interface
src/fcst/source/contribs/dakota_application.cc
Parameter GUI
- Parameter editor
src/fcst/GUI/source/main_window.cc - XML parameter reader
src/fcst/GUI/contrib/xml_parameter_reader.cpp - XML parameter writer
src/fcst/GUI/contrib/xml_parameter_writer.cpp
Other components
- Engineer
Connections 27
- Engineer → Parameters: provides settings
- Engineer → MEA mesh tools: configures geometry
- MEA mesh tools → Mesh reader: exports mesh
- Parameters → FCST command line: supplies parameters
- FCST command line → Simulator builder: parses and runs
- Simulator builder → Simulation selector: selects simulation
- Simulation selector → PEMFC application: dispatches application
- Simulation selector → Application variants: dispatches application
- PEMFC application → Application core: uses framework
- Application variants → Application core: uses framework
- PEMFC application → Mesh reader: reads mesh
- PEMFC application → Transport equations: assembles physics
- PEMFC application → Fuel-cell layers: selects layer models
- PEMFC application → Materials and gases: initializes materials
- PEMFC application → Reaction kinetics: uses reaction models
- PEMFC application → Microscale models: uses microscale models
- Nonlinear solvers → Application core: requests residual and solve
- Application core → Transport equations: assembles system
- PEMFC application → Nonlinear solvers: runs nonlinear solve
- PEMFC application → Responses: computes responses
- PEMFC application → Simulation output: writes solution
- Simulation output → Python analysis tools: exports analysis data
- Simulation output → ParaView plotting: exports VTK data
- Engineer → Parameter editor: edits parameters
- Parameter editor → XML parameter reader: reads XML
- Parameter editor → XML parameter writer: writes XML
- Dakota interface → Simulation selector: drives simulations