Perrette

Tools

What the software is required to do.

Less a feature list than a set of terms. For each tool: the question it answers, what it refuses to deliver, and what it guarantees. The refusals are the important half — they decide whether a result can still be defended a year later, in front of someone who did not run it.

The software is not released. These are the terms it will be released on.

The tools

One translation, eight analyses.

Everything begins with the same step: turning a model authored to be built into one that can be solved. After that the eight diverge completely — their own physics, their own idea of what a room is, their own way of being wrong. They are listed here in the fixed order this site uses everywhere.

Geometry

What does the model actually contain, and what has to change before physics can be run on it?

RefusesTo repair anything that has more than one plausible reading. Two careful readers must never end up with two different models.

GuaranteesA simplification is applied only when nothing the physics can see has changed. Everything else is handed back, named and located.

Fire & smoke

Where does the smoke go, and how long before the escape route stops being usable?

RefusesTo give a tenability verdict detached from the assumptions that produced it.

GuaranteesEvery result names the fire it assumed, the state of the ventilation, and when detection was taken to occur.

Ventilation

Does outside air actually reach this room, or does it pass the building by?

RefusesTo present a whole-building airflow figure as though it described a room.

GuaranteesEvery room is reported on its own, and the worst-served one is visible without being looked for.

Structure

What carries what, and where does the load really land?

RefusesTo invent a load path the model leaves undefined.

GuaranteesEvery member carries the assumption it was checked under, in the same place as the result.

Acoustics

Can you understand what is said in this room, and what arrives from the one next door?

RefusesTo average over a volume that is acoustically two rooms.

GuaranteesSource, path and receiver are named in every result — a number without them cannot be checked.

Embodied carbon

What has this building already cost before anyone switches it on?

RefusesTo fill a missing material with an industry average and then not say which figures were filled.

GuaranteesEvery quantity traces back to an element in the model, and every factor to a named dataset.

Energy

How much does it use over a year, and which single decision changes that the most?

RefusesTo answer a question about one room with a number averaged over a building.

GuaranteesEvery figure carries its resolution, its weather file, and the version of the engine that produced it.

Optimization

Of the thousands of variants nobody has time to run, which few are worth running?

RefusesTo report a number that came from a fitted model. The design that wins the search is re-simulated in full, and that run is the result.

GuaranteesThe search stays inside the range it was shown, and says so instead of guessing when asked to leave it.

Crowd & egress

How long does it take to empty — at this construction phase, with these doors open?

RefusesTo give an evacuation time detached from the phase and the door set it belongs to.

GuaranteesEvery run states which exits existed and which were blocked when it was made.

Requirements

Four positions we do not trade away.

Geometry is the argument

Most of the error in a simulation enters before any physics is computed — in what was drawn, what was left out, and what was silently reinterpreted along the way. Time spent on the model is not preparation for the analysis. It is the analysis.

Resolution is a decision

A number averaged over a building answers a different question than the same number per room, and the two can disagree about which design is better. The resolution is chosen from the decision being made, never from what is convenient to compute.

Refusal beats a plausible number

When a model is ambiguous, the honest output is the ambiguity, named and located. A quietly wrong result is worse than no result, because nobody goes looking for the mistake in a number that looks reasonable.

A result you cannot reproduce is an opinion

Same input, same output, on any machine, against a named version of every engine. Reproducibility is not housekeeping — it is the entire difference between an engineering result and a plausible one.

In practice

Where those positions bite.

Geometry

A model made to be built is not a model made to be solved.

An authored building model exists to describe construction. It carries layers, joints, fabrication tolerances, and elements that are there so that somebody can build them. A simulation model exists to be solved. It wants closed volumes, surfaces that are genuinely shared between two spaces rather than merely touching, and no detail finer than the physics can see.

These two are not versions of each other, and the gap between them is not a defect in either. Getting from one to the other is a translation — and like every translation, it needs a stated criterion for what is allowed to change.

A simplification is legitimate when nothing the physics can see has changed.

Which makes the failures precise rather than a matter of taste. A simplification is illegitimate when it opens the envelope, creates an overlap that was not there, moves material somewhere it does not belong, or leaves the geometry ambiguous enough that two careful readers would get two different answers.

