Hot News aus dem CAD.de-Newsletter:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  OpenFOAM
  Schließventil an Rohrleitung (movingMesh)

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:   Schließventil an Rohrleitung (movingMesh) (84 mal gelesen)
silencebreak
Mitglied


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

Beiträge: 7
Registriert: 22.05.2017

OpenFoam version 2.4.0
CentOS 6.9

erstellt am: 13. Aug. 2017 12:00    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


Overview.png


outlet_area.png

 
Hallo foamers,

Ich stehe vor dem Problem, dass ich ein sich schließendes Ventil am Ende bzw. im Bereich des Ausflusses haben möchte. Mein Problem ist nun wie ich diesen Fall am geeignetsten Lösen kann.

Im Allgemeinen ist der Aufbau wie folgt: Es besteht eine obere Kaverne die mit verschiedenen Wasserständen (mit funkySetFields) gefüllt ist. Nun wird die Berechnung gestartet und nach ca 30 Sekunden wird das Ventil unten (mit variablen Schließzeiten) geschlossen, nach einer Art Keilschieber.

Mein bisheriger Ansatz:
Meine Idee war, dass ich einfach eine Wand (generiert mit Salome) erstelle, die ich dann einfach nach unten bewegen lassen mit AMI. Also das Quadrat welches im zweiten Bild zu sehen ist soll sich einmal quer in die Rohrleitung schieben.
Das Problem bei dieser Variante ist, dass das Rechteck bei sHM nun rund im Rohr wird.

Meine sHM Datei:

Code:
/*--------------------------------*- C++ -*----------------------------------*\
| =========                |                                                |
| \\      /  F ield        | OpenFOAM: The Open Source CFD Toolbox          |
|  \\    /  O peration    | Version:  2.4.0                                |
|  \\  /    A nd          | Web:      www.OpenFOAM.org                      |
|    \\/    M anipulation  |                                                |
\*---------------------------------------------------------------------------*/
FoamFile
{
    version    2.0;
    format      ascii;
    class      dictionary;
    object      snappyHexMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

// Which of the steps to run
castellatedMesh true;
snap                true;
addLayers        false;


// Geometry. Definition of all surfaces. All surfaces are of class
// searchableSurface.
// Surfaces are used
// - to specify refinement for any mesh cell intersecting it
// - to specify refinement for any mesh cell inside/outside/near
// - to 'snap' the mesh boundary to the surface
geometry
{
      regionSTL.stl
      {
            type triSurfaceMesh;
            regions
            {
                outlet      { name outlet; }
                pipeWall    { name pipeWall; }
                pipeWallEnd { name pipeWall; }
                kaverneWall { name kaverneWall; }
                atmosphere  { name atmosphere; }
            }
      }
      AMI.stl
      {
            type triSurfaceMesh;
            name AMI;
      }
};

[...]

    refinementSurfaces
    {
        regionSTL.stl
        {
            level (0 0);

            regions
            {
                outlet          { level (4 4); patchInfo { type patch; }}//was level (4 4)
                atmosphere      { level (2 2); patchInfo { type patch; }}//was level (4 4)
                kaverneWall    { level (1 1); patchInfo { type wall; }}
                pipeWall        { level (3 3); patchInfo { type wall; }}//was level (4 4)
            }
        }

        AMI
        {

            level (2 2);

            faceType boundary;
            cellZone innerAMI;
            faceZone innerAMI;
            cellZoneInside inside;
        }

    }
[...]


Da dies nun mein erster Versuch mit einem bewegenden Teil in OpenFOAM ist nun meine Frage:
1. Ist es überhaupt sinnvoll auf diese Weise das Problem anzugehen?
2. Ist es eventuell sinnvoller mit groovyBC einfach den outlet zu beschneiden?

Vielen Dank schonmal!

Viele Grüße
Oli

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

cfdtobi
Mitglied
Student


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

Beiträge: 53
Registriert: 16.07.2015

erstellt am: 14. Aug. 2017 08:16    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 silencebreak 10 Unities + Antwort hilfreich

Morgen Oli,
interessante Problemstellung!

Habe selbst mit Ähnlichem zu tun gehabt - Abbildung von Spiegelfüll-Vorgängen bei denen das Dosier-Mundstück angehoben werden musste und somit auch Zellübergänge neu erzeugt werden müssen.

Um das kontinuierlich abbilden zu können habe ich das layerAdditionRemoval genutzt (soweit ich weiß, war das im movingCone Tutorial bis of 210 - kann mich aber auch täuschen, da die Berechnungen schon lange zurückliegen)

Der Ansatz mit einer bewegten Scheibe ließe sich umsetzen, (3D - Scheibe)allerdings wirst du dann auch Strömungen in der Scheibe erzeugen, die du in Realität ja nicht hast.

(Daher auch mein Ansatz, die Zellen die durchströmt werden sollen neu zu erzeugen)

Eventuell wäre eine Möglichkeit noch, ein Baffle im Rohr zu erzeugen und dann eben über die BCs am Baffle die Durchströmbarkeit über eine Funktion anzupassen (Nur mal als Ansatz?)

Viele Erfolg!

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

Shor-ty
Moderator
Dissertant




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: 2095
Registriert: 27.08.2010

Latest OpenFOAM version
OpenFOAM-dev (for Bugreport)

erstellt am: 14. Aug. 2017 20:28    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 silencebreak 10 Unities + Antwort hilfreich

Grüße euch,

um mich mal einzumischen. Ich würde das wie folgt machen:

a) Vorgehensweise wie Oli beschrieben

