Source: https://guthlabs.ai/docs/instruments/maxwell-boltzmann-speed-distribution-calculator/mechanism/

instrument mechanism / verified-clean

# Maxwell-Boltzmann Speed Distribution Calculator mechanism

The inspectable method record for Maxwell-Boltzmann Speed Distribution Calculator, kept separate from implementation and qualification.

Status: **VERIFIED_CLEAN**Lifecycle: **verified-clean**

## Model scope

The formulas and stated computation are standard after the molar-mass conversion, but the spec is ambiguous because it names molar mass M while writes formulas in terms of molecular mass m. The exact review item is the missing definition/conversion of m versus M, plus the unstated domain T>0 and plot-density units. Verdict is NEEDS_REVIEW rather than PASS until those are made explicit.

- The speed formulas are correct only when m is the mass of one molecule in kilograms. The stated input is molar mass M, so the implementation must explicitly convert m=M/N_A, or use the equivalent forms v_p=sqrt(2RT/M), v_avg=sqrt(8RT/(pi M)), and v_rms=sqrt(3RT/M).

- The distribution formula is correct for the normalized three-dimensional speed probability density f(v), with v>=0, T>0, and m>0. It must not be labeled as a probability at an exact speed; probabilities require integrating f(v) over a speed interval.

- The specification does not state the required plot normalization, although the supplied f(v) has units of s/m and integral 1 over v from 0 to infinity.

- The model is specifically classical Maxwell-Boltzmann equilibrium statistics, not a general ideal-gas distribution at arbitrary density or temperature. The honest label should also mention the nonrelativistic and dilute-gas assumptions.

## Units and conventions

- T is absolute temperature in kelvin, with T>0.

- M is molar mass in kg/mol after conversion from any displayed g/mol value; R=8.314462618 J/(mol K).

- Equivalently, m is molecular mass in kg and k_B=1.380649e-23 J/K.

- v is in m/s and f(v) is in (m/s)^-1, numerically s/m.

- The distribution plot is f(v)=4*pi*(M/(2*pi*R*T))^(3/2)*v^2*exp(-M*v^2/(2*R*T)) when using molar mass.

## Inspectable vector

One of 4 source-bound review vectors:

````
{
  "inputs": {
    "M": 0.004,
    "M_unit": "kg/mol",
    "T": 300,
    "R": 8.314462618,
    "sampled_speeds_m_per_s": [
      0,
      1116.767
    ]
  },
  "expected_outputs": {
    "v_p_m_per_s": 1116.767,
    "v_avg_m_per_s": 1260.138,
    "v_rms_m_per_s": 1367.755,
    "plot_samples": {
      "f_0_s_per_m": 0,
      "f_at_v_p_s_per_m": 0.0007433
    },
    "curve_features": {
      "root": "v=0",
      "maximum": "v=v_p=1116.767 m/s",
      "high_speed_asymptote": "f(v)->0 as v->infinity"
    }
  },
  "working": "First compute RT/M=(8.314462618*300)/0.004=623584.69635 m^2/s^2. Then v_p=sqrt(2*623584.69635)=sqrt(1247169.3927)=1116.767 m/s. v_avg=sqrt((8/pi)*623584.69635)=sqrt(158? approximately 1587946.8)=1260.138 m/s. v_rms=sqrt(3*623584.69635)=sqrt(1870754.08905)=1367.755 m/s. For the density, alpha=M/(2RT)=0.004/(2*8.314462618*300)=8.01815e-7 s^2/m^2. At v=0, f=constant*0^2*exp(0)=0. At v=v_p, alpha*v^2=1, so f=(4/sqrt(pi))*sqrt(alpha)*exp(-1)=(2.25675833)*(1/1116.767)*0.367879=0.0007433 s/m."
}
````

## Failure boundary

**BREAK_CLAIMED** · SELF_FLAGGED

The specification exposes undefined or nonphysical inputs at T=0, M=0, and T<0, and a factor-of-31.6 unit-convention error is possible if molar-mass units are not enforced. The calculator should reject these cases or clearly label the limiting behavior and units.

## Other records

[01**Overview**](<https://guthlabs.ai/docs/instruments/maxwell-boltzmann-speed-distribution-calculator/>)[03**Implementation**](<https://guthlabs.ai/docs/instruments/maxwell-boltzmann-speed-distribution-calculator/implementation/>)[04**Qualification**](<https://guthlabs.ai/docs/instruments/maxwell-boltzmann-speed-distribution-calculator/qualification/>)

## Sources and evidence

These pointers bind the page to evidence. They do not grant authority or collapse verification into deployment.

- `VERIFIED_LEDGER.json`

- `evidence-tranche6/tranche6-results.json`

- `BOUNDARY_HAZARD_CATALOG.json`
