Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  OpenFOAM
  Post-Processing: Massenstrom berechnen

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:  Post-Processing: Massenstrom berechnen (7404 mal gelesen)
bartholomew83
Mitglied
Student


Sehen Sie sich das Profil von bartholomew83 an!   Senden Sie eine Private Message an bartholomew83  Schreiben Sie einen Gästebucheintrag für bartholomew83

Beiträge: 62
Registriert: 20.08.2012

erstellt am: 28. Aug. 2012 13:23    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hi FOAM'ler,

ich würde mir am Inlet und am Outlet gern meine Massenströme berechnen.
Irgendwie komme ich mit den Tips, die ich gegoogelt habe nicht zurecht.

Ich habe gelesen, dass man OF in der fvScheme sagen kann, dass der für jedes writeInterval den Massenstrom mitberechnet und in der phi niederschreibt, stimmt das?
Phi wird dann über das Outlet integriert?
Wenn ja, wie mache ich das? Habe es schon mit integrateVariables bei Paraview versucht, aber irgendwie bin ich zu blöd die zu integrierenden Daten dafür auszuwählen ?!?!

Ich hätte jetzt irgendwie über das Outlet eine mittlere Geschwindigkeit berechnet und diese einfach mit der Dichte und dem Querschnitt multipliziert (Konti-Gleichung).
Muss doch mit paraView irgendwie gehen... 

Viele Grüße

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Shor-ty
Moderator





Sehen Sie sich das Profil von Shor-ty an!   Senden Sie eine Private Message an Shor-ty  Schreiben Sie einen Gästebucheintrag für Shor-ty

Beiträge: 2463
Registriert: 27.08.2010

OpenFOAM-dev (Foundation)
OpenFOAM-xxxx (ESI)

erstellt am: 28. Aug. 2012 14:35    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für bartholomew83 10 Unities + Antwort hilfreich

Hi,

bzgl. Phi-Feld: phi-Feld in Paraview

bzgl. Massenstrom an In- und Outlet:patchIntegrate

weiteres: Volumenstrom/Massenstrom in Paraview

weiteres: calcMassFlow - Kontrollflche

bzgl. Paraview und Massenstrom an Patches (irgendwo steht hier im Forum auch was, find ich aber grad nicht):

a) inlet-Patch auswählen (internalField abwählen)
b) integratedVariables
c) integratedVariables auswählen -> Filter -> Calculator
d) U*rho/Area
e) in die Tabelle wechseln
f) Calculator auswählen
g) Result = Massenstrom

wiederhole für Outlet

Möglich auch für ein Slice aber man erhält große Abweichungen vom wirklichen Massenstrom, da eine Linearisierung statt findet.

PS: Alles über die Suchfunktion gefunden   

Tobi

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

TTB
Mitglied
CFD Engineer


Sehen Sie sich das Profil von TTB an!   Senden Sie eine Private Message an TTB  Schreiben Sie einen Gästebucheintrag für TTB

Beiträge: 353
Registriert: 02.10.2008

BIM HVACTool für Windows OpenFOAM-2.2.x

erstellt am: 28. Aug. 2012 17:49    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für bartholomew83 10 Unities + Antwort hilfreich

Hallo Tobi,

oder am Ende der controlDict anhängen:

Code:

functions
(
  massFlow
  {
      type patchMassFlow;
    functionObjectLibs
      (
        "libsimpleFunctionObjects.so"
      );
    verbose true;
    patches
      (
        outlet
      );
    factor 1.;
  }
);

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Shor-ty
Moderator





Sehen Sie sich das Profil von Shor-ty an!   Senden Sie eine Private Message an Shor-ty  Schreiben Sie einen Gästebucheintrag für Shor-ty

Beiträge: 2463
Registriert: 27.08.2010

OpenFOAM-dev (Foundation)
OpenFOAM-xxxx (ESI)

