Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  OpenFOAM
  createbaffleDict

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:  createbaffleDict (2519 mal gelesen)
Studentenmensch
Mitglied
Student


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

Beiträge: 47
Registriert: 12.05.2016

erstellt am: 12. Mai. 2016 14: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

Hi,

ich versuche mich daran, eine Art "Hinderniss" in einen Kanal einzubauen. Das ganze möchte ich über eine baffle lösen, da ich diese Methode später auch benötigen werde.

Hierzu habe ich mir eine Surface.stl erstellt , die im Ordner constant/triSurface liegt.

Im ordner system liegt mein createBafflesDict, welches wie folgt aussieht:

Code:
FoamFile
{
    version    2.0;
    format      ascii;
    class      dictionary;
    object      createBafflesDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

internalFacesOnly true;

baffles
{
    baffleSurface
    {
        //- Use surface to select faces and orientation.
        type        searchableSurface;
        //surface    triSurfaceMesh;
        //name        BaffleSurface.stl;
        //- Optional flip
        //flip        false;

surface    searchablePlate;
        origin      (0.2 0.2 0);         
        span        (0 0.05 0.01);


        // Generate patchGroup baffle1 with two patches:
        //  - baffle1_master
        //  - baffle1_slave
        patchPairs
        {
            type            wall;
            patchFields
            {
              U
                {
                type            fixedValue;
                value          uniform (0 0 0);
                }
               
              p
        {
                type zeroGradient;
        }
     
              alphat
        {
                type            compressible::alphatWallFunction;
value          uniform 0;
        }

              k
        {
                type            compressible::kqRWallFunction;
value          uniform 1;
        }             

      epsilon
        {
type            compressible::epsilonWallFunction;
value          uniform 200;
}
 
      mut
{
type            mutkWallFunction;
value          uniform 0;
}

      T
        {
                type zeroGradient;
        }

            }
        }

    }

}


Mein solver läuft durch, ich erhalte lediglich die "Warning":

Zitat:
FOAM WARNING: From function createBaffles in file createBaffles.C at line 773 Setting field on boundary faces to zero. You might have to edit these fields. Writing mesh to 1

Öffne ich paraview dann erhalte ich folgende Errors:

Zitat:
ERROR: In /tmp1/OpenFOAM/paraview/ParaView-4.3.1/VTK/IO/Geometry/vtkOpenFOAMReader.cxx, line 6864
vtkOpenFOAMReaderPrivate (0x2db6a20): boundaryField baffleSurface_master not found in object T at time = 500


ERROR: In /tmp1/OpenFOAM/paraview/ParaView-4.3.1/VTK/IO/Geometry/vtkOpenFOAMReader.cxx, line 6864
vtkOpenFOAMReaderPrivate (0x2db6a20): boundaryField baffleSurface_master not found in object U at time = 500


ERROR: In /tmp1/OpenFOAM/paraview/ParaView-4.3.1/VTK/IO/Geometry/vtkOpenFOAMReader.cxx, line 6864
vtkOpenFOAMReaderPrivate (0x2db6a20): boundaryField baffleSurface_master not found in object alphat at time = 500


Das ganze sieht auch nicht ganz korrekt aus.

Laut Recherche ist es aber nicht notwenig, master und slave surface vorzugeben wenn "patchPairs" einstelle.

Hat irgendjemand Erfahrung hierbei?

Grüße und Dankeschön !

Der Studentenmensch

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. Mai. 2016 16: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 Studentenmensch 10 Unities + Antwort hilfreich

Hey Studentenmesch,

dein Problem besteht darin, dass du keine faces erzeugst:

Code:

OAM WARNING: From function createBaffles in file createBaffles.C at line 773 Setting field on boundary faces to zero. You might have to edit these fields. Writing mesh to 1

Geh mal in dein polyMesh und schau dir die Boundaries an. Bei deinen Baffles solltest du wohl nFaces = 0 haben. Heißt also der Patch hat kein einziges Face.

Ich mach da meistens ein faceSet und mach mir neue Patches mittels createPatch via sets. Fertig.

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

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. Mai. 2016 18:54    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 Studentenmensch 10 Unities + Antwort hilfreich

Was mir gerade noch gekommen ist.

Du musst baffles erstellen, dann ein faceSet erstellen und diese dann in BC transformieren. Sollte zumindest so funktionieren.

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

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

Studentenmensch
Mitglied
Student


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

Beiträge: 47
Registriert: 12.05.2016

erstellt am: 13. Mai. 2016 10:27    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

Also wenn ich nacheinander ausführe: blockMesh gefolgt von createBaffles dann erhalte ich von vornherein die Fehlermeldung "FOAM WARNING: From function createBaffles in file createBaffles.C at line 773 Setting field on boundary faces to zero. You might have to edit these fields. Writing mesh to 1" .

Daher kann ich ja kein faceSet daraus erstellen? In meinem polymesh Ordner findet sich nach "createBaffles" nirgends etwas mit baffles, auch nicht bei den Boundaries?

------------------
Moritz Franke

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

Studentenmensch
Mitglied
Student


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

Beiträge: 47
Registriert: 12.05.2016

erstellt am: 13. Mai. 2016 10:34    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

Ich werde mal probieren: faceZoneSet aus .stl surface erstellen und daraus mit setToFaceZone dann eine FaceZone die es gilt mit baffles einzulesen 

------------------
Moritz Franke

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

Studentenmensch
Mitglied
Student


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

Beiträge: 47
Registriert: 12.05.2016

erstellt am: 13. Mai. 2016 12:08    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

Das hat nicht ganz geklappt:

1.Schritt: BlockMesh

2.Schritt: topoSet von:

Code:
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
Create time

Create polyMesh for time = 0

Reading topoSetDict

Time = 0
    mesh not changed.
Created faceSet heater
    Applying source boxToFace
    Adding faces with centre within boxes 1((0.3 0 0) (0.3015 0.12 0.08))
    faceSet heater now size 662
Created faceZoneSet heater
    Applying source setAndNormalToFaceZone
    Adding all faces from faceSet heater ...
    faceZoneSet heater now size 662
Created faceZoneSet BaffleSurfaceFaceZone
    Applying source searchableSurfaceToFaceZone
    Adding all faces from surface BaffleSurface.stl ...
    faceZoneSet BaffleSurfaceFaceZone now size 80

End


3.Schritt createBaffles

Code:
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
Create time

Create mesh for time = 0

Reading baffle criteria from createBafflesDict

Not converting faces on non-coupled patches.

Reading geometric fields

Reading volScalarField alphat
Reading volScalarField p
Reading volScalarField T
Reading volScalarField k
Reading volScalarField epsilon
Reading volScalarField mut
Reading volVectorField U
Created zone baffleSurface at index 2 with 80 faces
Converted 80 faces into boundary faces in patches
2
(
baffleSurface_master
baffleSurface_slave
)


--> FOAM Warning :
    From function createBaffles
    in file createBaffles.C at line 773
    Setting field on boundary faces to zero.
You might have to edit these fields.
Writing mesh to 1
End


Mein topoSetDict sieht wiefolgt aus:

Code:
FoamFile
{
    version     2.0;
    format      ascii;
    class       dictionary;
    object      topoSetDict;
}

// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

actions
(
     BlaBlaBla (hier stehen noch andere Zones/Sets)
   
   
    {
        name    BaffleSurfaceFaceZone;
        type    faceZoneSet;
        action  new;
        source  searchableSurfaceToFaceZone;
        sourceInfo
        {
            type        searchableSurface;
            surface     triSurfaceMesh;
            name        BaffleSurface.stl; // Optional name if surface triSurfaceMesh
        }
    }


Mein createbafflesDict

Code:
FoamFile
{
    version    2.0;
    format      ascii;
    class      dictionary;
    object      createBafflesDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
/*
internalFacesOnly true;

baffles
{
    baffleSurface
    {
        type faceZone;
zoneName BaffleSurfaceFaceZone;

// Generate patchGroup baffle1 with two patches:
        //  - baffle1_master
        //  - baffle1_slave

        patchPairs
        {
            type            wall;
            patchFields
            {
              U
                {
                type            fixedValue;
                value          uniform (0 0 0);
                }
               
              p
        {
                type zeroGradient;
        }
     
              alphat
        {
                type            compressible::alphatWallFunction;
value          uniform 0;
        }

              k
        {
                type            compressible::kqRWallFunction;
value          uniform 1;
        }             

      epsilon
        {
type            compressible::epsilonWallFunction;
value          uniform 200;
}
 
      mut
{
type            mutkWallFunction;
value          uniform 0;
}

      T
        {
                type zeroGradient;
        }

            }
        }
       

    }

}


Irgendwie merkwürig?

------------------
Moritz Franke

[Diese Nachricht wurde von Studentenmensch am 13. Mai. 2016 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: 17. Mai. 2016 07:45    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 Studentenmensch 10 Unities + Antwort hilfreich

Schau dir mal mein ACMI tutorial an. Da erstell ich auch Baffles und wandel die in Boundaries um.

Auf die Schnelle würd ich sagen, du musst jetzt ein Set erstellen, dass die Baffles einschließt (baffles ist nur kopieren der Faces + Normale ändern). Das faceSet dann für createPatch verwenden und dann sollte das passen.

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

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

Studentenmensch
Mitglied
Student


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

Beiträge: 47
Registriert: 12.05.2016

erstellt am: 17. Mai. 2016 10:38    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

Wenn Du sagst "baffles ist nur kopieren der Faces + Normale ändern" , wieso benötige ich dann überhaupt ein bafflesdict? Dann könnte ich doch auch einfach einfach eine "faceZoneSet" mit topoMesh aus einer .stl Surface machen und anschließend mit createpatch eine "wall" generieren?

Zitat:
du musst jetzt ein Set erstellen, dass die Baffles einschließt ... Das faceSet dann für createPatch verwenden und dann sollte das passen.

Wie erstelle ich denn daraus nun ein Set welches die baffles einschließt? Im topoSet finde ich keine funktion in der Art "baffleToFaceSet" oder so?

Leider konnte ich das ACMI Tutorial nicht ganz nachvollziehen.

Danke!

------------------
Moritz Franke

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: 17. Mai. 2016 14: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 Studentenmensch 10 Unities + Antwort hilfreich

Zitat:

Wenn Du sagst "baffles ist nur kopieren der Faces + Normale ändern" , wieso benötige ich dann überhaupt ein bafflesdict? Dann könnte ich doch auch einfach einfach eine "faceZoneSet" mit topoMesh aus einer .stl Surface machen und anschließend mit createpatch eine "wall" generieren?

Das geht nicht da im internalField deine Zellen ein Face teilen. Im Klartext, zwei Zellen teilen ein Face das ein Normalvektor hat. Wenn jetzt beide Zellen nicht zusammenhängen, dann brauchst du für jede Zelle ein Face und ein korrespondierenden Normalenvektor. Das macht genau createBaffles. Faces kopieren + den NOrmalenvektor der kopierten Faces invertieren.

Um die Faces in ein Set zu bekommen, verwendest du am besten setSets. Das darauß gewonnene faceSet wandelst du dann in boundaries um.


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

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

Studentenmensch
Mitglied
Student


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

Beiträge: 47
Registriert: 12.05.2016

erstellt am: 19. Mai. 2016 12:25    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

Habs hinbekommen,es geht auch ohne die oben beschriebenen Umwege :-) Ich musste lediglich den 0 oder 1 überschreiben, der wurde erstellt...

------------------
Moritz Franke

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: 19. Mai. 2016 13: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 Nur für Studentenmensch 10 Unities + Antwort hilfreich

Aso ... du hast nicht mit

Code:

createBaffles -overwrite

gearbeitet?   Na das wusst ich natürlich nicht. Foam legt (sofern die Applikation das macht) die neuen Netze immer in neue Zeitschritte an. Um das Überschreiben des Originalnetzes zu fordern gibt es das Attribut -overwrite

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

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