Files
Pier_v1/tests/column-model.test.ts
T
ypshimandClaude Haiku 5.5 f989315e02 feat(rebar): P1 top = C3 − 100 with e_P1 computed; coupler rule keeps 2.5 m below the P1 top
e_P1 is no longer an input: P1 top = C3 (lowest coping top − 127 − 2·57.2 = 43.170) − 100 = 43.070, so e_P1 = step top −
43.070 = 485 mm. The P1 top moves from 15147 to 14862 mm; the top piece shortens by 285 mm. Couplers are placed at k·3000
with at least 2500 mm below the P1 top (a value to confirm). On P1 the coupler count stays at four (3, 6, 9, 12 m). P2 and
the tie top do not change.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-23 13:19:09 +09:00

28 lines
1.3 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import { describe, expect, it } from 'vitest';
import { buildPier } from '../src/core/geometry';
import { columnInputFor, columnRebar } from '../src/core/rebar/column';
import { loadP1 } from './helpers';
describe('기둥 철근 높이는 모델에서 (Hc · h_cop, 승인 2026-10-23)', () => {
it('P1: Hc 12703 and h_cop 2644 come out of the model, as in 기둥철근.md', () => {
const input = columnInputFor(buildPier(loadP1()));
expect(input.Hc).toBeCloseTo(12703, 0);
expect(input.hcop).toBeCloseTo(2644, 0);
const col = columnRebar(input);
expect(col.zTop2).toBeCloseTo(14539, 0);
expect(col.zTop1).toBeCloseTo(14862, 0);
});
it('taper h2 = 3000: Level underside 39.411, Hc 11203, P2 top 13039 (= Level underside + l_d)', () => {
const m = buildPier({ ...loadP1(), copingH2Mm: 3000 });
const input = columnInputFor(m);
expect(input.Hc).toBeCloseTo(11203, 0);
// h_cop = step top (43.555) − Level underside (39.411): the coping at the column gets taller with h2.
expect(input.hcop).toBeCloseTo(4144, 0);
const col = columnRebar(input);
expect(col.zTop2).toBeCloseTo(13039, 0);
// The P1 top is anchored to the step top (and C3), so it does not move with h2.
expect(col.zTop1).toBeCloseTo(14862, 0);
});
});