erstellt am: 28. Aug. 2012 18:29    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für bartholomew83 10 Unities + Antwort hilfreich

Na das ist auch ne gute Sache 
Gut zu wissen.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

bartholomew83
Mitglied
Student


Sehen Sie sich das Profil von bartholomew83 an!   Senden Sie eine Private Message an bartholomew83  Schreiben Sie einen Gästebucheintrag für bartholomew83

Beiträge: 62
Registriert: 20.08.2012

erstellt am: 04. Sep. 2012 15:01    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hi Foam'ler,

also irgendwie funktioniert das mit dem Bestimmen des Massenstroms nicht....

Folgendes Problem (bspw. an einer Düse):
Ich gebe mir am Inlet eine Strömungsgeschwindigkeit (Durck zeroGradient) für Luft vor, so dass sich für Luft der entsprechende Massenstrom einstellt.
Am Outlet ist die Geschwindigkeit zeroGradient und ein Druck vorgegeben.

Die Strömungsgeschwindigkeit habe ich mir über die Konti-Gleichung ausgerechnet:
m_strom = rho*AInlet*u (Berechnet für einen kreisrunden Querschnitt)
Ich erhalte an meinem Modell auch die Strömungsbedingungen, die ich nach Bernoulli und Konti (vereinfachend) erwarte.

Wenn ich nun aber patchIntegrate mache, dann zeigt der mir für phi  Werte von 170 an. (welche ja dann der Massenstrom sein soll)
Also mein Massenstrom beträgt 0,05 kg/s Luft (berechnet auf meine Eintrittsfläche)

Wenn ich nun am Inlet flowRateInletVelocity mache und einen Massenstrom von 0,05kg/s vorgebe, dann erhalte ich zwar für den Massenstrom über patchIntegrate auch den richtigen Wert von exakt 0,05.
Aber meine Strömungsgeschwindigkeiten sind, wenn ich mir mein Profil in Paraview angucke, sehr niedrig ... unter 0,1m/s.
Berechnet auf meinen Querschnitt kann das doch gar nicht sein ?!

Nun folgende Frage/Vermutung:
Ich arbeite ja mit dem Rotationssymmetrischen Mesh (mit wedges und so). vgl.5.2.2 basetypes --- http://www.openfoam.org/docs/user/boundaries.php

Kann das sein, dass flowRateInletVelocity und patchIntegrate mit falschen Werten für die Fläche rechnen und dadurch Fehler verursachen, weil ich mich mit nem rotationssymmetrischen Modell arbeite?
Oder muss ich meine Querschnittsfläche von meinem "Kuchenstück" berücksichtigen? Dass ich mir meine Strömungsgeschwindigkeit auf die kleinere Fläche berechnen muss?
Wäre aber unlogisch, dann müssten bei gleichen Massenstrom und kleinerer Fläche ja die Strömungsgewschindigkeiten noch höher sein.

Außerdem kommen ja mit meiner vorgegebenen Geschwindigkeit am Inlet durchaus realstische Werte raus...


Hier meine Ausgaben vom patchIntegrate am Inlet
(patchIntegrate phi air -latestTime)

Code:

Create mesh for time = 30

Time = 30
    Area vector of patch air[0] = (23.1318 0 0)
    Area magnitude of patch air[0] = 23.1318
    Reading surfaceScalarField phi
    Integral of phi over patch air[0] = -170.643

End



-----------------------------

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

bartholomew83
Mitglied
Student


Sehen Sie sich das Profil von bartholomew83 an!   Senden Sie eine Private Message an bartholomew83  Schreiben Sie einen Gästebucheintrag für bartholomew83

Beiträge: 62
Registriert: 20.08.2012

erstellt am: 04. Sep. 2012 16:05    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Nochmal ich.  

Laut cfd-online habe ich das wohl richtig gemacht, dass ich "so tun" kann, als wäre das ein volles Rohr. OF rechnet das dann für mich um.

