Vaillant Arotherm+ datasheet vs model

This tool compares Vaillant Arotherm+ datasheet performance tables with a range of COP models to see how well each one fits real-world data. The models start with the Carnot equation using fixed temperature offsets, then offsets that scale with compressor speed or heat output, then full vapour compression cycle calculations using CoolProp refrigerant properties. The last three replace the fixed practical COP factor with an efficiency curve fitted to the datasheet tables: fitted to each unit, as a single generic set that works from the nominal capacity, or a generic set written in inferred compressor speed rather than load fraction.

Model parameters

Most of the models use the Carnot COP equation with some practical adjustments to better fit the real-world data. You can select a model and adjust its parameters to see how they affect the model fit.

× Carnot COP
η
°C
°C
°C
°C
kW
°C
°C
kW
× η
On for comparison here, since the datasheet tables embed defrost. Turn off if your simulator applies its own defrost model.

Datasheet comparison

The table below shows the datasheet COP at each ambient temperature and compressor speed, with the modelled COP in brackets. Colouring the cells by model error shows the error in brackets instead. Use the tabs to switch flow temperature.

Ambient °C {{ speed }} rps
{{ ambient_temp }}
{{ data[selected_model][active_flow_temp].cop[amb_index][speed_index] }} {{ cellErrorLabel(amb_index, speed_index) }} ({{ data[selected_model][active_flow_temp].sim_cop[amb_index][speed_index] }}) {{ data[selected_model][active_flow_temp].output[amb_index][speed_index] }} kW
Model vs datasheet: under {{ band.label }} over

Error distribution

{{ tile.label }}
{{ tile.value }}
{{ tile.note }}
{{ tick.v }} {{ bar.tip }} {{ tick.label }} Model error relative to datasheet COP (%), negative = model under-predicts {{ hist_bars[hover_bin].range }} {{ hist_bars[hover_bin].count }} points ({{ hist_bars[hover_bin].pct }})

Counted over all {{ error_stats.n }} datasheet points for the {{ selected_model }} unit, across every flow temperature, not just the tab shown above.

Appendix: model equations

The equations behind the model selected above, with the current parameter values substituted in.

Fixed offset Carnot model:

Tcondensing = Tflow + {{ condensing_fixed_offset }}°C

Tevaporating = Tambient + {{ evaporating_fixed_offset }}°C

COP = {{ practical_cop_factor }} × (Tcondensing + 273.15) / (Tcondensing - Tevaporating)

Variable offset Carnot model (speed dependent):

Tcondensing = Tflow + (speed/120) × {{ condensing_scale }}°C

Tevaporating = Tambient + (speed/120) × {{ evaporating_scale }}°C

COP = {{ practical_cop_factor }} × (Tcondensing + 273.15) / (Tcondensing - Tevaporating)

Variable offset Carnot model (output dependent):

Tcondensing = Tflow + (output/{{ max_output }}) × {{ condensing_scale }}°C

Tevaporating = Tambient + (output/{{ max_output }}) × {{ evaporating_scale }}°C

COP = {{ practical_cop_factor }} × (Tcondensing + 273.15) / (Tcondensing - Tevaporating)

Carnot with a fitted second-law efficiency curve, from vaillant_cop_fit.js. Unlike the other Carnot models it has no adjustable inputs: its 12 coefficients per unit were least-squares fitted to these same datasheet tables, so this is a measure of how well the structure can fit, not an independent validation.

q̂ = output / Qnom   (Qnom = {{ vaillant_cop_fit_params[selected_model][11] }} kW)

Tcondensing = Tflow + 4 q̂    Tevaporating = Tambient − 7 q̂    L = Tc − Te

η = (e0 + e1q̂ + e2q̂² + exzq̂z) × (1 + a1z + a2z² + a3z³) × (1 + b1w),   z = (L−45)/45,   w = (Tflow−50)/15

frost = 1 − fA exp(−½((Tambient − fμ)/fσ)²)

COP = η × frost × (Tcondensing + 273.15) / L

Same structure as the unit-specific fit, but with a single pooled parameter set fitted jointly to both units in normalised load space, so the only unit dependent inputs are the nominal capacity and an optional efficiency scale. It reproduces both tables at about 7% MAPE, compared with 5.6 to 6.5% for the unit-specific fits. That is the price of generalising, though it is still better than applying one unit's own parameters to the other, which gives 8.7 to 10.2%.

q̂ = output / Qnom

Tcondensing = Tflow + 4 q̂    Tevaporating = Tambient − 7 q̂    L = Tc − Te

η = scale × (e0 + e1q̂ + e2q̂² + exzq̂z) × (1 + a1z + a2z² + a3z³) × (1 + b1w)

COP = η × frost × (Tcondensing + 273.15) / L

For a different unit, set Qnom to its nominal capacity and leave the scale at 1.0 for other Arotherm+ sizes; for other inverter-driven air-source monoblocs, derive the scale from a few datasheet rating points using calibrateEtaScale().

Same pooled approach as the generic fit, but the efficiency polynomial is written in inferred compressor speed rather than load fraction. Normalised volumetric capacity c = Q/(rps·Qnom) collapses onto one curve for both units, so speed can be back-calculated from the operating point and nominal capacity alone. This fixes most of the cold high-speed corner error of the load-fraction version. Fitted with the frost amplitude free, the pooled fit chose fA = 0, so v2 is a pre-defrost surface by construction and has no defrost option here; the remaining error against these tables is therefore partly the datasheet's embedded defrost penalty. Its other known weakness is underprediction at mild ambient (+10 to +20°C) for the 5 kW unit, the flip side of fitting across the EN 14511 wet/dry coil boundary at about +7°C.

c = (c0 + c1Tambient + c2Tambient²) × (1 + c3(Tflow − 50))    rps = output / (Qnom c), clamped to 30–120

q̂ = output / Qnom    s = rps / 100

Tcondensing = Tflow + 4 q̂    Tevaporating = Tambient − 7 q̂    L = Tc − Te

η = scale × (e0 + e1s + e2s² + exzsz) × (1 + a1z + a2z² + a3z³) × (1 + b1w),   z = (L−45)/45,   w = (Tflow−50)/15

COP = η × (Tcondensing + 273.15) / L

The same capacity model gives the modulation envelope at a condition via outputRange(), and raw (unclamped) speed via estimateSpeed() to detect demand below the minimum modulation, i.e. on/off cycling.