🔥 Underfloor Heating System
Circular pipe modeling, convective heat transfer, mesh integration.
Overview
ThermX supports modeling of underfloor heating (and cooling) systems using circular pipes embedded in flooring materials. The system calculates convective heat transfer from the fluid to surrounding materials.
Pipe Model
CircularPipe Interface
interface CircularPipe {
id: string; // UUID
centre: [number, number];// Centre coordinates (metres)
outerDiameter: number; // Including wall and insulation (metres)
wallThickness: number; // Pipe wall thickness (metres)
wallMaterialId: string; // Material ID for pipe material
fluidMaterialId: string; // Material ID for fluid inside
inletTemp: number; // Inlet fluid temperature (°C)
flowRate: number; // Volumetric flow rate (m³/s)
}
Geometry
Each pipe is represented as two concentric circles:
Outer circle
┌─────┐
│ ███ │ ← Pipe wall
│ ███ │
│ ███ │ ← Fluid core
│ ███ │
└─────┘
Inner circle
Inner diameter = Outer diameter - 2 × Wall thickness
Example: 20mm outer diameter with 2mm wall thickness:
- Outer diameter: 0.020 m
- Inner diameter: 0.016 m (fluid core)
- Wall thickness: 0.002 m
Thermal Analysis
Convective Heat Transfer
Heat transfer from the pipe fluid to surrounding materials is modeled using the convection equation:
Q = h · A · ΔT
Where:
- Q = Heat transfer rate (W)
- h = Convective heat transfer coefficient (W/m²·K)
- A = Surface area of pipe (m²)
- ΔT = Temperature difference between fluid and surrounding material (K)
Nusselt Number & Flow Regime
The convective coefficient is determined from:
h = Nu · k / D
Where:
- Nu = Nusselt number (correlation based on Reynolds and Prandtl numbers)
- k = Thermal conductivity of fluid (W/m·K)
- D = Pipe diameter (m)
Correlations depend on flow regime:
- Laminar (Re < 2300): Constant Nu ≈ 3.66 (for circular pipes)
- Turbulent (Re > 4000): Dittus–Boelert correlation:
Nu = 0.023 · Re^0.8 · Pr^0.4 - Transitional (2300 < Re < 4000): Interpolation or assumed turbulent
Mesh Generation
Pipes are meshed into small line segments for integration into the 2D FEM domain:
- Calculate pipe circle (outer boundary)
- Subdivide circle into mesh edges (typically 16–32 segments)
- Create inner fluid region (constrained Delaunay triangulation)
- FEM solver treats pipe as boundary condition or volume element
API Reference
CircularPipe Type
Located in src/model/pipes.ts. Create a pipe with the following properties:
const pipe: CircularPipe = {
id: 'pipe-1',
centre: [1.5, 0.5], // 1.5m from left, 0.5m from bottom
outerDiameter: 0.020, // 20mm
wallThickness: 0.002, // 2mm
wallMaterialId: 'plastic',
fluidMaterialId: 'water',
inletTemp: 40, // 40°C
flowRate: 0.0001 // 100 mL/s
};
Convective Heat Transfer Function
Calculate convective coefficient from pipe properties:
export function calculateConvectiveCoefficient(
flowRate: number, // m³/s
innerDiameter: number, // m
fluidConductivity: number // W/(m·K)
): number // Returns h in W/(m²·K)
Adding Pipes to Your Model
Steps
- Create a
CircularPipeobject with geometry and thermal properties - Add pipe to project via
project.circularPipes.push(pipe) - Ensure wall and fluid materials exist in
project.materials - Set boundary conditions on pipe edges if needed
- Run FEM solver — pipe convection is automatically integrated
Example Workflow
// Define pipe system parameters
const pipes = [
{ centre: [1.0, 0.5], flowRate: 0.0001 },
{ centre: [2.0, 0.5], flowRate: 0.0001 },
{ centre: [3.0, 0.5], flowRate: 0.0001 }
];
// Create pipe objects
pipes.forEach((spec, idx) => {
const pipe: CircularPipe = {
id: `pipe-${idx}`,
centre: spec.centre,
outerDiameter: 0.020,
wallThickness: 0.002,
wallMaterialId: 'pe-pipe',
fluidMaterialId: 'water',
inletTemp: 40,
flowRate: spec.flowRate
};
project.circularPipes.push(pipe);
});
// Solve and visualize results
const solution = await solve(project);
displayResults(solution);
Typical Applications
- Radiant Floor Heating — Distributed pipes in concrete slabs
- Radiant Ceiling Panels — Pipes embedded in suspended ceilings
- Radiant Wall Heating — Wall-mounted pipe systems for comfort conditioning
- Thermal Bridges Analysis — Quantify heat loss/gain from pipes
- Design Optimization — Pipe spacing and flow rate performance analysis
Limitations
- 2D cross-sectional analysis only (3D pipe networks not supported)
- Circular pipes only (rectangular ducts not modeled)
- Steady-state convection (no transient flow dynamics)
- Constant inlet temperature (no loop circulation dynamics)
- No pipe pressure drop calculations
Future Enhancements
- Multi-loop support with shared manifolds
- Pressure drop calculations
- Flow regime auto-detection
- 3D pipe system support
- Transient thermal analysis