b) Allerdings keine Scheibe sondern ein Rechteck als Moving-Mesh-Part verwenden

c) Kein AMI sondern ACMI

d) Die bewegte 3D Platte mit einem Darchy-Forcheimer (Porous Media beaufschlagen) -> fvOptions via CellZone (und die Werte einfach anheben sodass da nix durchgeht)

Alternative wie der Tobi meinte. Eine Baffle erzeugen und dann die Randbedingung einzelne Faces blockieren - ist aber nicht so rund. Mit removeAdd Layers kann man natürlich auch arbeiten, sehe hier aber keine Notwendigkeit. Eine letzte Möglichkeit wäre (hat Engys oder ICON mal auf einer Pfau vorgestellt), mit Neuvernetzung zu arbeiten. In deren Fall war eine Art Schraubenkompressor als Beispiel erwähnt. War sehr beeindruckend aber die haben hier auch ne komplett eigene Bibiothek geschrieben.

Gutes gelingen und danke für die Thematik. Werde ich nach meinem Urlaub mal bauen. Scheint lustig zu sein 

------------------
Viele Grüße,
Tobias Holzmann

OpenFOAM Tutorials | Publikationen | Für Anfänger wiki.openfoam.com

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



CFD-Entwicklungsingenieur Strömungsmechanik (m/w)
artec Armaturen und Industrieservice GmbH – CFD-Entwicklungsingenieur Strömungsmechanik (m/w) – Leegebruch Ansprechpartner: Herr Witt Tel.: +49 3304 / 288 - 0 career@aisvalves.com www.aisvalves.com Bewerben Sie sich jetzt! Referenz-Nr.: SMA17-07 Land: Deutschland Standort:  Leegebruch passion for high pressure Die artec Armaturen und Industrieservice GmbH steht für Inno­va­tion ...
Anzeige ansehenEntwicklung
Shor-ty
Moderator
Dissertant




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: 2095
Registriert: 27.08.2010

Latest OpenFOAM version
OpenFOAM-dev (for Bugreport)

erstellt am: 14. Aug. 2017 20: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 silencebreak 10 Unities + Antwort hilfreich

Ach ja - meine Variante mit ACMI benötigt ja gar kein Porosity-Medium  Falsch gewickelt.

Einfach die Scheibe als Rechteck ausführen und dann nach unten wegbewegen. Fertig.

------------------
Viele Grüße,
Tobias Holzmann

OpenFOAM Tutorials | Publikationen | Für Anfänger wiki.openfoam.com

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)2017 CAD.de