Notice what is not in that list: whether the author drew it that way. Authored intent is a reason to look closely at something. It is not, by itself, a reason to keep it in a model built to answer a different question.

What actually goes wrong

Across real projects the same three families come back, and they behave very differently.

  • Gaps. Two elements that visually meet but leave a thin void between them. A solver does not see a drawing convention; it sees an opening, and the building leaks through something nobody drew.
  • Duplicates and overlaps. The same wall present twice, or two elements sharing volume. Energy gets counted twice; a mesh generator produces a surface that faces both ways.
  • Detail below resolution. Sub-millimetre bends and offsets that are meaningless to the physics and fatal to meshing, because they survive simplification as degenerate slivers rather than disappearing cleanly.
AS DRAWN AS SOLVED GAP DUPLICATE SLIVER SHARED BOUNDARY CLOSED ENVELOPE
Figure 1. The three families. Only the third is cosmetic in appearance — all three change the answer.

Where translation has to stop

Some conditions have no single correct reading. Two walls that cross may be an error or a deliberate detail. A space with no enclosing boundary may be an omission or a shaft. Choosing silently is how a pipeline produces a model that looks right and is quietly wrong — and a quietly wrong model is worse than none, because nobody audits a number that looks reasonable.

So the correct output, in those cases, is the ambiguity itself: named, located, and handed back. Automatic correction belongs only where exactly one repair is geometrically possible.

Resolution

Where you measure decides what you learn.

Every result is reported at some resolution, and the choice is usually made without being noticed — a building total, an annual figure, a floor average. Averaging looks like a formatting decision. It is a modelling decision, and it can reverse the conclusion.

The clearest case is wind-driven ventilation. Rank the prevailing wind directions by total airflow through the building and one direction wins. Rank the same directions by the air change rate achieved in each individual room, and a different one does — because the winner at building scale is often the direction that lets air short-circuit between two well-placed openings without ever entering the rest of the plan.

RANKED WHOLE-BUILDING RANKED ROOM BY ROOM SW W S NW S SW NW W 1 2 3 4 1 2 3 4
Figure 2. Same building, same wind, same solver — two rankings. The aggregation is not a presentation choice; it is part of the model. Schematic.

The general rule follows directly: report at the resolution of the decision being made. If the question is whether one classroom will be comfortable in September, a building average cannot answer it, however precisely it is computed.

Benchmarks

A predicted number means nothing on its own.

An energy intensity, a reverberation time, a carbon figure: each becomes useful only against a reference. And there are two very different references, answering two very different questions. A code target says whether the design is permitted. Measured building stock says whether it is ordinary. Confusing them produces confident statements about the wrong thing.

When the comparison is against measured stock, two methodological choices decide whether it holds up under scrutiny.

  • Percentiles belong on the records, not on a curve. Survey data comes with sampling weights, and percentiles should be computed directly from the weighted records. Fitting a smooth distribution first makes a nicer chart and quietly inserts an assumption nobody asked for.
  • Thin categories get suppressed, not smoothed. Because weights vary, the count of surveyed buildings behind a category overstates how much that category can support. The honest move is to compute how much information is really there and, where it is too little, withhold the precise figure rather than publish false precision.
The limit worth stating

Measured stock describes buildings as operated — with their vacancies, their overridden setpoints and their broken controls. A new design compared against it is being compared to reality, not to an intention. That is usually the comparison you want, and it is never the same question as compliance.

Language models

Useful at the edges, disqualified in the middle.

Language models are genuinely useful in engineering software, and they are most often put exactly where they do the most damage. The line we draw is simple: they may help a person understand or describe a result, and they may never participate in producing one.

Appropriate

  • Turning a diagnostic into a sentence someone can act on.
  • Drafting the narrative sections of a report from computed results.
  • Translating a plain-language request into a run configuration, shown for confirmation before anything runs.

Disqualified

  • Interpreting, repairing or simplifying geometry.
  • Meshing, solving, or any part of the numerical chain.
  • Post-processing, or producing any number that reaches a report.
  • Deciding whether a model is sound enough to run.

The reason is §5. A component that can answer differently on a second run breaks reproducibility for everything downstream of it, and reproducibility is what makes the rest of the work defensible.