Skip to content

Commit

Permalink
Hrup Calc Fixes
Browse files Browse the repository at this point in the history
  • Loading branch information
malamalca committed Sep 22, 2024
1 parent bafeaac commit 22ea03d
Show file tree
Hide file tree
Showing 17 changed files with 280 additions and 140 deletions.
Binary file not shown.
55 changes: 25 additions & 30 deletions projects/Hrup/TestniProjekt/izracuni/elementi/konstrukcije.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,38 +4,33 @@
"id": "Z.Z",
"naziv": "AB 20 cm - zahtevna konstrukcija",
"racunskiPasovi": "tercni",
"povrsinskaMasa": 460,
"gostota": 2300,
"debelina": 5,
"povrsinskaMasa": 500,
"gostota": 2500,
"debelina": 0.2,
"hitrostLongitudinalnihValov": 3500,
"faktorNotranjegaDusenja": 0.006,
"R": {
"50": 48.20145345723034,
"63": 49.41278648358857,
"80": 50.61637722975654,
"100": 51.69432565469048,
"125": 52.727068390155985,
"160": 52.11036793457773,
"200": 51.40469533123917,
"250": 50.5237529907412,
"315": 49.24337964810252,
"400": 46.929318321418556,
"500": 43.87684765093071,
"630": 59.89673268701394,
"800": 63.00707292007271,
"1000": 65.00040785318242,
"1250": 66.94552425710174,
"1600": 69.09091374716309,
"2000": 71.02929725980674,
"2500": 72.96753509337174,
"3150": 74.9749541250682,
"4000": 77.04994457919649,
"5000": 78.98814516878451
"100": 41.15699839588477,
"125": 42.75252452324836,
"160": 44.34537449284386,
"200": 45.77764476026948,
"250": 47.958472095681216,
"315": 50.95381998600936,
"400": 53.87599272279792,
"500": 56.49139560532659,
"630": 59.110108140261175,
"800": 61.736868487118166,
"1000": 64.1257352793404,
"1250": 66.45708042918537,
"1600": 68.97281213371001,
"2000": 71.19189661737965,
"2500": 73.3608900961702,
"3150": 75.55704326779575
},
"Rw": 63,
"Rw": 60,
"dR": -1,
"C": -7,
"Ctr": -10,
"C": -2,
"Ctr": -6,
"dodatniSloji": [
{
"vrsta": "elasticen",
Expand All @@ -49,12 +44,12 @@
{
"id": "Z.1",
"naziv": "AB 20 cm",
"povrsinskaMasa": 460,
"Rw": 58,
"povrsinskaMasa": 500,
"Rw": 59,
"dR": -1,
"C": -2,
"Ctr": -7,
"Lnw": 70.80347589114491,
"Lnw": 69.53604984823934,
"dodatniSloji": [
{
"vrsta": "elasticen",
Expand Down
12 changes: 6 additions & 6 deletions projects/Hrup/TestniProjekt/izracuni/zunanjiHrup.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,12 @@
"Af": 12.127200000000002,
"Sf": 24.2,
"minRw": 25,
"Rw": 20.998008856829262,
"Rw": 20.999362237145334,
"Lzunaj": 60,
"Lmax": 35,
"fasade": [
{
"Rw": 23.99855711713521,
"Rw": 23.999910497451282,
"deltaL_fasada": 0,
"povrsina": 24.2,
"vplivPrometa": true,
Expand All @@ -25,7 +25,7 @@
"idKonstrukcije": "Z.1",
"povrsina": 14.6,
"stevilo": 1,
"Rw": 57,
"Rw": 58,
"C": -2,
"Ctr": -7
}
Expand Down Expand Up @@ -53,12 +53,12 @@
"Af": 12.127200000000002,
"Sf": 24.2,
"minRw": 25,
"Rw": 20.998008856829262,
"Rw": 20.999362237145334,
"Lzunaj": 60,
"Lmax": 35,
"fasade": [
{
"Rw": 23.99855711713521,
"Rw": 23.999910497451282,
"deltaL_fasada": 0,
"povrsina": 24.2,
"vplivPrometa": true,
Expand All @@ -70,7 +70,7 @@
"idKonstrukcije": "Z.1",
"povrsina": 14.6,
"stevilo": 1,
"Rw": 57,
"Rw": 58,
"C": -2,
"Ctr": -7
}
Expand Down
Binary file modified projects/Hrup/TestniProjekt/pdf/HrupElaborat.pdf
Binary file not shown.
Binary file modified projects/Hrup/TestniProjekt/pdf/HrupIzkaz.pdf
Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
"id": "Z.Z",
"naziv": "AB 20 cm - zahtevna konstrukcija",
"zahtevnost": "zahtevna",
"gostota": 2300,
"povrsinskaMasa": 460,
"gostota": 2500,
"povrsinskaMasa": 500,
"hitrostLongitudinalnihValov": 3500,
"faktorNotranjegaDusenja": 0.006,
"dodatniSloji": [
Expand All @@ -19,7 +19,7 @@
{
"id": "Z.1",
"naziv": "AB 20 cm",
"povrsinskaMasa": 460,
"povrsinskaMasa": 500,
"dodatniSloji": [
{
"vrsta": "elasticen",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
"id": "O.1",
"naziv": "Troslojna zasteklitev",
"vrsta": "okno",
"R": [25, 25, 22, 14, 15, 23, 27, 33, 39, 43, 45, 47, 48, 45, 45, 40],
"Rw": 29,
"C": -1,
"Ctr": -4
Expand Down
1 change: 1 addition & 0 deletions projects/Hrup/TestniProjekt/podatki/splosniPodatki.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
}
],
"vodjaProjektiranja": "Franc Pavlin, udia, ZAPS 1122",
"projektant": "ARHIM d.o.o., Slakova ulica 36, 8210 Trebnje",
"izdelovalec": "Franc Pavlin, udia, ZAPS 1122",
"stevilkaElaborata": "2023-01",
"datum": "april 2023"
Expand Down
1 change: 1 addition & 0 deletions schemas/Hrup/splosniPodatkiSchema.json
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@
}
},
"vodjaProjektiranja": {"type": "string"},
"projektant": {"type": "string"},
"izdelovalec": {"type": "string"},
"stevilkaElaborata": {"type": "string"},
"datum": {"type": "string"}
Expand Down
66 changes: 21 additions & 45 deletions src/Calc/Hrup/Elementi/Konstrukcija.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,23 +4,12 @@
namespace App\Calc\Hrup\Elementi;

use App\Calc\Hrup\Elementi\Izbire\VrstaDodatnegaSloja;
use App\Lib\Calc;
use App\Lib\EvalMath;

class Konstrukcija
{
//private const FQS = [100, 125, 160, 200, 250, 315, 400, 500, 630, 800, 1000, 1250, 1600, 2000, 2500];
private const FQS = [
50, 63, 80,
100, 125, 160, 200, 250, 315, 400, 500, 630, 800, 1000, 1250, 1600, 2000, 2500,
3150, 4000, 5000,
];
//private const FQS = [63, 125, 250, 500, 1000, 2000, 4000];

private const RF = [0, 0, 0, 33, 36, 39, 42, 45, 48, 51, 52, 53, 54, 55, 56, 56, 56, 56, 0, 0, 0];
private const SPQ_C = [41, 37, 34, 30, 27, 24, 22, 20, 18, 16, 14, 13, 12, 11, 10, 10, 10, 10, 10, 10, 10];
private const SPQ_CTR = [25, 23, 21, 20, 20, 18, 16, 15, 14, 13, 12, 11, 9, 8, 9, 10, 11, 13, 15, 16, 18];

private const HITROST_ZVOKA = 344;
private const HITROST_ZVOKA = 343;
private const GOSTOTA_ZRAKA = 1.18;
private const DOLZINA_ROBA_1 = 4;
private const DOLZINA_ROBA_2 = 3;
Expand Down Expand Up @@ -109,7 +98,7 @@ protected function parseConfig($config)
}
}

$this->debelina = $this->gostota / $this->povrsinskaMasa;
$this->debelina = $this->povrsinskaMasa / $this->gostota;
}

/**
Expand All @@ -128,8 +117,19 @@ public function analiza()
// kritična frekvenca
$fcrit = pow(self::HITROST_ZVOKA, 2) / (1.8 * $this->hitrostLongitudinalnihValov * $this->debelina);

//$E = 68000000000; // young
//$poi = 0.23; // poisson

//$B = ($E * pow($this->debelina, 3)) / (12.0 * (1.0 - pow($poi, 2))); // Rigidez del material [Nm^2]
//$fc = pow(self::HITROST_ZVOKA, 2) / (2 * pi()) * sqrt($this->povrsinskaMasa / $B); // Frecuencia crítica [Hz]
$f11 = pow(self::HITROST_ZVOKA, 2) / (4 * $fcrit) *
((1 / pow(self::DOLZINA_ROBA_1, 2)) + (1 / pow(self::DOLZINA_ROBA_2, 2)));

//$fcrit = $fc;
$fc = $fcrit;

// izračun faktorja sevanja "radiation factor"
foreach (self::FQS as $fq) {
foreach (Calc::FREKVENCE_TERCE as $fq) {
// valovno število v radianih na m
$k0 = 2 * pi() * $fq / self::HITROST_ZVOKA;

Expand Down Expand Up @@ -165,14 +165,15 @@ public function analiza()
$sigma2 = 4 * self::DOLZINA_ROBA_1 * self::DOLZINA_ROBA_2 * pow($fq / self::HITROST_ZVOKA, 2);
$sigma3 =
sqrt((2 * pi() * $fq * (self::DOLZINA_ROBA_1 + self::DOLZINA_ROBA_2)) / (16 * self::HITROST_ZVOKA));
$f11 = pow(self::HITROST_ZVOKA, 2) / (4 * $fc) * (1 / pow(self::DOLZINA_ROBA_1, 2) +
1 / pow(self::DOLZINA_ROBA_2, 2));
//$f11 = pow(self::HITROST_ZVOKA, 2) / (4 * $fc) * (1 / pow(self::DOLZINA_ROBA_1, 2) +
// 1 / pow(self::DOLZINA_ROBA_2, 2));

// enačba B.3b posebej
$lambda = sqrt($fq / $fc);

$delta1 = (((1 - pow($lambda, 2)) * log((1 + $lambda) / (1 - $lambda)) + 2 * $lambda)) /
(4 * pow(pi(), 2) * pow(1 - pow($lambda, 2), 1.5));

if ($fq > $fc / 2) {
$delta2 = 0;
} else {
Expand Down Expand Up @@ -252,34 +253,9 @@ public function analiza()
$this->R[$fq] = -10 * log10($tau);
}

// 717-1
$shift = -40;
$shiftSum = 99;
while ($shift < 40 && $shiftSum > 32) {
$shiftSum = 0;
foreach (self::FQS as $ix => $fq) {
if (self::RF[$ix] <> 0 && $this->R[$fq] - (self::RF[$ix] + $shift) > 0) {
$shiftSum += $this->R[$fq] - (self::RF[$ix] + $shift);
}
}
$shift++;
}

$this->Rw = 52 + $shift - 1;

$sumTau = 0;
foreach (self::FQS as $ix => $fq) {
$sumTau += pow(10, (-self::SPQ_C[$ix] - $this->R[$fq]) / 10);
}

$this->C = -($this->Rw - round((-10 * log10($sumTau)), 0));

$sumTau = 0;
foreach (self::FQS as $ix => $fq) {
$sumTau += pow(10, (-self::SPQ_CTR[$ix] - $this->R[$fq]) / 10);
}

$this->Ctr = -($this->Rw - round((-10 * log10($sumTau)), 0));
$this->Rw = Calc::izracunajRw($this->R);
$this->C = Calc::izracunajC($this->R);
$this->Ctr = Calc::izracunajCtr($this->R);

// dodatni sloji
foreach ($this->dodatniSloji as $dodatniSloj) {
Expand Down
Loading

0 comments on commit 22ea03d

Please sign in to comment.