Strömungsgeschwindigkeit
Aus Wiki1
(Unterschied zwischen Versionen)
(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. | + | 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 | ||
- | + | <jsxgraph box="Diagramm_in_the_box" width="600" height="600"> | |
- | + | //Modul skalierbares Achsenkreuz mit Ablesepunkt | |
- | + | //Programmierung: Peter Lehmacher | |
- | + | //Stand: 6.1.2014 | |
- | + | //*****************************************Eingaben************************************* | |
- | + | //Diagrammtitel | |
- | + | var title="Strömungsgeschwindigkeit in Rohrleitungen"; | |
- | + | var x_title="Geschwindigkeit = 10^x"; | |
- | + | var y_title="Dichte = 10^y"; | |
- | + | ||
- | + | ||
- | + | ||
+ | //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 | + | 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}}); |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | //x-Skalierung | |
- | + | 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 | + | //Gewicht |
- | return | + | var G_rohr=function() |
+ | { | ||
+ | return Math.pow(c0.getRadius()/2,2)*Math.PI/4*y_val(p1_0.Y()); | ||
} | } | ||
- | + | //*****************************************Berechnung************************************* | |
- | // | + | //Skalierfunktionen zur Umrechnung von Werten und Koordinaten |
- | var | + | var x_sk=function(x_v){ |
- | + | return Math.round(100*LG(x_v/x100.Value()))/100; | |
- | + | } | |
- | + | var y_sk=function(y_v){ | |
- | + | 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 | + | //Messpunkt |
- | var | + | 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}); | ||
- | + | 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(); | ||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | + | px[0]=0; | |
- | + | py[0]=3; | |
- | + | r[0]=0.2; | |
- | + | c_text[0]="Wasser"; | |
- | + | color[0]="#5F9EA0"; | |
- | + | ||
+ | px[1]=1.0; | ||
+ | py[1]=0; | ||
+ | r[1]=0.2; | ||
+ | c_text[1]="Luft"; | ||
+ | color[1]="#5F9EA0"; | ||
- | + | px[4]=1.35; | |
+ | py[4]=-0.1; | ||
+ | r[4]=0.2; | ||
+ | c_text[4]="Erdgas"; | ||
+ | color[4]="#5F9EA0"; | ||
- | = | + | 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]],{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