Strömungsgeschwindigkeit

Aus Wiki1

(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
(Die Seite wurde neu angelegt: „{{SUBST::Verbrennungsrechnung Gase}}“)
 
(Der Versionsvergleich bezieht 19 dazwischenliegende Versionen mit ein.)
Zeile 1: Zeile 1:
-
 
Mit Hilfe des Programmpakets JSXGraph (siehe http://jsxgraph.uni-bayreuth.de/wp/) können komplexe, interaktive Grafiken nur mit Hilfe von JavaScript in Webseiten integriert werden.
Mit Hilfe des Programmpakets JSXGraph (siehe http://jsxgraph.uni-bayreuth.de/wp/) können komplexe, interaktive Grafiken nur mit Hilfe von JavaScript in Webseiten integriert werden.
-
Damit lassen sich auch ingenieurtechnische Fragen in "smarten" Apps realisieren. Das folgende Beispiel erlaubt die Berechnung von verbrennungstechnischen Kennwerten abhängig von Gaszusammensetzung und Luftüberschuss.
+
Damit lassen sich auch ingenieurtechnische Fragen in "smarten" Apps realisieren. Hier ein Beispiel zur Ermittlung von Kennwerten der Rohrströmung mit verschiedenen Medien.
-
Die Gaszusammensetzung wird über Schieberegler eingestellt. Das Diagramm zeigt den Luftbedarf über das Luftverhältnis (Lambda). Lambda kann durch Verschieben des Messpunktes verändert werden.
+
*Messpunkt(schwarz) mit Maus einstellen: Dichte = 10^y kg/m³, Geschwindigkeit = 10^x m/Sek
 +
:einige typische Medien sind vordefiniert (Messpunkt in jeweiligen Kreis verschieben um Geschwindigkeit und Dichte zu wählen)
 +
*Rohrdurchmesser (gelber Kreis) mit Kreispunkt einstellen
 +
*Ergebnisse werden unmittelbar angezeigt
-
Die Gaszusammensetzung wird als Vol.% angegeben. Die Werte werden so angepasst, dass unabhängig von den Einstellungen der Schieberegler die Summe immer 100% ergibt.
+
Das Tool kann für unterschiedliche Zwecke genutzt werden:
 +
*notwendiger Querschnitt für gegebenes Medium und gegebenen Massen-/Volumenstrom
 +
*möglicher Massen-/Volumenstrom bei gegebenem Querschnitt und Medium
 +
*Strömungsgeschwindigkeit bei gegebenem Medium, Massen-/Volumenstrom und Durchmesser
-
Die voreingestellte Zusammensetzung entspricht üblichem Erdgas (trocken)
+
<jsxgraph box="Diagramm_in_the_box" width="600" height="600">
-
<jsxgraph width="700" height="500">
+
//Modul skalierbares Achsenkreuz mit Ablesepunkt
-
brd = JXG.JSXGraph.initBoard('jxgbox', {boundingbox:[-10, 100, 60, -100], unitX:5, unitY:5, grid: false, axis:true});
+
//Programmierung: Peter Lehmacher
-
CO=0;
+
//Stand: 6.1.2014
-
CH4=90;
+
//*****************************************Eingaben*************************************
-
C2H2=0;
+
//Diagrammtitel
-
C2H4=2;
+
var title="Strömungsgeschwindigkeit in Rohrleitungen";
-
H2=0;
+
var x_title="Geschwindigkeit = 10^x";
-
N2=7;
+
var y_title="Dichte = 10^y";
-
O2=0;
+
-
CO2=1;
+
-
H2S=0;
+
 +
//Definition Koordinaten: gibt angezeigten Wertebereich des Koordinatenkreuzes an
 +
var x_min=-1;
 +
var x_max=4;
 +
var y_min=-1.5;
 +
var y_max=4;
 +
var dx=(x_max-x_min)/100;
 +
var dy=(y_max-y_min)/100;
-
var x;
+
var brd_2 = JXG.JSXGraph.initBoard('Diagramm_in_the_box', {axis:true, boundingbox: [x_min,y_max,x_max,y_min], grid:{gridX:10, gridY:10}});
-
var y;
+
-
var cov = brd.createElement('slider',[[20,-10],[40,-10],[0,CO,100]],{name:'CO', snapWidth:0.1});
+
-
var c1v = brd.createElement('slider',[[20,-20],[40,-20],[0,CH4,100]],{name:'CH4',snapWidth:0.1});
+
-
var c2v = brd.createElement('slider',[[20,-30],[40,-30],[0,C2H2,100]],{name:'C2H2',snapWidth:0.1});
+
-
var c3v = brd.createElement('slider',[[20,-40],[40,-40],[0,C2H4,100]],{name:'C2H4',snapWidth:0.1});
+
-
var hv = brd.createElement('slider',[[20,-50],[40,-50],[0,H2,100]],{name:'H2', snapWidth:0.1});
+
-
var nv = brd.createElement('slider',[[20,-60],[40,-60],[0,N2,100]],{name:'N2', snapWidth:0.1});
+
-
var ov = brd.createElement('slider',[[20,-70],[40,-70],[0,O2,100]],{name:'O2', snapWidth:0.1});
+
-
var co2v = brd.createElement('slider',[[20,-80],[40,-80],[0,CO2,100]],{name:'CO2', snapWidth:0.1});
+
-
var sv = brd.createElement('slider',[[20,-90],[40,-90],[0,H2S,100]],{name:'H2S', snapWidth:0.1});
+
-
function m0(x){
+
//x-Skalierung
-
return m_0 =x/(cov.Value()+c1v.Value()+c2v.Value()+c3v.Value()+hv.Value()+sv.Value()+nv.Value()+ov.Value()+co2v.Value());
+
var x100_min=0.01;
 +
var x100_max=2;
 +
var x100_0=1;
 +
var x100_txt="x Wert bei 0";
 +
var x100_x=x_min+3*dx;
 +
var x100_y=y_min+3*dy;
 +
var x100_l=30*dx;
 +
var dx100=0.001;
 +
 
 +
var x100=1;
 +
 
 +
//y-Skalierung
 +
var y100_min=0.01;
 +
var y100_max=2;
 +
var y100_0=1;
 +
var y100_txt="y Wert bei 0";
 +
var y100_x=x_min+3*dx;
 +
var y100_y=y_min+3*dy;
 +
var y100_l=30*dy;
 +
var dy100=0.001;
 +
 
 +
var y100=1;
 +
 
 +
 
 +
//Eingabe Rohrdurchmesser durch veränderbaren Kreis
 +
px_c=0;
 +
py_c=0*dy;
 +
r_c=1;
 +
c_text="Durchmesser mm";
 +
 
 +
var p00 = brd_2.create('point', [px_c, py_c],{visible:false});
 +
var p01 = brd_2.create('point', [px_c, py_c+r_c],{name:c_text});
 +
var c0 = brd_2.create('circle', [p00, p01],{fillColor:'#ffff00'});
 +
 
 +
//Querschnittsfläche
 +
var A_rohr=function()
 +
{
 +
return Math.pow(c0.getRadius()/2,2)*Math.PI/4;
}
}
-
function Lmin(){
+
//Gewicht
-
return L_min=1/0.21*((m0(cov.Value())+m0(hv.Value()))/2+2*m0(c1v.Value())+2.5*m0(c2v.Value())+3*m0(c3v.Value())-m0(ov.Value()));
+
var G_rohr=function()
 +
{
 +
return Math.pow(c0.getRadius()/2,2)*Math.PI/4*y_val(p1_0.Y());
}
}
-
var Kurve= brd.createElement('functiongraph', [function(x){return Lmin()*x/10;},0,60]);
+
//*****************************************Berechnung*************************************
-
//Ablesepunkt
+
//Skalierfunktionen zur Umrechnung von Werten und Koordinaten
-
var g=brd.create('glider',[1.184*10,1,Kurve],{color:'black',name:'Messpunkt'});
+
var POT=function(x,y){
-
px1=[0,function(){return g.Y();}];
+
return Math.pow(x,y);
-
px2=[function(){return g.X();},function(){return g.Y();}];
+
}
-
py1=[function(){return g.X();},0];
+
-
py2=[function(){return g.X();},function(){return g.Y();}];
+
-
var l_x=brd.create('line',[px1,px2],{strokeColor:'blue',strokeWidth:1,dash:1});
+
var LG=function(x){
-
var l_Y=brd.create('line',[py1,py2],{strokeColor:'blue',strokeWidth:1,dash:1});
+
if (x<=0)
 +
{
 +
alert("Calculation LG(x) with x<=0 not allowed!");
 +
}
 +
else
 +
{
 +
return Math.LOG10E*Math.log(x);
 +
}
 +
}
-
brd.createElement('text',[50, 10, function(){ return "Lambda*10";}]);
+
var x_sk=function(x_v){
 +
return Math.round(100*LG(x_v/x100))/100;
 +
}
 +
var y_sk=function(y_v){
 +
return Math.round(100*LG(y_v/y100))/100;
 +
}
 +
var x_val=function(x_skal){
 +
return POT(10,x_skal)*x100;
 +
}
 +
var y_val=function(y_skal){
 +
return POT(10,y_skal)*y100;
 +
}
-
brd.createElement('text',[5, -10, function(){ return "CO = "+Math.round(m0(cov.Value())*1000)/1000;}]);
+
//Bereiche
-
brd.createElement('text',[5, -20, function(){ return "CH4 = "+Math.round(m0(c1v.Value())*1000)/1000;}]);
+
var px=new Array();
-
brd.createElement('text',[5, -30, function(){ return "C2H2 = "+Math.round(m0(c2v.Value())*1000)/1000;}]);
+
var py=new Array();
-
brd.createElement('text',[5, -40, function(){ return "C2H4 = "+Math.round(m0(c3v.Value())*1000)/1000;}]);
+
var r=new Array();
-
brd.createElement('text',[5, -50, function(){ return "H2 = "+Math.round(m0(hv.Value())*1000)/1000;}]);
+
var px1=new Array();
-
brd.createElement('text',[5, -60, function(){ return "N2 = "+Math.round(m0(nv.Value())*1000)/1000;}]);
+
var py1=new Array();
-
brd.createElement('text',[5, -70, function(){ return "O2 = "+Math.round(m0(ov.Value())*1000)/1000;}]);
+
var c_text=new Array();
-
brd.createElement('text',[5, -80, function(){ return "CO2 = "+Math.round(m0(co2v.Value())*1000)/1000;}]);
+
var color=new Array();
-
brd.createElement('text',[5, -90, function(){ return "H2S = "+Math.round(m0(sv.Value())*1000)/1000;}]);
+
-
brd.createElement('text',[5, 90, function(){ return "Hu MJ/Nm³ = "+Math.round((10.78*m0(hv.Value())+12.62*m0(cov.Value())+35.87*m0(c1v.Value())+56.51*m0(c2v.Value())+59.48*m0(c3v.Value()))*1000)/1000+" = "+Math.round((10.78*m0(hv.Value())+12.62*m0(cov.Value())+35.87*m0(c1v.Value())+56.51*m0(c2v.Value())+59.48*m0(c3v.Value()))*1000/3.6)/1000+" kWh/Nm³ ";}]);
 
-
brd.createElement('text',[5, 80, function(){ return "Luft min m³/m³ = "+Math.round((Lmin())*1000)/1000;}]);
 
-
brd.createElement('text',[5, 70, function(){ return "Luft m³/m³ bei Lambda "+Math.round(1000*g.X()/10)/1000+"= "+Math.round((Lmin())*1000*g.X()/10)/1000;}]);
 
-
brd.createElement('text',[5, 60, function(){ return "Abgas feucht m³/m³ bei Lambda "+Math.round(1000*g.X()/10)/1000+"= "+Math.round((Lmin()*g.X()/10+(m0(cov.Value())+m0(hv.Value()))/2+m0(c1v.Value())+m0(c2v.Value())+m0(c3v.Value())+m0(co2v.Value())+m0(sv.Value())-m0(ov.Value()))*1000)/1000;}]);
 
-
brd.createElement('text',[5, 50, function(){ return "Sauerstoffgehalt m³/m³ bei Lambda "+Math.round(1000*g.X()/10)/1000+"= "+Math.round(Lmin()*(g.X()/10-1)*0.21*1000)/1000;}]);
 
-
brd.createElement('text',[5, 40, function(){ return "Sauerstoffgehalt Vol% bei Lambda "+Math.round(1000*g.X()/10)/1000+"= "+Math.round(Lmin()*(g.X()/10-1)*0.21/((Lmin()*g.X()/10+(m0(cov.Value())+m0(hv.Value()))/2+m0(c1v.Value())+m0(c2v.Value())+m0(c3v.Value())+m0(co2v.Value())+m0(sv.Value())-m0(ov.Value())))*1000)/1000;}]);
 
 +
px[0]=0;
 +
py[0]=3;
 +
r[0]=0.2;
 +
c_text[0]="Wasser";
 +
color[0]="#5F9EA0";
-
</jsxgraph>
+
px[1]=1.0;
 +
py[1]=0;
 +
r[1]=0.2;
 +
c_text[1]="Luft";
 +
color[1]="#5F9EA0";
-
=Quelle=
+
px[4]=1.35;
 +
py[4]=-0.1;
 +
r[4]=0.2;
 +
c_text[4]="Erdgas";
 +
color[4]="#5F9EA0";
-
Berechnung nach vereinfachten Gleichungen aus "Thermische Apparate und Dampferzeuger", Walter Wagner, Vogel-Buchverlag Würzburg, 1. Auflg. 1985
+
px[2]=0.6;
 +
py[2]=2.9;
 +
r[2]=0.2;
 +
c_text[2]="Öl";
 +
color[2]="#5F9EA0";
 +
px[3]=2;
 +
py[3]=-1.04;
 +
r[3]=0.2;
 +
c_text[3]="H2";
 +
color[3]="#5F9EA0";
 +
 +
px[5]=1.78;
 +
py[5]=1.053;
 +
r[5]=0.2;
 +
c_text[5]="Dampf 31 bar 350°C";
 +
color[5]="#5F9EA0";
 +
 +
px[6]=1.602;
 +
py[6]=0.63;
 +
r[6]=0.2;
 +
c_text[6]="Dampf 10 bar 250°C";
 +
color[6]="#5F9EA0";
 +
 +
px[7]=1.778;
 +
py[7]=1.526;
 +
r[7]=0.2;
 +
c_text[7]="Dampf 100 bar 450°C";
 +
color[7]="#5F9EA0";
 +
 +
px[8]=0.5;
 +
py[8]=3.3;
 +
r[8]=0.2;
 +
c_text[8]="Flüssigsalz";
 +
color[8]="#5F9EA0";
 +
 +
px[9]=1.29;
 +
py[9]=1.02;
 +
r[9]=0.2;
 +
c_text[9]="Erdgas 10 bar";
 +
color[9]="#5F9EA0";
 +
 +
for (var i=0;i<px.length;i++)
 +
{
 +
px1[i]=px[i];
 +
py1[i]=py[i]+r[i];
 +
brd_2.create('point', [px[i], py[i]+r[i]],{visible:false});
 +
brd_2.create('point', [px[i], py[i]], {name:c_text[i]});
 +
brd_2.create('circle', [[px[i],py[i]], [px1[i],py1[i]]],{fillColor:color[i]});
 +
}
 +
 +
//Messpunkt
 +
var p1_0=brd_2.create('point',[0,3],{name:"Messpunkt", fillcolor:"black"});
 +
var p1_x=brd_2.create('point',[function(){return p1_0.X();},0],{visible:false});
 +
var p1_y=brd_2.create('point',[0,function(){return p1_0.Y();}],{visible:false});
 +
 +
var l1_x=brd_2.create('line',[p1_0,p1_x],{straightFirst:false, straightLast:false, dash:2});
 +
var l1_y=brd_2.create('line',[p1_0,p1_y],{straightFirst:false, straightLast:false, dash:2});
 +
 +
//*****************************************Ausgabe*************************************
 +
var title_txt=brd_2.create('text',[x_max-30*dx,y_max-3*dy,title]);
 +
var title_x=brd_2.create('text',[x_max-50*dx, -5*dy, x_title]);
 +
var title_y=brd_2.create('text',[5*dx, y_max-6*dy, y_title]);
 +
 +
var x1_txt=brd_2.create('text',[x_min+50*dx,y_max-16*dy,function(){return 'Geschwindigkeit = '+Math.round(10000*x_val(p1_0.X()))/10000+' m/Sek';}]);
 +
var x2_txt=brd_2.create('text',[x_min+50*dx,y_max-19*dy,function(){return 'Rohrdurchmesser = '+Math.round(1000*c0.getRadius()/2)+' mm';}]);
 +
var x3_txt=brd_2.create('text',[x_min+50*dx,y_max-22*dy,function(){return 'Volumenstrom = '+Math.round(100*x_val(p1_0.X())*A_rohr()*3600)/100+' m³/h';}]);
 +
var x4_txt=brd_2.create('text',[x_min+50*dx,y_max-25*dy,function(){return 'Massenstrom = '+Math.round(100*y_val(p1_0.Y())*x_val(p1_0.X())*A_rohr()*3600)/100+' kg/h';}]);
 +
var y_txt=brd_2.create('text',[x_min+50*dx,y_max-13*dy,function(){return 'Dichte = '+Math.round(100*y_val(p1_0.Y()))/100+' kg/m³';}]);
 +
var x5_txt=brd_2.create('text',[x_min+50*dx,y_max-30*dy,function(){return 'Gewicht = '+Math.round(100*G_rohr())/100+' kg/m';}]);
 +
 +
 +
 +
</jsxgraph>
[[Kategorie:Technik]]
[[Kategorie:Technik]]

Aktuelle Version vom 13:55, 4. Jan. 2017

Mit Hilfe des Programmpakets JSXGraph (siehe http://jsxgraph.uni-bayreuth.de/wp/) können komplexe, interaktive Grafiken nur mit Hilfe von JavaScript in Webseiten integriert werden.

Damit lassen sich auch ingenieurtechnische Fragen in "smarten" Apps realisieren. Hier ein Beispiel zur Ermittlung von Kennwerten der Rohrströmung mit verschiedenen Medien.

  • Messpunkt(schwarz) mit Maus einstellen: Dichte = 10^y kg/m³, Geschwindigkeit = 10^x m/Sek
einige typische Medien sind vordefiniert (Messpunkt in jeweiligen Kreis verschieben um Geschwindigkeit und Dichte zu wählen)
  • Rohrdurchmesser (gelber Kreis) mit Kreispunkt einstellen
  • Ergebnisse werden unmittelbar angezeigt

Das Tool kann für unterschiedliche Zwecke genutzt werden:

  • notwendiger Querschnitt für gegebenes Medium und gegebenen Massen-/Volumenstrom
  • möglicher Massen-/Volumenstrom bei gegebenem Querschnitt und Medium
  • Strömungsgeschwindigkeit bei gegebenem Medium, Massen-/Volumenstrom und Durchmesser

Persönliche Werkzeuge