var P_b=0,F_w=0,P_w=0,F=0,P=0;
var a=a_max; // Beschleunigung in m/(s*s)
var A_w=rho*c_w_A; // Wirksame Flaeche in kg/m
var F_b=m*a; // Beschleunigungskraft in kg*m/(s*s) = N
var P_b=F_b*v; // Beschleunigungsleistung in kg*m*m/(s*s*s) = W
var F_w=0.5*A_w*v*v; // Luftwiderstandskraft in kg*m/(s*s) = N
var P_w=F_w*v; // Luftwiderstandsleistung in kg*m*m/(s*s*s) = W
var F=F_b+F_w; // Gesamtantriebskraft in N
var P=P_b+P_w; // Gesamtantriebsleistung in W
var delta_s=0.5*a+v; // Wegdifferenz bei angenaehert gleichfoermiger Beschleunigung in m
var s=0.0; // Streckenlaenge ab Station 0 in m
var W=F*delta_s; // Arbeit in N*m = J
var t=0.0; // Zeit anfangs 0 in s
var v_alt=v,s_alt=s; // alte Werte
var rtable=document.createElement("table");
var rtbody=document.createElement("tbody");
rtable.appendChild(rtbody);
function ergebnisfeld(name,value)
{
var rspan=document.getElementById(name);
rspan.innerHTML=value;
}
function tabellenkopf()
{
var rtr=document.createElement("tr");
rtbody.appendChild(rtr);
var rth=new Array();
for(var i=0;i<0xD;i++)
{
rth[i]=document.createElement("th");
rtr.appendChild(rth[i]);
}
rth[0x0].innerHTML="t
[s]";
rth[0x1].innerHTML="s
[m]";
rth[0x2].innerHTML="v
[m/s]";
rth[0x3].innerHTML="v
[km/h]";
rth[0x4].innerHTML="a
[mm/s2]";
rth[0x5].innerHTML="P
[MW]";
rth[0x6].innerHTML="Pb
[MW]";
rth[0x7].innerHTML="Pw
[MW]";
rth[0x8].innerHTML="W
[GJ]";
rth[0x9].innerHTML="F
[kN]";
rth[0xA].innerHTML="Fb
[kN]";
rth[0xB].innerHTML="Fw
[kN]";
rth[0xC].innerHTML="Δs
[m]";
}
function tabellenzeile()
{
if(t%15==0)
tabellenkopf();
var rtr=document.createElement("tr");
rtbody.appendChild(rtr);
var rtd=new Array();
for(var i=0;i<0xD;i++)
{
var cname="td";
rtd[i]=document.createElement("td");
rtr.appendChild(rtd[i]);
switch(t%5)
{
case 0x1:
case 0x4:
cname+="u";
break;
default:
cname+="x";
}
switch(i)
{
case 0x0:
cname+="0";
break;
case 0x1:
case 0x3:
case 0x4:
case 0x7:
case 0x8:
case 0xB:
case 0xC:
cname+="r";
break;
default:
cname+="x";
}
rtd[i].setAttribute("class",cname);
}
rtd[0x0].innerHTML=""+t;
rtd[0x0].style.backgroundColor="rgb("+Math.round(Math.sin(t*Math.PI/15)*32+223)+","+Math.round(Math.sin((t+10)*Math.PI/15)*32+223)+","+Math.round(Math.sin((t+20)*Math.PI/15)*32+223)+")";
rtd[0x1].innerHTML=""+Math.round(s);
rtd[0x1].style.backgroundColor="rgb("+Math.round(Math.sin(s*Math.PI/1500)*32+223)+","+Math.round(Math.sin((s+1000)*Math.PI/1500)*32+223)+","+Math.round(Math.sin((s+2000)*Math.PI/1500)*32+223)+")";
rtd[0x2].innerHTML=""+Math.round(v);
rtd[0x2].style.backgroundColor="rgb("+Math.round(v*64/(v_max*1.1)+191)+","+Math.round(-v*32/(v_max*1.1)+255)+",208)";
rtd[0x3].innerHTML=""+Math.round(v*3.6);
rtd[0x3].style.backgroundColor="rgb("+Math.round(v*64/(v_max*1.1)+191)+","+Math.round(-v*32/(v_max*1.1)+255)+",208)";
rtd[0x4].innerHTML=""+Math.round(a*1000);
rtd[0x4].style.backgroundColor="rgb("+Math.round(a*64/a_max+191)+","+Math.round(-a*64/a_max+255)+",208)";
rtd[0x5].innerHTML=""+Math.round(0.000001*P);
rtd[0x5].style.backgroundColor="rgb("+Math.round(P*64/P_max+191)+",255,"+Math.round(-P*16/P_max+208)+")";
rtd[0x6].innerHTML=""+Math.round(0.000001*P_b);
rtd[0x6].style.backgroundColor="rgb("+Math.round(P_b*64/P_max+191)+",255,"+Math.round(-P_b*16/P_max+208)+")";
rtd[0x7].innerHTML=""+Math.round(0.000001*P_w);
rtd[0x7].style.backgroundColor="rgb("+Math.round(P_w*64/P_max+191)+",255,"+Math.round(-P_w*16/P_max+208)+")";
rtd[0x8].innerHTML=""+Math.round(0.000000001*W);
rtd[0x8].style.backgroundColor="rgb("+Math.round(Math.sin(W*Math.PI/15000000000)*32+223)+","+Math.round(Math.sin((W+10000000000)*Math.PI/15000000000)*32+223)+","+Math.round(Math.sin((W+20000000000)*Math.PI/15000000000)*32+223)+")";
rtd[0x9].innerHTML=""+Math.round(0.001*F);
rtd[0x9].style.backgroundColor="rgb("+Math.round(F*64/20000000+191)+",255,"+Math.round(-F*32/20000000+208)+")";
rtd[0xA].innerHTML=""+Math.round(0.001*F_b);
rtd[0xA].style.backgroundColor="rgb("+Math.round(F_b*64/20000000+191)+",255,"+Math.round(-F_b*32/20000000+208)+")";
rtd[0xB].innerHTML=""+Math.round(0.001*F_w);
rtd[0xB].style.backgroundColor="rgb("+Math.round(F_w*64/20000000+191)+",255,"+Math.round(-F_w*32/20000000+208)+")";
rtd[0xC].innerHTML=""+Math.round(delta_s);
rtd[0xC].style.backgroundColor="rgb("+Math.round(delta_s*64/(v_max*1.1)+191)+","+Math.round(-delta_s*32/(v_max*1.1)+255)+",208)";
}
function rechne_start()
{
ergebnisfeld("m",""+Math.round(m*0.001));
ergebnisfeld("v",""+v);
ergebnisfeld("rho",""+rho);
ergebnisfeld("c_w_A",""+c_w_A);
ergebnisfeld("a_max",""+a);
ergebnisfeld("v_max",""+v_max);
ergebnisfeld("P_max",""+Math.round(P_max*0.000001));
while (Pv_max) // wenn Geschwindigkeit ueber Sollgeschwindigkeit
{
v=v_max;
a=v-v_alt;
F_b=a*m;
F_w=0.5*A_w*v*v;
F=F_b+F_w;
P=F*v;
P_w=F_w*v;
P_b=P-P_w;
}
W+=F*delta_s;
delta_s=0.5*a+v;
tabellenzeile();
t+=1;
}
ergebnisfeld("t",""+(t-1));
ergebnisfeld("s",""+Math.round(s));
ergebnisfeld("W",""+Math.round(W*0.000000001));
a=0;
delta_s=v;
F_b=0;
F_w=0.5*A_w*v*v;
F=F_w;
P=F*v;
P_w=P;
P_b=0;
for(var i=0;i<1;i++) // als Bonus dazu
{
s+=delta_s;
W+=F*delta_s;
tabellenzeile();
t+=1;
}
tabellenkopf();
var rdiv=document.getElementById("rechnung");
rdiv.appendChild(rtable);
}