3.4. I/O Modules
PyFEM provides a comprehensive set of I/O (Input/Output) modules for reading input files, writing simulation results, generating visualizations, and managing data during finite element analyses. These modules enable flexible output of mesh data, nodal results, time histories, and custom visualizations.
3.4.1. Overview
The I/O system consists of:
Input modules: Read problem definitions and restore saved states
Output writers: Export results in various formats (VTK, HDF5, text)
Data loggers: Track specific quantities during analysis (graphs, contours)
State management: Save and restore full analysis states
All output modules share a common configuration pattern and can be combined to produce multiple output formats simultaneously.
3.4.2. Configuration
Output modules are configured in the .pro input file using two components:
Module list: The
outputModulesproperty lists which modules to useModule blocks: Each module has a configuration block with its parameters
3.4.2.1. Basic Syntax
outputModules = ["module1", "module2", "module3"];
module1 =
{
type = "ModuleType";
# module-specific parameters
};
module2 =
{
type = "AnotherModuleType";
# module-specific parameters
};
The name in the outputModules list corresponds to the configuration block
name. The type parameter specifies which I/O module to instantiate.
3.4.2.2. Complete Example
Here’s a typical configuration that combines multiple output types:
outputModules = ["vtk", "graph", "contour"];
vtk =
{
type = "MeshWriter";
elementGroup = "All";
interval = 1;
};
graph =
{
type = "GraphWriter";
onScreen = true;
columns = ["disp", "load"];
disp = { type = "state"; node = 21; dof = "v"; };
load = { type = "lam"; };
};
contour =
{
type = "ContourWriter";
nodes = [10, 11, 12, 13, 14, 15];
interval = 5;
};
contour =
{
type = "ContourWriter";
nodes = [10, 11, 12, 13, 14, 15];
interval = 5;
};
3.4.3. Available Modules
3.4.3.1. Input Modules
InputReader - Reads
.profiles and restores analysis states from dumpsDataDump - Saves complete analysis state for restart or inspection
3.4.3.2. Output Writers
MeshWriter - Writes VTK files (
.vtu) for visualization in ParaViewHDF5Writer - Writes HDF5 files for large-scale data storage
OutputWriter - Writes human-readable text summaries of nodal data
3.4.3.3. Data Loggers
GraphWriter - Tracks time histories and generates plots
ContourWriter - Outputs data along specified node contours
3.4.3.4. System Management
OutputManager - Coordinates all output modules during analysis
3.4.4. Common Parameters
Most output modules support these common parameters:
Parameter |
Description |
|---|---|
|
Module type (mandatory for all modules) |
|
Output frequency in analysis cycles (default: 1) |
|
Custom output filename (module-dependent default) |
|
Display output during analysis (where applicable) |
3.4.5. Best Practices
Choose appropriate intervals: Use larger intervals for expensive output operations
Combine formats: Use VTK for visualization and text files for time histories
Save binary dumps: Use DataDump for long analyses to enable restarts
Monitor progress: Enable GraphWriter with
onScreen = truefor feedback
3.4.6. Module Reference
Click on any module below for detailed documentation, parameters, and examples: