Strömungsgeschwindigkeit

Aus Wiki1

(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
(Die Seite wurde neu angelegt: „{{SUBST::Verbrennungsrechnung Gase}}“)
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. ;Quick-Tool zur Ermittlung von Volumen- und Massenstrom bei gegebener Strömungsgeschwindigkeit. 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
 +
*ggf. mit Schiebereglern Skalierung x bzw. y-Achse anpassen.
 +
*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=-3;
 +
var x_max=5;
 +
var y_min=-3;
 +
var y_max=7;
 +
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=brd_2.create('slider',[[x100_x,x100_y],[x100_x+x100_l,x100_y],[x100_min,x100_0,x100_max]],{name:x100_txt, snapWidth:dx100});
 +
 
 +
//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=brd_2.create('slider',[[y100_x,y100_y],[y100_x,y100_y+y100_l],[y100_min,y100_0,y100_max]],{name:y100_txt, snapWidth:dy100});
 +
 
 +
 
 +
//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 x_sk=function(x_v){
-
px1=[0,function(){return g.Y();}];
+
return Math.round(100*LG(x_v/x100.Value()))/100;
-
px2=[function(){return g.X();},function(){return g.Y();}];
+
}
-
py1=[function(){return g.X();},0];
+
var y_sk=function(y_v){
-
py2=[function(){return g.X();},function(){return g.Y();}];
+
return Math.round(100*LG(y_v/y100.Value()))/100;
 +
}
 +
var x_val=function(x_skal){
 +
return POT(10,x_skal)*x100.Value();
 +
}
 +
var y_val=function(y_skal){
 +
return POT(10,y_skal)*y100.Value();
 +
}
-
var l_x=brd.create('line',[px1,px2],{strokeColor:'blue',strokeWidth:1,dash:1});
+
//Messpunkt
-
var l_Y=brd.create('line',[py1,py2],{strokeColor:'blue',strokeWidth:1,dash:1});
+
var p1_0=brd_2.create('point',[0,3],{name:"Messpunkt", color:"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});
-
brd.createElement('text',[50, 10, function(){ return "Lambda*10";}]);
+
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});
 +
//Bereiche
 +
var px=new Array();
 +
var py=new Array();
 +
var r=new Array();
 +
var px1=new Array();
 +
var py1=new Array();
 +
var c_text=new Array();
 +
var color=new Array();
-
brd.createElement('text',[5, -10, function(){ return "CO = "+Math.round(m0(cov.Value())*1000)/1000;}]);
 
-
brd.createElement('text',[5, -20, function(){ return "CH4 = "+Math.round(m0(c1v.Value())*1000)/1000;}]);
 
-
brd.createElement('text',[5, -30, function(){ return "C2H2 = "+Math.round(m0(c2v.Value())*1000)/1000;}]);
 
-
brd.createElement('text',[5, -40, function(){ return "C2H4 = "+Math.round(m0(c3v.Value())*1000)/1000;}]);
 
-
brd.createElement('text',[5, -50, function(){ return "H2 = "+Math.round(m0(hv.Value())*1000)/1000;}]);
 
-
brd.createElement('text',[5, -60, function(){ return "N2 = "+Math.round(m0(nv.Value())*1000)/1000;}]);
 
-
brd.createElement('text',[5, -70, function(){ return "O2 = "+Math.round(m0(ov.Value())*1000)/1000;}]);
 
-
brd.createElement('text',[5, -80, function(){ return "CO2 = "+Math.round(m0(co2v.Value())*1000)/1000;}]);
 
-
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³ ";}]);
+
px[0]=0;
-
brd.createElement('text',[5, 80, function(){ return "Luft min m³/m³ = "+Math.round((Lmin())*1000)/1000;}]);
+
py[0]=3;
-
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;}]);
+
r[0]=0.2;
-
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;}]);
+
c_text[0]="Wasser";
-
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;}]);
+
color[0]="#5F9EA0";
-
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[1]=1.0;
 +
py[1]=0;
 +
r[1]=0.2;
 +
c_text[1]="Luft";
 +
color[1]="#5F9EA0";
-
</jsxgraph>
+
px[4]=1.35;
 +
py[4]=-0.1;
 +
r[4]=0.2;
 +
c_text[4]="Erdgas";
 +
color[4]="#5F9EA0";
-
=Quelle=
+
px[2]=0.6;
 +
py[2]=2.9;
 +
r[2]=0.2;
 +
c_text[2]="Öl";
 +
color[2]="#5F9EA0";
-
Berechnung nach vereinfachten Gleichungen aus "Thermische Apparate und Dampferzeuger", Walter Wagner, Vogel-Buchverlag Würzburg, 1. Auflg. 1985
+
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]],{name:c_text[i]});
 +
brd_2.create('point', [px1[i], py1[i]], {visible:false});
 +
brd_2.create('circle', [[px[i],py[i]], [px1[i],py1[i]]],{fillColor:color[i]});
 +
}
 +
 +
//*****************************************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]]

Version vom 07:33, 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. ;Quick-Tool zur Ermittlung von Volumen- und Massenstrom bei gegebener Strömungsgeschwindigkeit. 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
  • ggf. mit Schiebereglern Skalierung x bzw. y-Achse anpassen.
  • 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