ronkok / Hurmet

Rich text editor on the web, featuring live calculations.
https://hurmet.org/
146 stars 1 forks source link

Issue when reusing Column headers #36

Closed swopnil123 closed 3 weeks ago

swopnil123 commented 3 weeks ago

One more thing I noticed. If we use ditto to access the first column from previously defined table, then then summation in the second column will go wrong.

image

image

Can you see this?

Originally posted by @swopnil123 in https://github.com/ronkok/Hurmet/issues/34#issuecomment-2429513390

swopnil123 commented 3 weeks ago
¢` format = "h4" `

#### Vertical Distribution of Seismic Force

From earlier analysis

::: indented
¢` S_DS = 1.0 `          ¢` I = 1.0 `

¢` V_base = 400kips `, base shear        ¢` T = 0.75 sec `, fundamental period
of the structure
:::

From ASCE-16 section 12.8.3, Equivalent Lateral Procedure

::: indented
¢` k = {   1 if T ≤ 0.5;   2 if T ≥ 2.5;   1 + (T - 0.5) // 2 otherwise } = ? `

¢` C_vs = (w × h^k) / (Σ (w × h^k)) `, vertical distribution coefficient, Eq.
12.8-12

¢` F = C_vs V_base `, local force, Eq. 12.8-11
:::

¶

