Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  OpenFOAM
  Wärmetauscher mit Druckeinlass

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:  Wärmetauscher mit Druckeinlass (954 mal gelesen)
RevolutionZero
Mitglied



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

Beiträge: 29
Registriert: 11.01.2021

OpenFoam V8
OpenFoam 2106
(Ubuntu 20.04.3)

erstellt am: 29. Nov. 2021 07: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


WTauscher.zip


W2.png


W3.png

 
Hallo,

im Grunde möchte ich eine Hälfte eines Wärmetauschers simulieren, wobei ein konstanter Wärmestrom von außen über die Angabe des Gradienten aufgebracht werden soll.
Am Inlet (unten) soll die Luft mit 4.1 bar und 313.15 K eintreten und das System über die Outlets (seitlich) bei Umgebungsdruck wieder verlassen.
Innerhalb des Systems können Geschwindigkeiten um die Schallgeschwindigkeit erreicht werden (Werte aus Vergleichssimulationen mit Ansys Fluent).

Die Berechnung soll dabei stationär, turbulent (k-epsilon-Modell) und kompressibel erfolgen und soll mit dem Solver chtMultiRegionSimpleFoam durchgeführt werden.

Nun zu meinem Problem: Bei meinen gewählten Randbedingungen stellt sich nicht das zu erwartende Strömungsprofil ein bzw. die Luftgeschwindigkeit ändert sich kaum.

Hat vielleicht jemand eine Idee, an was das liegen könnte? Den kompletten Case habe ich angehängt. Meine Randbedingungen lauten wie folgt:

alphat-File des Fluids:

Code:

dimensions      [1 -1 -1 0 0 0 0 ];

internalField   uniform 0;

boundaryField
{

inlet
   {
   type         calculated;
        value        uniform 0;
   }
  
   outlet
   {
   type         calculated;
        value        uniform 0;
   }
  
   sym_fluid
   {
   type symmetry;
   }
      
   fluid_to_solid
   {
       type          compressible::alphatWallFunction;
        Prt           0.85;
        value         uniform 0;
   }

}


epsilon-File des Fluids:

Code:

dimensions      [ 0 2 -3 0 0 0 0 ];

internalField   uniform 0.01;

boundaryField
{

inlet
   {
        type          turbulentMixingLengthDissipationRateInlet;
        mixingLength  0.005;
        value         uniform 0.01;
   }
  
   outlet
   {
        type          inletOutlet;
        inletValue    uniform 0.01;
        value         uniform 0.01;
   }
  
   sym_fluid
   {
   type symmetry;
   }
      
   fluid_to_solid
   {
        type         epsilonWallFunction;
        value       uniform 0.01;
   }

}


k-File des Fluids:

Code:

dimensions      [ 0 2 -2 0 0 0 0 ];

internalField   uniform 0.01;

boundaryField
{

inlet
   {
        type            turbulentIntensityKineticEnergyInlet;
        intensity       0.05;
        value           uniform 0.01;
   }
  
   outlet
   {
        type          inletOutlet;
        inletValue    uniform 0.01;
        value        uniform 0.01;
   }
  
   sym_fluid
   {
   type symmetry;
   }
      
   fluid_to_solid
   {
        type          kqRWallFunction;
        value         uniform 0.1;
   }

}


nut-File des Fluids:

Code:

dimensions      [ 0 2 -1 0 0 0 0 ];

internalField   uniform 0.01;

boundaryField
{

inlet
   {
   type        calculated;
        value       uniform 0;
   }
  
   outlet
   {
   type        calculated;
        value       uniform 0;
   }
  
   sym_fluid
   {
   type symmetry;
   }
      
   fluid_to_solid
   {
        type         nutkWallFunction;
        value        uniform 0.01;
   }
  
}


p-File des Fluids:

Code:

dimensions      [ 1 -1 -2 0 0 0 0 ];

internalField   uniform 101325;

boundaryField
{

inlet
   {
        type            totalPressure;
        psi             psi;
        gamma           1.4;
        p0              uniform 101325;
        value           uniform 410000;
   }
  
   outlet
   {
        type         fixedValue;
        value uniform 101325;
     }
  
   sym_fluid
   {
   type symmetry;
   }
      
   fluid_to_solid
   {
        type            zeroGradient;
   }
  
}


p_rgh-File des Fluids:

Code:

dimensions      [ 1 -1 -2 0 0 0 0 ];

internalField   uniform 101325;

boundaryField
{

inlet
   {
        type            fixedFluxPressure;
   }
  
   outlet
   {
        type            fixedValue;
        value           $internalField;
     }
  
   sym_fluid
   {
   type symmetry;
   }
      
   fluid_to_solid
   {
        type            fixedFluxPressure;
   }
 
}