Also der Ansatz die entsprechende Strömungsgeschwindigkeit vorzugeben passt???
Wenn ja, sollte das Problem bei patchIntegrate/flowRateInletVelocity liegen, oder?
Oder kann man beim "Mitschreiben" von phi fehler machen?

[Diese Nachricht wurde von bartholomew83 am 04. Sep. 2012 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Shor-ty
Moderator





Sehen Sie sich das Profil von Shor-ty an!   Senden Sie eine Private Message an Shor-ty  Schreiben Sie einen Gästebucheintrag für Shor-ty

Beiträge: 2463
Registriert: 27.08.2010

OpenFOAM-dev (Foundation)
OpenFOAM-xxxx (ESI)

erstellt am: 04. Sep. 2012 16:14    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für bartholomew83 10 Unities + Antwort hilfreich

Hi,

eine Strömunggeschwindigkeit vorzugeben bedarf keiner Berücksichtigung der Querschnittsfläche.
Beim Massenstrom jedoch schon. Du hast nur 1/4 der Querschnittsfläche, somit auch 1/4 des Massenstroms den du vorgeben solltest.

Wieso deine Werte so abweichen ist ne gute Frage.
An patchIntegrate liegts nicht, genauso wenig wie flowRateInletVelocity.

Du machst irgendeinen Fehler.
Passt deine Skalierung?
Hast du 23m² Querschnittsfläche?


Zitat:
Kann das sein, dass flowRateInletVelocity und patchIntegrate mit falschen Werten für die Fläche rechnen und dadurch Fehler verursachen, weil ich mich mit nem rotationssymmetrischen Modell arbeite?

Normal nicht.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

bartholomew83
Mitglied
Student


Sehen Sie sich das Profil von bartholomew83 an!   Senden Sie eine Private Message an bartholomew83  Schreiben Sie einen Gästebucheintrag für bartholomew83

Beiträge: 62
Registriert: 20.08.2012

erstellt am: 04. Sep. 2012 19:26    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hi Tobi,

ich habe in meiner blockMesh convertToMeters 0.001;
und dann ist eigentlich alles in mm angegeben. Ist doch eigentlich richtig, oder? Oder genau andersrum mit 1000?

Das Inlet ist quasi das erste "Kuchenstück". Die Rotationsachse geht durch den Nullpunkt. Von dort aus ich 2 Punkte mit dem Radius in y-Richtung aufgespannt, die jeweils in z so verschoben sind, dass ein 5°-Keil aufgespannt wird.
Also bspw. Punkt1 (0 20 z) und Punkt2 (0 20 -z) z=Wert entsprechend y und 5°-Keil berechnet.

Mein Rohr hat am Eingang einen Radius von 20mm.
Damit müsste ich auf eine Fläche von 0.00126m² kommen.

Ist da vielleicht irgendwo ein Denkfehler drin?

Achso, und was meinst Du mit 1/4 der Querschnittsfläche? Meinst Du bezogen auf mein Modell. Also, wenn wäre es ja noch weniger, weil ich ja ein 5°-Keil um 360° rotieren lasse.
Bei cfd-online habe ich irgendwo gelesen, dass OF aber das berücksichtigt und man ganz normal für den vollen Querschnitt die BC's setzen kann.

Gruß

[Diese Nachricht wurde von bartholomew83 am 04. Sep. 2012 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

bartholomew83
Mitglied
Student


Sehen Sie sich das Profil von bartholomew83 an!   Senden Sie eine Private Message an bartholomew83  Schreiben Sie einen Gästebucheintrag für bartholomew83

Beiträge: 62
Registriert: 20.08.2012

erstellt am: 04. Sep. 2012 19:32    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Kann das vielleicht sein, dass patchIntegrate und flowRateInlet den "convertToMeters"-Faktor in die Rechnung nicht korrekt einbeziehen?
Oder kann man davon ausgehen, dass die richtig funktionieren?

Ich änder gleich mal alle meine Werte mit convertToMeters = 1  
Mal gucken ob's was bringt.

[Diese Nachricht wurde von bartholomew83 am 04. Sep. 2012 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Shor-ty
Moderator





Sehen Sie sich das Profil von Shor-ty an!   Senden Sie eine Private Message an Shor-ty  Schreiben Sie einen Gästebucheintrag für Shor-ty

Beiträge: 2463
Registriert: 27.08.2010

OpenFOAM-dev (Foundation)
OpenFOAM-xxxx (ESI)

erstellt am: 04. Sep. 2012 19:46    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für bartholomew83 10 Unities + Antwort hilfreich

Hi,

convertToMeters ist einschließlich für blockMesh. Durch blockMesh erzeugst du dir dein Netz und alle anderen Parameter sind davon nicht mehr betroffen.

Skalierung nachschauen

checkMesh gibt Info über die Größe (bounding-Box) Angaben in Meter
Paraview: Netz einladen "Display Information" gibt auch die Boundingbox in Meter


Massenstrom / cfd-online
Bzgl.

Code:

flowRateInletVelocity


folgender Code:
Code:

const scalar t = db().time().timeOutputValue();

    // a simpler way of doing this would be nice
    const scalar avgU = -flowRate_->value(t)/gSum(patch().magSf());

    tmp<vectorField> n = patch().nf();

    const surfaceScalarField& phi =
        db().lookupObject<surfaceScalarField>(phiName_);

    if (phi.dimensions() == dimVelocity*dimArea)
    {
        // volumetric flow-rate
        operator==(n*avgU);
    }
    else if (phi.dimensions() == dimDensity*dimVelocity*dimArea)
    {
        if (rhoName_ == "none")
        {
            // volumetric flow-rate
            operator==(n*avgU);
        }
        else
        {
            // mass flow-rate
            const fvPatchField<scalar>& rhop =
                patch().lookupPatchField<volScalarField, scalar>(rhoName_);

            operator==(n*avgU/rhop);
        }
    }


Denke das sagt alles oder? OF berechnet dir über deinen Massenstrom die mittlere Geschwindigkeit avgU. Diese wird über:

Code:

avgU = massenstrom / fläche


berechnet. Anschließend wird diese mit den Normalenvektoren der Fläche multipliziert und woala du hast deinen Massenstrom angegeben.

gibst du den Massenstrom der kompletten Fläche an, dann stmimt das nicht.

Symmetrie
Dachte du hast 2x SymmetryPlanes und simulierst 1/4 von einer Geometrie. Bei deiner Simulation müsstest du das Kreissegmet als Fläche nehmen. Fläche über Paraview möglich.


Zitat:
Damit müsste ich auf eine Fläche von 0.00126m² kommen.

Und deiner Aussage von oben (patchIntegrate) sehe ich das du nen Skalierungsfehler haben solltest.


Für Geschwindigkeitskomponenten spielt es keine Rolle ob du 100m/s auf den Gesamtquerschnitt initialisiert oder auf 1/10 davon.

Ist auch logisch. Kompletter Querschnitt -> du hast den ganzen Massenstrom da OF die komplette Querschnittsfläche hat. Bei 1/10 Querschnittsfläche hat OF nur diese. Der Geschwindigkeitsvektor ändert sich dadurch aber nicht!

Grüße Tobi

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Shor-ty
Moderator





Sehen Sie sich das Profil von Shor-ty an!   Senden Sie eine Private Message an Shor-ty  Schreiben Sie einen Gästebucheintrag für Shor-ty

Beiträge: 2463
Registriert: 27.08.2010

OpenFOAM-dev (Foundation)
OpenFOAM-xxxx (ESI)

erstellt am: 04. Sep. 2012 22:31    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für bartholomew83 10 Unities + Antwort hilfreich

Ergänzend und abschließend:

- bei kompressiblen Strömungen:

Code:

type         flowRateInletVelocity;
flowRate     uniform 2;             // kg/s
rho          rho;
value        uniform (0 0 0);

Ist aber optional da der Konstruktor rho = rho initialisiert, wenn man nichts vorgibt.
Mit

Code:

rho           none;


erhält man den volumetrischen Massenstrom.

Grüße Tobi

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Bistor
Mitglied
Entwicklungsingenieurin


Sehen Sie sich das Profil von Bistor an!   Senden Sie eine Private Message an Bistor  Schreiben Sie einen Gästebucheintrag für Bistor

Beiträge: 96
Registriert: 12.04.2011

OpenFoam 2.1.x
Salome

erstellt am: 11. Sep. 2012 10:57    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für bartholomew83 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von TTB:
Hallo Tobi,

oder am Ende der controlDict anhängen:

Code:

functions
(
   massFlow
   {
      type patchMassFlow;
     functionObjectLibs
       (
         "libsimpleFunctionObjects.so"
       );
     verbose true;
     patches
       (
         outlet
       );
     factor 1.;
   }
);


Hallo,

ich hab das gerade ausprobiert. Aber patchMassFlow kennt mein OF scheinbar nicht.
Habe dann gegooglet. Man muss wohl "libso" dafür kompilieren. Ist das korrekt?
Wenn ja was brauch ich dafür? Den scheinbar fehlt das meinem System auch.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Shor-ty
Moderator





Sehen Sie sich das Profil von Shor-ty an!   Senden Sie eine Private Message an Shor-ty  Schreiben Sie einen Gästebucheintrag für Shor-ty

Beiträge: 2463
Registriert: 27.08.2010

OpenFOAM-dev (Foundation)
OpenFOAM-xxxx (ESI)

erstellt am: 11. Sep. 2012 13:44    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für bartholomew83 10 Unities + Antwort hilfreich

Hi,

das Thema hatte ich gestern mit Thomas.
Anscheinend geht sein Vorschlag nicht in der offiziellen Version.

Ich persönlich habe es noch nicht getestet und kann dir deshalb keine Lösung sage.
Ggf. wird Thomas nochmals eine Aktualisierung posten sobald er es gelöst hat.

Grüße Tobi

PS: Mit libso - testen und posten 

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

bartholomew83
Mitglied
Student


Sehen Sie sich das Profil von bartholomew83 an!   Senden Sie eine Private Message an bartholomew83  Schreiben Sie einen Gästebucheintrag für bartholomew83

Beiträge: 62
Registriert: 20.08.2012

erstellt am: 12. Sep. 2012 11:33    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hi Jungs,

nochmal danke für die Hilfe, bekomme auch nun auch realistische Werte für meinen Massenstrom raus.

Ich hätte nochmal eine Frage für die bequemere Auswertung.
Vorweg: Vom Skripten habe ich keine Ahnung. Daher kann ich nicht einschätzen, ob es vom Zeitaufwand her Sinn macht sich für folgendes Problem im Skripten einzuarbeiten.

Wenn ich patchIntegrate phi <patch> mache, bekomme ich ja meine Massenströme am patch für alle Zeitschritte, die geschrieben wurden, im Terminal angezeigt.

Wenn ich mir mit patchIntegrate bspw. 10 Zeitschritte für einen patch gleichzeitig anzeigen lasse, ist es dann relativ einfach ein Skript zu schreiben, welches mir aus den 10 Werten für die Massenströme einen Mittelwert bildet? Oder könnte man den patchIntegrate anpassen?

Beispiel:
patchIntegrate phi inlet (gibt Werte für alle Zeitschritte aus)

modifiziert:
patchIntegrate phi inlet -Mittelwert
(gibt nur einen Wert aus, dieser ist Mittelwert aller Werte aus vorhandenen Zeitschritten)

Würde gerne sowas haben, da mich der zeitlich gemittelte Massenstrom für unterschiedliche Boundarys interessiert, und ich mich nicht jedes mal mit paraview durchklickern möchte! 

Ich weiss, dass sowas immer schwer zu einschätzen ist, aber ich befürchte fast, dass ich länger brauche sowas selbst zu skripten, als es gleich von vornherein per Hand auszuwerten.
Hab wie gesagt vom Skripten keine Ahnung....

Aber vielleicht hat ja sowas von Euch schonmal einer geskriptet und kann mir da ohne viel Aufwand weiterhelfen 

Herzliche Grüße


Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Shor-ty
Moderator





Sehen Sie sich das Profil von Shor-ty an!   Senden Sie eine Private Message an Shor-ty  Schreiben Sie einen Gästebucheintrag für Shor-ty

Beiträge: 2463
Registriert: 27.08.2010

OpenFOAM-dev (Foundation)
OpenFOAM-xxxx (ESI)

erstellt am: 12. Sep. 2012 13:33    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für bartholomew83 10 Unities + Antwort hilfreich


patchIntegrate.sh.zip

 
Ist ein Einzeiler 

Code:

./patchIntegrate.sh [patch]

Hoff das ist das was du brauchst.

Beste Grüße
Tobias H.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

bartholomew83
Mitglied
Student


Sehen Sie sich das Profil von bartholomew83 an!   Senden Sie eine Private Message an bartholomew83  Schreiben Sie einen Gästebucheintrag für bartholomew83

Beiträge: 62
Registriert: 20.08.2012

erstellt am: 12. Sep. 2012 13:42    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hi,

das ging ja fix. Supi, danke 

´Gleich mal testen.


Gruß

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Tineline
Mitglied


Sehen Sie sich das Profil von Tineline an!   Senden Sie eine Private Message an Tineline  Schreiben Sie einen Gästebucheintrag für Tineline

Beiträge: 2
Registriert: 08.02.2016

erstellt am: 08. Feb. 2016 12:50    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für bartholomew83 10 Unities + Antwort hilfreich

Hallo Leute,

ich bin (wie so viele hier) auch recht neu bei OpenFoam und habe im Ramen meiner Studienarbeit ein recht ähnliches Problem wie hier beschrieben.
Leider scheitere ich schon daran libso richtig zu kompilieren.
Kann mir jemand da genauer weiter helfen was ich machen muss?

Vielen Dank schonmal und viele Grüße

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Micha6982
Mitglied
Akademischer Mitarbeiter


Sehen Sie sich das Profil von Micha6982 an!   Senden Sie eine Private Message an Micha6982  Schreiben Sie einen Gästebucheintrag für Micha6982

Beiträge: 130
Registriert: 20.01.2014

ubuntu 16.04
Salome 7.7.1 & 7.8.0
OpenFOAM 3.x & 4.x

erstellt am: 09. Feb. 2016 06:58    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für bartholomew83 10 Unities + Antwort hilfreich

Hallo Tineline,

am einfachsten du packst folgendes in dein controlDict:

Code:

functions
{
  MassflowInletRight
  {
    type                      faceSource;
    functionObjectLibs       ("libfieldFunctionObjects.so");
    enabled                  true;
    outputControl            timeStep;
    outputInterval            1;
    outputControlMode        timeStep;
    log                      true;
    valueOutput          false;
    source                    patch;
    sourceName              outlet;
    operation                sum;
     
fields
                (
      phi
                );
  }
}

Damit bekommst du zu jeder Iterationen den Massenstrom auf der Konsole angezeigt.

------------------
Viele Grüße
Michael

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Tineline
Mitglied


Sehen Sie sich das Profil von Tineline an!   Senden Sie eine Private Message an Tineline  Schreiben Sie einen Gästebucheintrag für Tineline

Beiträge: 2
Registriert: 08.02.2016

erstellt am: 10. Feb. 2016 10:26    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für bartholomew83 10 Unities + Antwort hilfreich

Super vielen Dank. Funktionniert wie ich es wollte!   

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz