| |  | Online-Kurs: Grundlagen des 3D-Druck-Designs für Industrieingenieure , ein Kurs
|
Autor
|
Thema: Druck am Outlet ausgeben (1726 mal gelesen)
|
homeboy87 Mitglied Student

 Beiträge: 13 Registriert: 22.04.2010
|
erstellt am: 20. Jul. 2012 13:06 <-- editieren / zitieren --> Unities abgeben:         
Hi Leute, ich möchte bei einer Rohrströmung den Druck am Outlet (Fläche) zu jedem Zeitschritt ausgegeben haben. Also so wie bei probeLocation nur mit einer Fläche. Ist so etwas möglich? Kann mir jemand helfen? Gruß Flo Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Shor-ty Moderator
     

 Beiträge: 2466 Registriert: 27.08.2010 ESI-OpenCFD OpenFOAM v2312
|
erstellt am: 20. Jul. 2012 15:26 <-- editieren / zitieren --> Unities abgeben:          Nur für homeboy87
Hi Flo, zu deiner Frage #1 - ja. zu deiner Frage #2 - ja. Meinst du vllt sowas?
Code:
Time = 104DILUPBiCG: Solving for Ux, Initial residual = 0.00833251, Final residual = 0.000377005, No Iterations 1 DILUPBiCG: Solving for Uy, Initial residual = 0.00743216, Final residual = 0.000276192, No Iterations 2 DILUPBiCG: Solving for Uz, Initial residual = 0.00732033, Final residual = 0.000256383, No Iterations 2 DICPCG: Solving for p, Initial residual = 0.0252141, Final residual = 0.000196318, No Iterations 85 time step continuity errors : sum local = 7.41378e-05, global = 8.73507e-09, cumulative = -0.000113309 DILUPBiCG: Solving for epsilon, Initial residual = 0.00300625, Final residual = 2.09382e-05, No Iterations 2 DILUPBiCG: Solving for k, Initial residual = 0.00285056, Final residual = 0.000117073, No Iterations 1 Calculating average pressure on patch [outlet] average Pressure 2072.04 ExecutionTime = 17.28 s ClockTime = 17 s Time = 105 DILUPBiCG: Solving for Ux, Initial residual = 0.00805299, Final residual = 0.000404396, No Iterations 1 DILUPBiCG: Solving for Uy, Initial residual = 0.00739992, Final residual = 2.09177e-05, No Iterations 3 DILUPBiCG: Solving for Uz, Initial residual = 0.00729696, Final residual = 1.43465e-05, No Iterations 3 DICPCG: Solving for p, Initial residual = 0.0238268, Final residual = 0.000210803, No Iterations 85 time step continuity errors : sum local = 7.87914e-05, global = -4.23122e-08, cumulative = -0.000113351 DILUPBiCG: Solving for epsilon, Initial residual = 0.0029078, Final residual = 2.12366e-05, No Iterations 2 DILUPBiCG: Solving for k, Initial residual = 0.00262996, Final residual = 0.000119865, No Iterations 1 Calculating average pressure on patch [outlet] average Pressure 2071.56 ExecutionTime = 17.51 s ClockTime = 17 s
Das hab ich mal auf die Schnelle gemacht. Geht sicher auch einfacher und nicht so umständlich wie ich das gemacht habe. Außerdem muss dein Outlet dann auch outlet heißen, das man auch ändern könnte. Mit C++ ist glaub echt alles möglich!
Oder stellst du dir die Ausgabe in einer Datei vor? Wär auch möglich und eine Idee. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Shor-ty Moderator
     

 Beiträge: 2466 Registriert: 27.08.2010
|
erstellt am: 20. Jul. 2012 16:04 <-- editieren / zitieren --> Unities abgeben:          Nur für homeboy87
Hab noch ein fatalen Fehler gemacht. Nun siehts besser aus! Code:
Time = 199DILUPBiCG: Solving for Ux, Initial residual = 0.000820803, Final residual = 5.87901e-05, No Iterations 1 DILUPBiCG: Solving for Uy, Initial residual = 0.00316816, Final residual = 0.000134741, No Iterations 1 DILUPBiCG: Solving for Uz, Initial residual = 0.00316494, Final residual = 0.000127189, No Iterations 1 DICPCG: Solving for p, Initial residual = 0.00855027, Final residual = 6.49037e-05, No Iterations 85 time step continuity errors : sum local = 1.53402e-05, global = -2.99642e-08, cumulative = -0.000118809 DILUPBiCG: Solving for epsilon, Initial residual = 0.00191741, Final residual = 3.7258e-05, No Iterations 2 DILUPBiCG: Solving for k, Initial residual = 0.00135844, Final residual = 7.28454e-05, No Iterations 1 Calculating average pressure on patch [outlet] average pressure on patch [outlet]: 10.6027 ExecutionTime = 56.88 s ClockTime = 57 s Time = 200 DILUPBiCG: Solving for Ux, Initial residual = 0.000815422, Final residual = 5.87678e-05, No Iterations 1 DILUPBiCG: Solving for Uy, Initial residual = 0.00313963, Final residual = 0.000133337, No Iterations 1 DILUPBiCG: Solving for Uz, Initial residual = 0.00313667, Final residual = 0.000125845, No Iterations 1 DICPCG: Solving for p, Initial residual = 0.0084707, Final residual = 6.63165e-05, No Iterations 85 time step continuity errors : sum local = 1.56546e-05, global = -2.85937e-08, cumulative = -0.000118838 DILUPBiCG: Solving for epsilon, Initial residual = 0.00189503, Final residual = 3.68751e-05, No Iterations 2 DILUPBiCG: Solving for k, Initial residual = 0.0013489, Final residual = 7.22538e-05, No Iterations 1 Calculating average pressure on patch [outlet] average pressure on patch [outlet]: 10.6023 ExecutionTime = 57.22 s ClockTime = 57 s End > > > patchAverage p outlet -latestTime /*---------------------------------------------------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 2.1.x | | \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ Build : 2.1.x Exec : patchAverage p outlet -latestTime // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // Create time Create mesh for time = 200 Time = 200 Reading volScalarField p Average of volScalarField over patch outlet[2] = 10.6023 End
Meine Lösung ist wie folgt. Im Solver hab ich eine neue Datei eingebaut - averagePressure.H in dieser steht dann die gewünschte Berechnung (vereinfacht) wie in patchAverage.C Sehr simple Aber wie gesagt - sowas kannst du sicherlich auch irgendwie mit functions () im controlDict machen. Grüße Tobi Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
HannoH Mitglied Student

 Beiträge: 18 Registriert: 05.01.2011
|
erstellt am: 23. Jul. 2012 15:49 <-- editieren / zitieren --> Unities abgeben:          Nur für homeboy87
Ja, du kannst anstatt Punkten auch Linien oder Flächen ins controlDict schreiben, dann analog der sample-utility (http://www.openfoam.org/docs/user/sample.php). Z.B. so:
Code: functions ( probes { type surfaces; region region0; functionObjectLibs ("libsampling.so"); outputControl outputTime; outputInterval 0.05; interpolationScheme cellPoint; surfaceFormat vtk; fields ( U p ); surfaces ( slice1 { type plane; // always triangulated basePoint (0 0 0); normalVector (0 1 0); triangulate false; interpolate true; } ); } );
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
 |