T-File des Fluids:

Code:

dimensions      [ 0 0 0 1 0 0 0 ];

internalField   uniform 313.15;

boundaryField
{

inlet
   {
   type          fixedValue;
        value         uniform 313.15;
   }
  
   outlet
   {
   type          zeroGradient;
   }
  
   sym_fluid
   {
   type symmetry;
   }
      
   fluid_to_solid
   {
        type            compressible::turbulentTemperatureCoupledBaffleMixed;
        value           uniform 313.15;
        Tnbr            T;
        kappaMethod     fluidThermo;
   }

}


U-File des Fluids:

Code:

dimensions      [ 0 1 -1 0 0 0 0 ];

internalField   uniform ( 0 0 0 );

boundaryField
{

inlet
   {
        type            pressureInletVelocity;
        value           uniform (0 0 0);
   }
  
   outlet
   {
        type            pressureInletOutletVelocity;
        value           uniform (0 0 0);
   }
  
   sym_fluid
   {
   type symmetry;
   }
      
   fluid_to_solid
   {
        type          noSlip;
   }

}


p-File des Solids:

Code:

dimensions      [1 -1 -2 0 0 0 0];

internalField   uniform 101325;

boundaryField
{

    wall
    {
    type calculated;
    value uniform 101325;
    }
   
    sym_solid
    {
    type symmetry;
    }
   
    solid_to_fluid
    {
    type calculated;
    value uniform 101325;
    }

}


T-File des Solids:

Code:

dimensions      [ 0 0 0 1 0 0 0 ];

internalField   uniform 313.15;

boundaryField
{

    wall
    {
    type           fixedGradient;
                gradient       uniform 2000;
    }

    sym_solid
    {
    type symmetry;
    }
   
    solid_to_fluid
    {
        type            compressible::turbulentTemperatureCoupledBaffleMixed;
        value           uniform 313.15;
        Tnbr            T;
        kappaMethod     solidThermo;
    }

}


Vielen Dank schon mal für die Hilfe. Ich hoffe es kann jemand weiterhelfen.

Schönen Gruß.