: dist: Vertical Distribution of Seismic Force
+--------+----------+---------+----------+-----------+--------------+--------+
| Floor  | Weight\  | Height\ | w × h^k^ | C~vs~     | Force\       | Shear\ |
|        | kips     | ft      |          |           | kips         | kips   |
+========+:========:+:=======:+:========:+:=========:+:============:+:======:+
| roof   | 950      | 70      | =B1×C1^k | =D1/D_end | ==E1× V_base | =F1    |
+--------+----------+---------+----------+-----------+--------------+--------+
| fifth  | 1,250    | 56      | "        | "         | "            | =G1+F2 |
+--------+----------+---------+----------+-----------+--------------+--------+
| fourth | "        | 42      | "        | "         | "            | "      |
+--------+----------+---------+----------+-----------+--------------+--------+
| third  | "        | 28      | "        | "         | "            | "      |
+--------+----------+---------+----------+-----------+--------------+--------+
| second | "        | 14      | "        | "         | "            | "      |
+--------+----------+---------+----------+-----------+--------------+--------+
| total  | =sum(up) | 0       | =sum(up) |           | =sum(up)     | =F_end |
+--------+----------+---------+----------+-----------+--------------+--------+
{#dist ."four-rules spreadsheet" colWidths="NaN NaN NaN NaN NaN NaN NaN"}

Next, let’s find the design diaphragm forces.

::: indented
¢` F_pxTrial = (∑F_(i=1)^n) / (∑W_(i=1)^n) W_i `, Eqn 12.10-1

¢` F_pxMin = 0.2 S_DS I w_px `. This usually controls.

¢` F_pxMax = 0.4 S_DS I w_px `
:::

: fram: Diaphragm Forces
+--------+----------+--------+----------+----------+-------------+----------------+-----------+---------------------+
| Floor  | Weight\  | ΣW\    | F\       | ΣF\      | F~pxTrial~\ | F~pxMin~\      | F~pxMax~\ | F~px~\              |
|        | kips     | kips   | kips     | kips     | kips        | kips           | kips      | kips                |
+:======:+:========:+:======:+:========:+:========:+:===========:+:==============:+:=========:+:===================:+
| roof   | 950      | =B1    | =dist.F1 | =dist.G1 | =E1/C1×B1   | =0.2×S_DS×I×B1 | =2×G1     | =min(max(F1,G1),H1) |
+--------+----------+--------+----------+----------+-------------+----------------+-----------+---------------------+
| fifth  | 1,250    | =C1+B2 | "        | "        | "           | "              | "         | "                   |
+--------+----------+--------+----------+----------+-------------+----------------+-----------+---------------------+
| fourth | "        | "      | "        | "        | "           | "              | "         | "                   |
+--------+----------+--------+----------+----------+-------------+----------------+-----------+---------------------+
| third  | "        | "      | "        | "        | "           | "              | "         | "                   |
+--------+----------+--------+----------+----------+-------------+----------------+-----------+---------------------+
| second | "        | "      | "        | "        | "           | "              | "         | "                   |
+--------+----------+--------+----------+----------+-------------+----------------+-----------+---------------------+
| total  | =sum(up) | =B_end | "        | "        |             |                |           |                     |
+--------+----------+--------+----------+----------+-------------+----------------+-----------+---------------------+
{#fram ."four-rules spreadsheet" colWidths="69 71 NaN NaN NaN 83 64 NaN NaN"}

Same example discussed earlier.

ronkok commented 3 weeks ago

I have not been able to reproduce the error you describe. I copied the text from your comment above, then invoked the Paste from Markdown command in a blank document. The result has the correct value at the bottom of the second column.

Please try the same (copy and paste) steps. If you get the same results, we can explore how your other document arrived at an incorrect result.

swopnil123 commented 3 weeks ago

Please use this

¢` format = "h4" `

#### Vertical Distribution of Seismic Force

From earlier analysis

::: indented
¢` S_DS = 1.0 `          ¢` I = 1.0 `

¢` V_base = 400kips `, base shear        ¢` T = 0.75 sec `, fundamental period
of the structure
:::

From ASCE-16 section 12.8.3, Equivalent Lateral Procedure

::: indented
¢` k = {   1 if T ≤ 0.5;   2 if T ≥ 2.5;   1 + (T - 0.5) // 2 otherwise } = ? `

¢` C_vs = (w × h^k) / (Σ (w × h^k)) `, vertical distribution coefficient, Eq.
12.8-12

¢` F = C_vs V_base `, local force, Eq. 12.8-11
:::

¶

: dist: Vertical Distribution of Seismic Force
+--------+----------+---------+----------+-----------+--------------+--------+
| Floor  | Weight\  | Height\ | w × h^k^ | C~vs~     | Force\       | Shear\ |
|        | kips     | ft      |          |           | kips         | kips   |
+========+:========:+:=======:+:========:+:=========:+:============:+:======:+
| roof   | 950      | 70      | =B1×C1^k | =D1/D_end | ==E1× V_base | =F1    |
+--------+----------+---------+----------+-----------+--------------+--------+
| fifth  | 1,250    | 56      | "        | "         | "            | =G1+F2 |
+--------+----------+---------+----------+-----------+--------------+--------+
| fourth | "        | 42      | "        | "         | "            | "      |
+--------+----------+---------+----------+-----------+--------------+--------+
| third  | "        | 28      | "        | "         | "            | "      |
+--------+----------+---------+----------+-----------+--------------+--------+
| second | "        | 14      | "        | "         | "            | "      |
+--------+----------+---------+----------+-----------+--------------+--------+
| total  | =sum(up) | 0       | =sum(up) |           | =sum(up)     | =F_end |
+--------+----------+---------+----------+-----------+--------------+--------+
{#dist ."four-rules spreadsheet" colWidths="NaN NaN NaN NaN NaN NaN NaN"}

Next, let’s find the design diaphragm forces.

::: indented
¢` F_pxTrial = (∑F_(i=1)^n) / (∑W_(i=1)^n) W_i `, Eqn 12.10-1

¢` F_pxMin = 0.2 S_DS I w_px `. This usually controls.

¢` F_pxMax = 0.4 S_DS I w_px `
:::

: fram: Diaphragm Forces
+----------+----------+--------+----------+----------+-------------+----------------+-----------+---------------------+
| Floor    | Weight\  | ΣW\    | F\       | ΣF\      | F~pxTrial~\ | F~pxMin~\      | F~pxMax~\ | F~px~\              |
|          | kips     | kips   | kips     | kips     | kips        | kips           | kips      | kips                |
+:========:+:========:+:======:+:========:+:========:+:===========:+:==============:+:=========:+:===================:+
| =dist.A1 | =dist.B1 | =B1    | =dist.F1 | =dist.G1 | =E1/C1×B1   | =0.2×S_DS×I×B1 | =2×G1     | =min(max(F1,G1),H1) |
+----------+----------+--------+----------+----------+-------------+----------------+-----------+---------------------+
| “        | “        | =C1+B2 | "        | "        | "           | "              | "         | "                   |
+----------+----------+--------+----------+----------+-------------+----------------+-----------+---------------------+
| “        | "        | "      | "        | "        | "           | "              | "         | "                   |
+----------+----------+--------+----------+----------+-------------+----------------+-----------+---------------------+
| “        | "        | "      | "        | "        | "           | "              | "         | "                   |
+----------+----------+--------+----------+----------+-------------+----------------+-----------+---------------------+
| “        | "        | "      | "        | "        | "           | "              | "         | "                   |
+----------+----------+--------+----------+----------+-------------+----------------+-----------+---------------------+
| total    | =sum(up) | =B_end | "        | "        |             |                |           |                     |
+----------+----------+--------+----------+----------+-------------+----------------+-----------+---------------------+
{#fram ."four-rules spreadsheet" colWidths="69 71 NaN NaN NaN 83 64 NaN NaN"}
ronkok commented 3 weeks ago

Yes, now I can reproduce the error. I'll take a look at it. By the way, thank you for writing your example in Markdown. That makes it much easier for me to reproduce what you are seeing.

ronkok commented 3 weeks ago

The bug is fixed, now. Thank you for bringing this to my attention.