Codice PHP:
<?
$nomefile="INPUT";
$fileextension="$nomefile".".portale";
echo "\r\n";
echo"
+-----------------------------------------------------------------------------+
| * |
| @***** CAP_portale - un programma di Antonio Sieno *****@ |
| |
| ***** Portale a 2 campate con tratti rigidi ***** |
| |
+-----------------------------------------------------------------------------+
\r\n";
$arrayrighe=file($fileextension);
//print_r($arrayrighe);echo "\n\n";//TUTTO in ARRAY
$numerorighe=count($arrayrighe);
//echo $numerorighe."\n";
IF ($numerorighe==15){
echo " @***** Dati File Input *****@ \r\n\n";
list($riga01, $riga02, $riga03, $riga04, $riga05, $riga06, $riga07, $riga08, $riga09, $riga10, $riga11, $riga12, $riga13, $riga14, $riga15)=$arrayrighe;
$riga01=explode(" ",$riga01);$E=$riga01[0]; $alfa=$riga01[1];
$riga02=explode(" ",$riga02);$H1=$riga02[0]; $H2=$riga02[1]; $H3=$riga02[2];
$riga03=explode(" ",$riga03);$e1=$riga03[0]; $e2=$riga03[1]; $e3=$riga03[2];
$riga04=explode(" ",$riga04);$I1=$riga04[0]; $I2=$riga04[1]; $I3=$riga04[2];
$riga05=explode(" ",$riga05);$l1=$riga05[0]; $l2=$riga05[1];
$riga06=explode(" ",$riga06);$ht1=$riga06[0];$ht2=$riga06[1];
$riga07=explode(" ",$riga07);$et1=$riga07[0];$et2=$riga07[1];
$riga08=explode(" ",$riga08);$It1=$riga08[0];$It2=$riga08[1];
$riga09=explode(" ",$riga09);$hc1=$riga09[0];$hc2=$riga09[1]; $hc3=$riga09[2];
$riga10=explode(" ",$riga10);$ec1=$riga10[0];$ec2=$riga10[1]; $ec3=$riga10[2];
$riga11=explode(" ",$riga11);$g1=$riga11[0]; $g2=$riga11[1];
$riga12=explode(" ",$riga12);$q1=$riga12[0]; $q2=$riga12[1];
$riga13=explode(" ",$riga13);$qv=$riga13[0]; $Fv=$riga13[1]; $Fs=$riga13[2];
$riga14=explode(" ",$riga14);$Dt=$riga14[0]; $Dt1=$riga14[1];
$riga15=explode(" ",$riga15);$p1=$riga15[0]; $p2=$riga15[1]; $p3=$riga15[2]; $p4=$riga15[3];
IF(count($riga01)!=2){die("FILE INPUT struttura errata: Riga 01");}
IF(count($riga02)!=3){die("FILE INPUT struttura errata: Riga 02");}
IF(count($riga03)!=3){die("FILE INPUT struttura errata: Riga 03");}
IF(count($riga04)!=3){die("FILE INPUT struttura errata: Riga 04");}
IF(count($riga05)!=2){die("FILE INPUT struttura errata: Riga 05");}
IF(count($riga06)!=2){die("FILE INPUT struttura errata: Riga 06");}
IF(count($riga07)!=2){die("FILE INPUT struttura errata: Riga 07");}
IF(count($riga08)!=2){die("FILE INPUT struttura errata: Riga 08");}
IF(count($riga09)!=3){die("FILE INPUT struttura errata: Riga 09");}
IF(count($riga10)!=3){die("FILE INPUT struttura errata: Riga 10");}
IF(count($riga11)!=2){die("FILE INPUT struttura errata: Riga 11");}
IF(count($riga12)!=2){die("FILE INPUT struttura errata: Riga 12");}
IF(count($riga13)!=3){die("FILE INPUT struttura errata: Riga 13");}
IF(count($riga14)!=2){die("FILE INPUT struttura errata: Riga 14");}
IF(count($riga15)!=4){die("FILE INPUT struttura errata: Riga 15");}
$f1 = $p1/10; $f2 = $p2/10; $f3 = $p3/10; $f4 = $p4/10;
/*01*/ echo "E = ". $E."\t alfa = ". $alfa."\r\n";
/*02*/ echo "H1 = ". $H1."\t H2 = ". $H2."\t H3 = ". $H3."\r";
/*03*/ echo "e1 = ". $e1." \t e2 = ". $e2."\t e3 = ". $e3."\r";
/*04*/ echo "I1 = ". $I1."\t I2 = ". $I2."\t I3 = ". $I3."\r\n";
/*05*/ echo "L1 = ". $l1."\t L2 = ". $l2."\r";
/*06*/ echo "ht1 = ". $ht1."\t ht2 = ". $ht2."\r";
/*07*/ echo "et1 = ". $et1."\t et2 = ". $et2."\r";
/*08*/ echo "It1 = ". $It1."\t It2 = ". $It2."\r";
/*09*/ echo "hc1 = ". $hc1."\t hc2 = ". $hc2."\t hc3 = ". $hc3."\r";
/*10*/ echo "ec1 = ". $ec1."\t ec2 = ". $ec2."\t ec3 = ". $ec3."\r\n";
/*11*/ echo "g1 = ". $g1." \t g2 = ". $g2."\r";
/*12*/ echo "q1 = ". $q1." \t q2 = ". $q2."\r";
/*13*/ echo "qv = ". $qv." \t Fv = ". $Fv."\t Fs = ". $Fs."\r";
/*14*/ echo "Dt = ". $Dt." \t Dt1 = ". $Dt1."\r";
/*15*/ echo "P1 = ". $p1." \t P2 = ". $p2."\t P3 = ". $p3."\t P4 = ". $p4."\r\n";
/*16*/ echo "F1 = ". $f1." \t F2 = ". $f2."\t F3 = ". $f3."\t F4 = ". $f4."\r\n";
}ELSE{
die("FILE INPUT struttura errata: NUMERO DI RIGHE");
}
echo " @***** Metodo degli Spostamenti *****@ \r\n\n";
echo " Equazione risolvente: R0+delta3*R1aus=0 \r\n\n";
$da1=0;
$da2=0;
$da3=0;
$K1 = 1/(pow($H1,3)/(3*$E*$I1)+$da1);
$K2 = 1/(pow($H2,3)/(3*$E*$I2)+$da2);
$K3 = 1/(pow($H3,3)/(3*$E*$I3)+$da3);
$delta01 = -$alfa*$l1*$Dt-$alfa*$l2*$Dt+2*$alfa*$Dt1*($l1*$et1/$ht1)+2*$alfa*$Dt1*($l2*$et2/$ht2)-2*($q1+$g1)*pow($l1,3)*$et1/(24*$E*$It1)-2*($q2+$g2)*pow($l2,3)*$et2/(24*$E*$It2);
$delta02 = -$alfa*$l2*$Dt+2*$alfa*$Dt1*($l2*$et2/$ht2)-2*($q2+$g2)*pow($l2,3)*$et2/(24*$E*$It2);
$delta03 = 0;
IF (!$qv==0){ //ventosa distribuita
$Fo1 = 3*$qv*$H1/3;
$Fo3 = 3*$qv/2*$H3/3;
}ELSEIF(!$Fv==0){//ventosa concentrata
$Fo1 = $Fv;
$Fo3 = $Fv/2;
}ELSEIF(!$Fs==0){//sisma
$Fs=str_replace("\r\n","",$Fs);
$Fo1 = $Fs;
$Fo3 = 0;
}ELSE{//senza forze orizzontali
$Fo1 = 0;
$Fo3 = 0;
}
$Q1 = ($q1+$g1)*$l1/2;
$Q2 = ($q1+$g1+$g2+$q2)*($l1+$l2)/2;
$Q3 = ($q2+$g2)*$l2/2;
$P1 = $p1;
$F1 = $f1;
$P2 = $p2+$p3;
$F2 = $f2+$f3;
$p4=str_replace("\r\n","",$p4);
$f4=str_replace("\r\n","",$f4);
$P3 = $p4;
$F3 = $f4;
$R01car = $Fo1+3*$Q1*$e1/(2*$H1)+$F1*pow($hc1,2)*(2+($H1-$hc1)/$H1)/(2*pow($H1,2))+3*$P1*$ec1*(pow($hc1,2)/2+$hc1*($H1-$hc1))/pow($H1,3);
$R02car = 3*$Q2*$e2/(2*$H2)+$F2*pow($hc2,2)*(2+($H2-$hc2)/$H2)/(2*pow($H2,2))+3*$P2*$ec2*(pow($hc2,2)/2+$hc2*($H2-$hc2))/pow($H2,3);
$R03car = $Fo3+3*$Q3*$e3/(2*$H3)+$F3*pow($hc3,2)*(2+($H3-$hc3)/$H3)/(2*pow($H3,2))+3*$P3*$ec3*(pow($hc3,2)/2+$hc3*($H3-$hc3))/pow($H3,3);
$R01 = $R01car-$K1*$delta01;
$R02 = $R02car-$K2*$delta02;
$R03 = $R03car-$K3*$delta03;
$R0 = $R01+$R02+$R03;
$R1aus = -($K1+$K2+$K3);
$delta3 = -$R0/$R1aus;
$delta2 = $delta02+$delta3;
$delta1 = $delta01+$delta2;
$R1 = $R01car-$K1*$delta1;
$R2 = $R02car-$K2*$delta2;
$R3 = $R03car-$K3*$delta3;
$N1 = $P1+$Q1;
$N2 = $P2+$Q2;
$N3 = $P3+$Q3;
$M1 = ($Fo1-$R1)*$H1+$F1*$hc1+$P1*$ec1+$Q1*$e1;
$M2 = -$R2*$H2+$F2*$hc2;
$M3 = ($Fo3-$R3)*$H3+$F3*$hc3-$P3*$ec3-$Q3*$e3;
$T1 = ($Fo1-$R1)+$F1;
$T2 = -$R2+$F2;
$T3 = ($Fo3-$R3)+$F3;
echo "Q1 = ". $Q1."\t Q2 = ". $Q2."\t Q3 = ". $Q3."\r\n";
echo "P1 = ". $P1."\t P2 = ". $Q2."\t P3 = ". $P3."\r\n";
echo "F1 = ". $F1."\t F2 = ". $F2."\t F3 = ". $F3."\r\n";
echo "Fo1 = ". $Fo1."\t\t\t Fo3 = ". $Fo3."\r\n\n";
echo "R0 = ". round($R0)."\t R01aus = ". round($R1aus)."\t delta3 = ". round($delta3,2)."\r\n\n";
echo "K1 = ". round($K1)."\t K2 = ". round($K2)."\t K3 = ". round($K3)."\r\n";
echo "delta1 = ". round($delta1,2)."\t delta2 = ". round($delta2,2)."\t delta3 = ". round($delta3,2)."\r\n";
echo "R1 = ". round($R1)."\t R2 = ". round($R2)."\t R3 = ". round($R3)."\r\n";
echo "N1 = ". $N1."\t N2 = ". $N2."\t N3 = ". $N3."\r\n";
echo "M1 = ". round($M1)."\t M2 = ". round($M2)."\t M3 = ". round($M3)."\r\n";
echo "T1 = ". round($T1)."\t T2 = ". round($T2)."\t T3 = ". round($T3)."\r\n\n";
echo "\t\t***** Quit CAP_portale - By Antonio Sieno ***** "."\r\n";
?>