Skip to content

fix: BuEM thermal class mapping, MILP wording, c_m unit - #119

Merged
jravani merged 3 commits into
mainfrom
fix/buem-parameter-bugs
Oct 2, 2026
Merged

jravani merged 3 commits into
mainfrom
fix/buem-parameter-bugs

Conversation

@jravani

@jravani jravani commented Oct 1, 2026

Copy link
Copy Markdown
Member

Three fixes to what the configurator sends to and says about BuEM.

What changes

  • Thermal mass class (a895442): the editor offers five mass classes, BuEM has three. VeryHeavy was sent as light. The classes now map VeryLight/Light to light, Medium to medium, Heavy/VeryHeavy to heavy; an unmapped class throws with its name. c_m is still sent beside it, so the very-light and very-heavy capacities reach BuEM; on reopen they read back as Light and Heavy.
  • MILP toggle wording (c641c7e): it described dispatch optimisation against a rule-based heuristic. use_milp chooses BuEM's thermal solver (MILP instead of the default sparse solver). Label, help text, section summary and the CSV calculation_method now say MILP or sparse.
  • CSV unit (552d71d): thermal_capacity was labelled Wh/m2K; the value is c_m in kJ/(m2K).

Tests

buemAdapter.thermal.test.ts (new) and two cases in modelExport.test.ts fail before and pass after. npm test 96/96, npm run typecheck clean, npm run build:lib succeeds.

The editor offers five mass classes (VeryLight to VeryHeavy) but BuEM
has three. The serialiser mapped only Medium and Heavy and sent every
other value as light, so a VeryHeavy building reached BuEM as light.

The five classes now map to light, light, medium, heavy and heavy. A
class with no mapping throws with its name instead of falling back to
light. c_m is sent beside the class as before, so the very-light and
very-heavy capacities still reach BuEM; on reopen they read back as
Light and Heavy.
The toggle's label and help text described MILP as optimising a
dispatch schedule against a rule-based heuristic. In BuEM, use_milp
chooses how the thermal model is solved: a mixed-integer linear
programme instead of the default sparse solver, slower but exact on
inequality constraints. The label, help text, section summary and the
building CSV's calculation_method now say that ("MILP" or "sparse").
The export labelled thermal_capacity as Wh/m2K, but the value is the
editor's c_m, which is held and sent to BuEM in kJ/(m2K).
@jravani
jravani merged commit f8c4014 into main Oct 2, 2026
3 checks passed
@jravani
jravani deleted the fix/buem-parameter-bugs branch October 2, 2026 19:02
@jravani jravani mentioned this pull request Oct 2, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant