| |
 | Online-Kurs: Grundlagen des 3D-Druck-Designs für Industrieingenieure , ein Kurs
|
Autor
|
Thema: Unterschied grad(U) vs. grad(phi), paraview (1251 / mal gelesen)
|
Fischschützer Mitglied Verfahrenstechniker
 Beiträge: 8 Registriert: 23.07.2022
|
erstellt am: 19. Feb. 2023 11:32 <-- editieren / zitieren --> Unities abgeben:         
Hallo zusammen, ich mal wieder. Ich versuche vergeblich in paraview etwas zu visualisieren, aber vermutlich ist das trotzdem keine paraview-Frage. Ich möchte grad(u) darstellen. Dazu habe ich ein slice einer 3D-Geometrie erstellt. Ich kann die Zellen natürlich mit grad(U) kolorieren. Was ich aber nicht kann, aber gern würde: 2D-Glyphen (oder meinetwegen auch arrows) für grad(U) darzustellen. Für grad(phi) geht beides, glyphen und kolorieren. Vermutlich habe ich ein Verständnisproblem, wieso das nicht möglich ist. Kann mich jemand erleuchten? Als Referenz: interFoam, OF2206, folgendes FO: Code:
gradU { type grad; libs (fieldFunctionObjects); field U; writeControl writeTime; }
Viele Grüße 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: 24. Feb. 2023 12:01 <-- editieren / zitieren --> Unities abgeben:          Nur für Fischschützer
Heieieieie... meine Antwort ist hier wohl nie angekommen. Dann nochmals aber kürzer. Der Grund ist einfach:
- phi ist ein surfaceScalarField - also eine skalare Größe an jedem Face. Ein grad(phi) macht daraus eine Vektorgröße (super für Glyps) (Tensor 1ster Ordnung)
- U ist ein volVectorField - also ein Vektor im Zellmittelpunkt. Ein grad(U) macht daraus dann einen Tensor (wie soll ein Glyp Filter eine Matrix analysieren?) (Tensor 2ter Ordnung)
Was Du suchst ist grad(mag(U)). Damit sollte alles dann geklärt sein
------------------ Glück Auf, Tobi OpenFOAM® Community - Knowledge Base Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Fischschützer Mitglied Verfahrenstechniker
 Beiträge: 8 Registriert: 23.07.2022
|
erstellt am: 02. Mrz. 2023 17:25 <-- editieren / zitieren --> Unities abgeben:         
Zitat: Damit sollte alles dann geklärt sein :)
Jawohl, damit ist alles geklärt! Super, etwas ähnliches hatte ich vermutet, aber ich konnte es nicht zu fassen bekommen. Manchmal steht man echt auf dem Schlauch  Vielen Dank! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Fischschützer Mitglied Verfahrenstechniker
 Beiträge: 8 Registriert: 23.07.2022
|
erstellt am: 14. Apr. 2023 05:05 <-- editieren / zitieren --> Unities abgeben:         
Moin nochmal, dann habe ich noch eine anschließende (und hoffentlich abschließende) Frage: warum geht grad(mag(U)) aber nicht grad(mag(UMean))? grad(UMean) kann ich mir doch auch ausgeben lassen... VG 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: 15. Apr. 2023 14:51 <-- editieren / zitieren --> Unities abgeben:          Nur für Fischschützer
|

| Zerspanungsmechaniker (m/w/d) CNC-Fräsen / CAM-Programmierung - Werkzeugbau | Die igus GmbH ist ein inhabergeführtes Unternehmen mit Hauptsitz im Großraum Köln. Als ?Hidden Champion? sind wir ein internationaler agierender Hersteller von technischen Produkten aus Hochleistungskunststoffen. Unsere Produkte sind vielseitig und lassen sich in über 50 verschiedenen Branchen wiederfinden, darunter in der Automobilindustrie, der Raumfahrt oder im 3D-Druck. Die Kommunikation zwischen unseren weltweit über 4.... | Anzeige ansehen | Feste Anstellung |
|
Fischschützer Mitglied Verfahrenstechniker
 Beiträge: 8 Registriert: 23.07.2022
|
erstellt am: 15. Apr. 2023 15:30 <-- editieren / zitieren --> Unities abgeben:         
Moin und danke für die Antwort! Manchmal brauche ich wohl einfach jemandem, dem ich mein Problem zu erklären versuche, und dann klappt es mit der Lösung Mein controlDict hatte
Code: fieldAverage1 { type fieldAverage; libs ("libfieldFunctionObjects.so"); writeControl writeTime; executeControl writeTime; fields ( U { mean on; prime2Mean off; base time; } ) }
Daher kommt UMean. (Aus dem obigen Vorschlag von Dir habe ich Code: gradmagU { type grad; libs ("libfieldFunctionObjects.so"); field mag(U); writeControl writeTime; }
und das funktionierte auch. ) Nun hatte ich noch Code: gradUMean { type grad; libs ("libfieldFunctionObjects.so"); field UMean; writeControl writeTime; }
Das ergab Code: functionObjects::grad gradUMean writing field: grad(UMean)
Was dann aber nicht ging: Code: gradmagUMean { type grad; libs ("libfieldFunctionObjects.so"); field mag(UMean); writeControl writeTime; }
Da bekam ich dann immer Code: --> FOAM Warning : functionObjects::grad gradmagUMean failed to execute.
Während ich das geschrieben habe, ist es mir aufgegangen, daher: falls jemand (unwahrscheinlich, aber möglich) mal so ein Problem hat: Neben einem Code: #includeFunc mag(U)
braucht es noch ein Code: #includeFunc mag(UMean)
Dann klappt es auch  Also vielen Dank und auch von mir ein Glückauf! [Diese Nachricht wurde von Fischschützer am 15. Apr. 2023 editiert.] [Diese Nachricht wurde von Fischschützer am 15. Apr. 2023 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |