Ideal Gas Compressed by an Elastic Piston

Motivation of this test case

The aim of this test is:

  • to show that it is possible to prescribe BCs only on parts of a given geometry
  • to assert that the computation of fluxes that depend nonlinearly on the primary variables is implemented correctly.


A chamber filled with ideal gas is sealed tightly with a movable, elastic piston. The position of the piston is varied between different load steps. Friction between the piston and the chamber wall is neglected. For simplicity, also initially the elastic piston is in an unstressed state.


The figure above shows that the piston is being compressed ($y$ displacement has larger negative values at the top) by the forces acting on it. The initial position of the top part of the piston is indicated as a wireframe.

The plot shows that the relation between the stress in the piston and its displacement coincides with the pressure-volume relation of the chamber. That indicates that the Jacobian computation inside the Python BC classes was correctly implemented.

This article was written by Christoph Lehmann. If you are missing something or you find an error please let us know.
Generated with Hugo 0.117.0 in CI job 362666 | Last revision: July 12, 2023
Commit: [PL/SSD] Rename x_dot to x_prev 04a8fec8  | Edit this page on