Helmholtz testing (no decay bug)

This commit is contained in:
max
2026-05-09 01:44:35 +02:00
parent 9c9e23147a
commit 77ef4753a3
23 changed files with 1811 additions and 2118 deletions

View File

@@ -2,18 +2,9 @@ using System.Collections.Generic;
namespace FluidSim.Interfaces
{
/// <summary>
/// Minimal interface for all simulation components that have ports.
/// </summary>
public interface IComponent
{
/// <summary>All ports exposed by this component.</summary>
IReadOnlyList<Port> Ports { get; }
/// <summary>
/// Called once per global time step to update the component's internal state
/// using the port flow data accumulated during substeps.
/// </summary>
void UpdateState(double dt);
void UpdateState(float dt);
}
}

View File

@@ -2,23 +2,23 @@
{
public class Port
{
public double MassFlowRate; // kg/s, positive INTO the component that owns this port
public double SpecificEnthalpy; // J/kg
public double Pressure; // Pa
public double Density; // kg/m³
public double Temperature; // K
public double AirFraction; // mass fraction of air (0 = exhaust, 1 = air)
public float MassFlowRate; // kg/s, positive INTO owning component
public float SpecificEnthalpy; // J/kg
public float Pressure; // Pa
public float Density; // kg/m³
public float Temperature; // K
public float AirFraction; // mass fraction (0 = exhaust, 1 = air)
public object? Owner { get; set; }
public Port()
{
MassFlowRate = 0.0;
SpecificEnthalpy = 0.0;
Pressure = 101325.0;
Density = 1.225;
Temperature = 300.0;
AirFraction = 1.0; // default fresh air
MassFlowRate = 0f;
SpecificEnthalpy = 0f;
Pressure = 101325f;
Density = 1.225f;
Temperature = 300f;
AirFraction = 1f;
}
}
}