[Diese Nachricht wurde von RevolutionZero am 29. Nov. 2021 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: 29. Nov. 2021 15: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 RevolutionZero 10 Unities + Antwort hilfreich

Hey,

das p Feld ist belanglos und die Randbedingungen darin sollten alle auf calculated stehen. Wir rechnen mit p_rgh. Damit ist wohl klar wieso nichts passiert:


  • p_rgh braucht den Druckgradient
  • Fixiere Inlet
  • Fixiere Outlet
  • U mit pressureInletVelocity
  • p_rgh wird am Inlet prghTotalPressure sein bzw. prghTotalHydrostaticPressure in Kombination mit der hydrostaticPressure FO für die Initialisierung von ph_rgh
  • p_rgh wird am Outlet identisch zum Inlet sein (fixedValue ist ungeschickt weil das kein Fixed value ist aufgrund von rho*g*h). Ggf. gibts ja ein fixedHydrostaticPressure (musst nachschauen)

Ansonsten: Felder wie, alphat, nut, k, epsilon, ... sind irrlevant hier, genauso wenig wie die Solids  

------------------
Glück Auf,
Tobi

OpenFOAM® Community - Knowledge Base

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

RevolutionZero
Mitglied



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

Beiträge: 29
Registriert: 11.01.2021

OpenFoam V8
OpenFoam 2106
(Ubuntu 20.04.3)

erstellt am: 29. Nov. 2021 21: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

Hey Tobi,

achso ok, wenn das p Feld belanglos ist, erklärt sich natürlich, warum nichts passiert. Danke für die Erklärungen!

Ich hab nun die Randbedingungen wie folgt abgeändert, allerdings finde ich keine fixedHydrostaticPressure-Randbedingung, sondern nur eine prghPressure-Randbedingung.

p-File:

Code:

dimensions      [ 1 -1 -2 0 0 0 0 ];

internalField  uniform 101325;

boundaryField
{

inlet
  {
        type          calculated;
        value $internalField;
  }
 
  outlet
  {
        type          calculated;
        value $internalField;
    }
 
  sym_fluid
  {
          type          symmetry;
  }
     
  fluid_to_solid
  {
        type          calculated;
        value $internalField;
  }
 
}


p_rgh-File:

Code:

dimensions      [ 1 -1 -2 0 0 0 0 ];

internalField  uniform 101325;

boundaryField
{

  inlet
  {
        type          prghTotalPressure;
        p0           uniform 410000;
  }
 
  outlet
  {
        type          prghPressure;
        p           uniform 101325;
  }
 
  sym_fluid
  {
        type symmetry;
  }
     
  fluid_to_solid
  {
        type            zeroGradient;
  }
 
}


U-File:

Code:

dimensions      [ 0 1 -1 0 0 0 0 ];

internalField  uniform ( 0 0 0 );

boundaryField
{

inlet
  {
        type            pressureInletVelocity;
        value          uniform (0 0 0);
  }
 
  outlet
  {
        type            pressureInletOutletVelocity;
        value          uniform (0 0 0);
  }
 
  sym_fluid
  {
        type symmetry;
  }
     
  fluid_to_solid
  {
        type          noSlip;
  }

}


Ich hab dann mal versucht mit diesen Randbedingungen die Simulation zu starten, allerdings bricht die Simulation nach wenigen Schritten ab, da die Temperatur einen sehr hohen, negativen Wert annimmt. Liegt das an der prghPressure-Randbedingung oder hab ich noch irgendwo einen Denkfehler?

Schon mal vielen Dank für die Hilfe!

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: 30. Nov. 2021 19: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 Nur für RevolutionZero 10 Unities + Antwort hilfreich

Hey,

ich meinte ja das es gegebenenfalls eine fixedHydrostaticPressure BC gibt, nicht das diese tatsächlich existiert. In Foam  v9 gibts folgende:

Code:

prghEntrainmentPressure
prghPressure
prghTotalHydrostaticPressure
prghTotalPressure
prghUniformDensityHydrostaticPressure

Und ja, ist eigentlich klar wieso Dein Case crashed. Du versuchst mit Steady-State eine Lösung zu bekommen bei der 3 bar Überdruck von nem Patch kommt. Das crashed definitiv. Ramp den Druck von am Inlet nach oben. Außerdem weiß ich nicht ob Du überhaupt das hinbekommst, wenn Du sagst das Du Ma > 1 bist, müsstest ja fast ne andere Druck-Korrektur-Gleichung reinbauen; nur eine Vermutung. Zudem könntest mal mit potentialFoam versuchen zu initialisieren und Dein p_rgh Feld (internalField) nicht auf 1 bar lassen sondern ggf. in die Mitte setzen.

Tobi

------------------
Glück Auf,
Tobi

OpenFOAM® Community - Knowledge Base

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

RevolutionZero
Mitglied



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

Beiträge: 29
Registriert: 11.01.2021

OpenFoam V8
OpenFoam 2106
(Ubuntu 20.04.3)

erstellt am: 01. Dez. 2021 08:06    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 RevolutionZero 10 Unities + Antwort hilfreich

Hey Tobi,

erstmal danke für die Anmerkungen. In v2106 hab ich nur folgende BC: prghPressure, prghTotalPressure, prghTotalHydrostaticPressure und prghPermeableAlphaTotalPressure.

Wenn ich das richtig verstanden habe, wird mit potentialFoam das Geschwindigkeitsfeld initialisiert und dieses kann als Anfangsbedingung für chtMultiRegionSimpleFoam verwendet werden, oder?

Ich hab jetzt mal versucht mit potentialFoam zu initialisieren und hab mein p_rgh-Feld auf 2,5 bar gesetzt, allerdings startet potentialFoam nicht. Hab folgende Änderungen durchgeführt:

fvSolution-File:

Code:
solvers
{
    rho
    {
        solver          PCG;
        preconditioner  DIC;
        tolerance      1e-7;
        relTol          0;
    }

    p_rgh
    {
        solver          GAMG;
        tolerance        1e-7;
        relTol          0.01;
        smoother        GaussSeidel;
    }

    "(U|h|k|epsilon|G|Ii)"
    {
        solver          PBiCGStab;
        preconditioner  DILU;
        tolerance        1e-7;
        relTol          0.1;
    }

    G
    {
        $p_rgh;
        tolerance      1e-05;
        relTol          0.1;
    }
   
    Phi
    {
    $p_rgh;
    }
}

SIMPLE
{
    momentumPredictor yes;
    nNonOrthogonalCorrectors 0;
    pRefCell        0;
    pRefValue      100000;
    rhoMin          0.2;
    rhoMax          2;
}

potentialFlow
{
nNonOrthogonalCorrectors 10;
}

relaxationFactors
{
    fields
    {
        rho            1.0;
        p_rgh          0.7;
    }
    equations
    {
        U              0.3;
        h              0.7;
        "(k|epsilon|omega)" 0.7;
        G              0.7;
        "ILambda.*"    0.7;
        qr              0.7;
    }
}


fvSchemes-File:

Code:
ddtSchemes
{
    default        steadyState;
}

gradSchemes
{
    default        Gauss linear;
}

divSchemes
{
    default        none;

    div(phi,U)      bounded Gauss upwind;

    energy          bounded Gauss upwind;
    div(phi,K)      $energy;
    div(phi,h)      $energy;

    turbulence      bounded Gauss upwind;
    div(phi,k)      $turbulence;
    div(phi,epsilon) $turbulence;
    div(phi,R)      $turbulence;
    div(R)          Gauss linear;

    div(Ji,Ii_h)    Gauss linearUpwind grad(U);
    div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear;
}

laplacianSchemes
{
    default        Gauss linear uncorrected;
}

interpolationSchemes
{
    default        linear;
}

snGradSchemes
{
    default        uncorrected;
}


Müssen hier noch weitere Änderungen durchgeführt werden, damit potentialFoam startet oder wo könnte hier die Ursache liegen?

Des Weiteren hab ich auch mal den prghTotalPressure am inlet auf 1,2 bar gesetzt, dann ist zwar der Wert der Temperatur nicht so groß, aber trotzdem negativ und die Rechnung bricht ab. Dann liegt hier wahrscheinlich ein Fehler mit den Randbedingungen vor, oder?

Mit freundlichen Grüßen
Basti

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: 01. Dez. 2021 16:47    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 RevolutionZero 10 Unities + Antwort hilfreich

Hi Basti,


--> VelocityDaming
--> limitTemperature

Als fvOption reinnehmen. potentialFoam wirdn icht funktionieren, wenn Du keine U-Randbedingung hast, die einen Massenstrom definiert. potentialFoam kann nicht mit Druck-Deltas rechnen. Um das aber zu gewährleisten kannst Du für potentialFoam andere Randbedingungen verwenden. Du weißt ja sicherlich welcher Massenstrom strömt (oder Volumenstrom). Druckrandbedingungen und Geschwindigkeitsrandbedingungen für In- und Outlet anpassen -> potentialFoam --> Randbedingungen Re-Ab-Ändern und dann mit cht lösen.

------------------
Glück Auf,
Tobi

OpenFOAM® Community - Knowledge Base

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

RevolutionZero
Mitglied



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

Beiträge: 29
Registriert: 11.01.2021

OpenFoam V8
OpenFoam 2106
(Ubuntu 20.04.3)

erstellt am: 02. Dez. 2021 13:06    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 RevolutionZero 10 Unities + Antwort hilfreich

Hallo Tobi,

ich hab jetzt die fvOptions unter system/fluid und system/solid mit aufgenommen. Schon mal danke für den Tipp.

Für den Volumenstrom hab ich nur eine grobe Schätzung von 0.02 m³/s. Hab dann meine Randbedingungen wie folgt abgeändert und damit dann potentialFoam laufen lassen:

U-File:

Code:
dimensions      [ 0 1 -1 0 0 0 0 ];

internalField  uniform ( 0 0 0 );

boundaryField
{

inlet
  {
        type            flowRateInletVelocity;
        volumetricFlowRate 0.02;
        value          uniform (0 0 0);
        rho rho;
  }
 
  outlet
  {
        type            zeroGradient;
  }
 
  sym_fluid
  {
        type symmetry;
  }
     
  fluid_to_solid
  {
        type          noSlip;
  }

}


p_rgh-File:

Code:
dimensions      [ 1 -1 -2 0 0 0 0 ];

internalField  uniform 101325;

boundaryField
{

inlet
  {
        type          zeroGradient;
  }
 
  outlet
  {
        type          prghPressure;
        p uniform 101325;
  }
 
  sym_fluid
  {
        type symmetry;
  }
     
  fluid_to_solid
  {
        type            zeroGradient;
  }
 
}


Als Ergebnis erhalte ich dann im U-File die folgende List:

Code:
dimensions      [0 1 -1 0 0 0 0];

internalField  uniform (0 0 0);

boundaryField
{
    inlet
    {
        type            flowRateInletVelocity;
        volumetricFlowRate constant 0.02;
        value          nonuniform List<vector>
728
(
(-1.5739771e-13 5.8077169e-14 626.28937)
[...]
(1.6283524e-20 9.5872947e-14 626.28937)
)
;
    }
    outlet
    {
        type            zeroGradient;
    }
    sym_fluid
    {
        type            symmetry;
    }
    fluid_to_solid
    {
        type            noSlip;
    }
}


Ausgabe im Terminal beim Ausführen von potentialFoam:

Code:
Create time

Create mesh for time = 0


potentialFlow: Operating solver in PISO mode

Reading velocity field U

Constructing pressure field p

Constructing velocity potential field Phi

No MRF models present


Calculating potential flow
GAMG:  Solving for Phi, Initial residual = 0, Final residual = 0, No Iterations 0
GAMG:  Solving for Phi, Initial residual = 0, Final residual = 0, No Iterations 0
GAMG:  Solving for Phi, Initial residual = 0, Final residual = 0, No Iterations 0
GAMG:  Solving for Phi, Initial residual = 0, Final residual = 0, No Iterations 0
GAMG:  Solving for Phi, Initial residual = 0, Final residual = 0, No Iterations 0
GAMG:  Solving for Phi, Initial residual = 0, Final residual = 0, No Iterations 0
GAMG:  Solving for Phi, Initial residual = 0, Final residual = 0, No Iterations 0
GAMG:  Solving for Phi, Initial residual = 0, Final residual = 0, No Iterations 0
GAMG:  Solving for Phi, Initial residual = 0, Final residual = 0, No Iterations 0
GAMG:  Solving for Phi, Initial residual = 0, Final residual = 0, No Iterations 0
GAMG:  Solving for Phi, Initial residual = 0, Final residual = 0, No Iterations 0
Continuity error = 0
Interpolated velocity error = 0
ExecutionTime = 4.04 s  ClockTime = 4 s

End


Nun hätte ich die Frage, wie ich die Ergebnisse bzw. die Liste nun wiederum in chtMultiRegionSimpleFoam integriere. Denn um potentialFoam ausführen zu können, musste ich aus dem MultiRegion-Case wieder einen SingleRegion-Case machen. Oder gibt es eine Möglichkeit die beiden Solver in einem Case ausführen zu lassen?

Danke für deine Hilfe.

Mit freundlichen Grüßen
Basti

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: 02. Dez. 2021 21:40    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 RevolutionZero 10 Unities + Antwort hilfreich

Du musst PotentialFoam mit
Code:

potentialFOAM -initializeUBCs


starten. Der Solver kann nicht mit flowRateInletVelocity, die muss erst in eine Geschwindigkeit umgewandelt werden. Outlet -> fixedValue.

Die Ausgabe von potentialFoam sagt übrigens --> nichts gemacht.
Du nimmst dann einfach das phi und U Feld und kopierst es in den 0/fluid/ Ordner.

------------------
Glück Auf,
Tobi

OpenFOAM® Community - Knowledge Base

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

RevolutionZero
Mitglied



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

Beiträge: 29
Registriert: 11.01.2021

OpenFoam V8
OpenFoam 2106
(Ubuntu 20.04.3)

erstellt am: 03. Dez. 2021 11: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 RevolutionZero 10 Unities + Antwort hilfreich

Hallo Tobi,

danke für die Tipps und die Erklärung.

Zitat:
Der Solver kann nicht mit flowRateInletVelocity, die muss erst in eine Geschwindigkeit umgewandelt werden. Outlet -> fixedValue.

Am Inlet fixedValue vorgeben oder? Hab jetzt mal mit einer Inlet-Geschwindigkeit von 400 m/s initialisiert, da ist potentialFoam auch ohne Probleme durchgelaufen. Hab dann noch -writephi ergänz, damit auch das phi-File erzeugt wird.

Anschließend hab ich das phi-File in 0/fluid kopiert und das U-Feld hab ich ins U-File eingefügt. Wenn ich allerdings chtMultiRegionSimpleFoam starte erhalte ich die folgende Fehlermeldung:

Code:
--> FOAM FATAL ERROR: (openfoam-2106)

[U[0 1 -2 0 0 0 0] ] + [(rho*MRFZoneList:acceleration)[1 -2 -2 0 0 0 0] ]

From void Foam::checkMethod(const Foam::fvMatrix<Type>&, const Foam::DimensionedField<Type, Foam::volMesh>&, const char*) [with Type = Foam::Vector<double>]
in file /usr/src/packages/BUILD/src/finiteVolume/lnInclude/fvMatrix.C at line 1351.

FOAM aborting

#0 Foam::error::printStack(Foam::Ostream&) at ??:?
#1 Foam::error::exitOrAbort(int, bool) at ??:?
#2 void Foam::checkMethod<Foam::Vector<double> >(Foam::fvMatrix<Foam::Vector<double> > const&, Foam::DimensionedField<Foam::Vector<double>, Foam::volMesh> const&, char const*) in /usr/lib/openfoam/openfoam2106/platforms/linux64GccDPInt32Opt/bin/chtMultiRegionSimpleFoam
#3 ? in /usr/lib/openfoam/openfoam2106/platforms/linux64GccDPInt32Opt/bin/chtMultiRegionSimpleFoam
#4 ? in /usr/lib/openfoam/openfoam2106/platforms/linux64GccDPInt32Opt/bin/chtMultiRegionSimpleFoam
#5 __libc_start_main in /lib/x86_64-linux-gnu/libc.so.6
#6 ? in /usr/lib/openfoam/openfoam2106/platforms/linux64GccDPInt32Opt/bin/chtMultiRegionSimpleFoam
Abgebrochen (Speicherabzug geschrieben)


Wenn ich nur das U-Feld im U-File einfüge läuft die Simulation ein paar Schritte weiter als zuvor, bricht dann allerdings auch mit der folgenden Fehlermeldung ab:

Code:
Time = 12


Solving for fluid region fluid
velocityDampingConstraint velocityDamping damped 1089887 (100%) of cells
DILUPBiCGStab: Solving for Ux, Initial residual = 0.089056866, Final residual = 3.7153106e-14, No Iterations 1
DILUPBiCGStab: Solving for Uy, Initial residual = 0.62739685, Final residual = 4.7145996e-13, No Iterations 1
DILUPBiCGStab: Solving for Uz, Initial residual = 0.25540347, Final residual = 8.3735338e-15, No Iterations 1
DILUPBiCGStab: Solving for h, Initial residual = 0.99999486, Final residual = 0.0059863807, No Iterations 1
limitTemperature limitT Lower limited 186599 (17.120949%) of cells
limitTemperature limitT Upper limited 903287 (82.878959%) of cells
limitTemperature limitT Unlimited Tmax 10000
Unlimited Tmin 273.15
Min/max T:273.15 10000
GAMG: Solving for p_rgh, Initial residual = 1, Final residual = 0.071617503, No Iterations 1000
time step continuity errors : sum local = 5.5346314e+40, global = 1.1560664e+40, cumulative = 1.2470269e+40
Min/max rho:0.2 2
#0 Foam::error::printStack(Foam::Ostream&) at ??:?
#1 Foam::sigFpe::sigHandler(int) at ??:?
#2 ? in /lib/x86_64-linux-gnu/libpthread.so.0
#3 Foam::scalarProduct<double, double>::type Foam::sumProd<double>(Foam::UList<double> const&, Foam::UList<double> const&) at ??:?
#4 Foam::PBiCGStab::scalarSolve(Foam::Field<double>&, Foam::Field<double> const&, unsigned char) const at ??:?
#5 Foam::PBiCGStab::solve(Foam::Field<double>&, Foam::Field<double> const&, unsigned char) const at ??:?
#6 Foam::fvMatrix<double>::solveSegregated(Foam::dictionary const&) at ??:?
#7 Foam::fvMatrix<double>::solveSegregatedOrCoupled(Foam::dictionary const&) at ??:?
#8 Foam::fvMesh::solve(Foam::fvMatrix<double>&, Foam::dictionary const&) const at ??:?
#9 Foam::SolverPerformance<double> Foam::solve<double>(Foam::tmp<Foam::fvMatrix<double> > const&) at ??:?
#10 Foam::RASModels::kEpsilon<Foam::EddyDiffusivity<Foam::ThermalDiffusivity<Foam::CompressibleTurbulenceModel<Foam::fluidThermo> > > >::correct() at ??:?
#11 ? in /usr/lib/openfoam/openfoam2106/platforms/linux64GccDPInt32Opt/bin/chtMultiRegionSimpleFoam
#12 __libc_start_main in /lib/x86_64-linux-gnu/libc.so.6
#13 ? in /usr/lib/openfoam/openfoam2106/platforms/linux64GccDPInt32Opt/bin/chtMultiRegionSimpleFoam
Gleitkomma-Ausnahme (Speicherabzug geschrieben)


Muss ich noch irgendwas ergänzen, damit das mit dem phi-File funktioniert oder hab ich irgendwo anders einen Fehler gemacht?

Gruß
Basti

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: 03. Dez. 2021 13:18    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 RevolutionZero 10 Unities + Antwort hilfreich

...
Die MassFlowRate musst Du nicht umändern aber so gehts aus.
PotentialFoam hat keine Dichte -> somit ist das Flux Feld phi = phi / rho
chtSolver enthalten die Dichte -> somit ist das Flux Feld phi = phi

Die Einheiten passen in Deinem Fall also nicht. Du kannst jetzt das phi Feld von potentialFoam öffnen und die Dimensions anpassen aber ist nicht notwendig wenn Du U verwendest. Aber wie die Ausgabe zeigt, sind alle deine Geschwindigkeiten viel zu Groß. 100% Damping.

Heißt: Du hast ein Problem im Set-Up, zu wenig Unterrelaxiert oder sonst was. Falsche Schemen, falsches Netz, unphysikalische Randbedingungen, falscher Löser, falsche Herangehensweise, falsche Druck-Gleichung, ... etc.

Tobi

------------------
Glück Auf,
Tobi

OpenFOAM® Community - Knowledge Base

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

RevolutionZero
Mitglied



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

Beiträge: 29
Registriert: 11.01.2021

OpenFoam V8
OpenFoam 2106
(Ubuntu 20.04.3)

erstellt am: 03. Dez. 2021 14:09    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 RevolutionZero 10 Unities + Antwort hilfreich

Ok alles klar, danke für die Erläuterungen.

Dann schau ich mir mein Set-Up nochmal genauer an.

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: 03. Dez. 2021 17:47    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 RevolutionZero 10 Unities + Antwort hilfreich

Ich hatte gar nicht gesehen, dass Du einen Case angehängt hast. Dann schau ich mir das mal an.

------------------
Glück Auf,
Tobi

OpenFOAM® Community - Knowledge Base

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

RevolutionZero
Mitglied



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

Beiträge: 29
Registriert: 11.01.2021

OpenFoam V8
OpenFoam 2106
(Ubuntu 20.04.3)

erstellt am: 03. Dez. 2021 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 Nur für RevolutionZero 10 Unities + Antwort hilfreich

Das wäre super. Danke! Hab den Case mit dem U-File und phi-File auch mal in meiner Dropbox hochgeladen unter dem folgenden Link:

https://www.dropbox.com/sh/ewsu81rf50ojhap/AAC5ZTUBZskiBmDm71MscL4Ka?dl=0

Hier konnte ich die beiden Files aufgrund der begrenzten Datenmenge nicht hochladen.

Vielen Dank und schönes Wochenende.

Mit freundlichen Grüßen
Basti

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: 07. Dez. 2021 14:09    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 RevolutionZero 10 Unities + Antwort hilfreich

Habs mir mal angeschaut aber bin innerhalb 1 h auch nicht weit gekommen. Lass mal die Layer weg, das Netz ist nämlich sehr schlecht an diversen Stellen. Dann betrachte nur deine Fluid-Region. PotentialFoam hilft hier.

Dimensionen sind rihctig, oder?
Gehe immernoch davon aus, das Du ne andere Druckgleichung brauchst.

------------------
Glück Auf,
Tobi

OpenFOAM® Community - Knowledge Base

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

RevolutionZero
Mitglied



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

Beiträge: 29
Registriert: 11.01.2021

OpenFoam V8
OpenFoam 2106
(Ubuntu 20.04.3)

erstellt am: 08. Dez. 2021 09:22    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 RevolutionZero 10 Unities + Antwort hilfreich

Danke, dass du dir den Case mal angeschaut hast. Denn werde ich jetzt erstmal die Fluid-Region genauer betrachten.

Zitat:
Dimensionen sind rihctig, oder?

Ja die Dimensionen sollten so passen.


Zitat:
Gehe immernoch davon aus, das Du ne andere Druckgleichung brauchst.

Welche Möglichkeiten gibt es hierfür bzw. wie kann das implementiert werden?

Hab jetzt mal die Foren bezüglich Druckgleichung und Druckkorrektur durchgeschaut, habe allerdings nichts Passendes gefunden. Gibt es hierzu irgendwelche Literatur, wo ich nachlesen kann?

Danke für deine Hilfe.

Gruß
Basti

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

RevolutionZero
Mitglied



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

Beiträge: 29
Registriert: 11.01.2021

OpenFoam V8
OpenFoam 2106
(Ubuntu 20.04.3)

erstellt am: 09. Dez. 2021 07: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 RevolutionZero 10 Unities + Antwort hilfreich

Ich hab den Case nun mal auch in OpenFoam V8 (V2106 hab ich hauptsächlich für die Vernetzung komplexerer Geometrien verwendet) aufgebaut und bin nochmal Schritt für Schritt vorgegangen und hab mir explizit das Fluid angeschaut:

1. Simulation: Ohne Layers, konstanter Volumenstrom am Inlet anstatt Überdruck und Wasser anstatt Luft
2. Simulation: Ohne Layers, Druckdelta von 1 bar anstatt von 3bar und Wasser anstatt Luft
3. Simulation: Ohne Layers, Druckdelta von 3 bar und Wasser anstatt Luft
4. Simulation: Ohne Layers, Druckdelta von 3 bar und Luft

Die ersten drei Simulationen sind ohne Probleme durchgelaufen und die initial residuals nehmen auch alle einen Wert von 1^-5 nach einer gewissen Zeit an.
Selbstverständlich muss noch einiges am Netz geändert werden, damit dabei brauchbare Ergebnisse herauskommen, aber die Simulation ist durchgelaufen.

Bei der vierten Simulation, also beim Wechsel von Wasser zu Luft und von inkompressibel auf kompressibel, bricht die Simulation allerdings wieder mit folgenden Fehler ab:

Code:
#0 Foam::error::printStack(Foam::Ostream&) at ??:?
#1 Foam::sigFpe::sigHandler(int) at ??:?
#2 ? in "/lib/x86_64-linux-gnu/libc.so.6"
#3 Foam::divide(Foam::Field<double>&, Foam::UList<double> const&, Foam::UList<double> const&) at ??:?
#4 Foam::operator/(Foam::tmp<Foam::Field<double> > const&, Foam::UList<double> const&) at ??:?
#5 Foam::CompressibleMomentumTransportModel<Foam::fluidThermo>::nu(int) const at ??:?
#6 Foam::nutkWallFunctionFvPatchScalarField::nut() const at ??:?
#7 Foam::nutWallFunctionFvPatchScalarField::updateCoeffs() at ??:?
#8 Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh>::Boundary::evaluate() in "/opt/openfoam8/platforms/linux64GccDPInt32Opt/bin/chtMultiRegionFoam"
#9 Foam::RASModels::kEpsilon<Foam::CompressibleMomentumTransportModel<Foam::fluidThermo> >::correctNut() at ??:?
#10 ? in "/opt/openfoam8/platforms/linux64GccDPInt32Opt/bin/chtMultiRegionFoam"
#11 __libc_start_main in "/lib/x86_64-linux-gnu/libc.so.6"
#12 ? in "/opt/openfoam8/platforms/linux64GccDPInt32Opt/bin/chtMultiRegionFoam"
Gleitkomma-Ausnahme (Speicherabzug geschrieben)

Für die thermophysicalProperties von Wasser hab ich folgende Werte genommen:

Code:
// Water
thermoType
{
type heRhoThermo;
mixture pureMixture;
transport const;
thermo hConst;
equationOfState rhoConst;
specie specie;
energy sensibleEnthalpy;
}

mixture
{
specie
{
molWeight 18;
}
equationOfState
{
rho 1000;
}
thermodynamics
{
Cp 4181;
Hf 0;
}
transport
{
mu 959e-6;
Pr 6.62;
}
}


Für die thermophysicalProperties von Luft hab ich folgende Werte genommen:

Code:
// Air
thermoType
{
type heRhoThermo;
mixture pureMixture;
transport const;
thermo hConst;
equationOfState perfectGas;
specie specie;
energy sensibleEnthalpy;
}

mixture
{
specie
{
molWeight 28.9;
}
thermodynamics
{
Cp 1000;
Hf 0;
}
transport
{
mu 1.8e-05;
Pr 0.7;
}
}


Das wird wahrscheinlich die Vermutung mit einer anderen Druckgleichung unterstützen, oder?

Gruß
Basti

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: 09. Dez. 2021 22: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 RevolutionZero 10 Unities + Antwort hilfreich

Nein. Die Druckgleichung änderst Du ja nirgends. Zumal Du ein Problem mit dem Turbulenzmodell und der Wandfunktion hast. Rechne halt rhoConst bei Luft erstmal an und wechsel dann zu incompressiblePerfectGas und dann zu perfectGas. Aber wie gesagt, wenn Du Irgndwo bei Ma ~ 1 bist, dann solltest Du mal rhoPimpleFoam versuchen.

Du kannst auch die "world-coupling" Sache von ESI verwenden: Bspw. rhoPimpleFoam coupling mit solidFoam = gleich zu chtMulti, nur das zwei Solver gekoppelt werden. Dann kannst auch die transonic verwenden und die andere Druck-Korrektur nehmen.

------------------
Glück Auf,
Tobi

OpenFOAM® Community - Knowledge Base

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

RevolutionZero
Mitglied



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

Beiträge: 29
Registriert: 11.01.2021

OpenFoam V8
OpenFoam 2106
(Ubuntu 20.04.3)

erstellt am: 09. Dez. 2021 23: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 RevolutionZero 10 Unities + Antwort hilfreich

Mit rhoConst hab ich es heute mal probiert, da bricht die Simulation auch sofort ab.

Dann werde ich es morgen mal mit rhoPimpleFoam versuchen und ansonsten rhoPimpleFoam mit solidFoam.

Vielen Dank für die Tipps.

Gruß
Basti

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