Autor
|
Thema: maximum component of the stress tensor (1091 mal gelesen)
|
hulli1 Mitglied
Beiträge: 61 Registriert: 23.01.2020 --
|
erstellt am: 10. Jun. 2021 10:14 <-- editieren / zitieren --> Unities abgeben:
Hi Leute, ich hoffe Ihr könnt mir helfen ... Ich soll ein Feld berechnen, dass die Deformation des Fluides zeigt "deformation field" das ist definiert als "maximum component of the stress tensor" ... Hat irgendjeman eine Idee wie man das postprocessen kann ... DANKE LG H Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Shor-ty Moderator
Beiträge: 2463 Registriert: 27.08.2010 OpenFOAM-dev (Foundation) OpenFOAM-xxxx (ESI)
|
erstellt am: 10. Jun. 2021 14:55 <-- editieren / zitieren --> Unities abgeben: Nur für hulli1
|
hulli1 Mitglied
Beiträge: 61 Registriert: 23.01.2020 --
|
erstellt am: 10. Jun. 2021 16:43 <-- editieren / zitieren --> Unities abgeben:
Hi Tobi, erstmal vielen vielen Dank für Deine Antwort ... ich habe in der Zwischenzeit das Problem näher eingrenzen können. Also nach zig Papern habe ich herausgefunden was die Autoren meinen. Sie wollen die Deformation des Fluides darstellen. Im genaueren heiß das die strainRate. Im cdf online Forum habe ich dazu eine Anleitung gefunden man nimmt das Vortcity Function Object und baut diese Geichung ein sqrt(2.0)*mag(symm(fvc::grad(lookupObject<volVectorField>(fieldName_)))) das ganze habe ich nun gemacht und scheint zu klappen ... das einzige was mich irritiert ist die SI Einheit m²/s² ??? Diese sollte eigentlich gleich der Vorticity 1/-s sein ??? Hast Du eine Idee Nur als Anmerkung bei p weiß ich dass ich mal Dichte multiplizieren muss um die abs. Drücke zu bekommen muss ich hier auch etwas bedenken ... Meine zweite Frage wäre ob Du mir erklären kannst was das neue Funktion Object shearstress macht in OF 8 ? Ich habe die letzen Tage versucht die Einheiten bekommen dazu und mehr darüber zu finden leider erfolglos außer das was auf der web seite steht - Calculates the shear stress, outputting the data as a volSymmTensorField. Warscheinlich habe ich nur ein Knoten im Kopf da ich total verunsichert wegen diesen stainrates war ... MERCI Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Shor-ty Moderator
Beiträge: 2463 Registriert: 27.08.2010 OpenFOAM-dev (Foundation) OpenFOAM-xxxx (ESI)
|
erstellt am: 10. Jun. 2021 21:40 <-- editieren / zitieren --> Unities abgeben: Nur für hulli1
|
hulli1 Mitglied
Beiträge: 61 Registriert: 23.01.2020 --
|
erstellt am: 11. Jun. 2021 10:30 <-- editieren / zitieren --> Unities abgeben:
|
Shor-ty Moderator
Beiträge: 2463 Registriert: 27.08.2010 OpenFOAM-dev (Foundation) OpenFOAM-xxxx (ESI)
|
erstellt am: 12. Jun. 2021 09:36 <-- editieren / zitieren --> Unities abgeben: Nur für hulli1
|
hulli Mitglied
Beiträge: 54 Registriert: 20.11.2017 openFoam
|
erstellt am: 12. Jun. 2021 09:43 <-- editieren / zitieren --> Unities abgeben: Nur für hulli1
|
Shor-ty Moderator
Beiträge: 2463 Registriert: 27.08.2010 OpenFOAM-dev (Foundation) OpenFOAM-xxxx (ESI)
|
erstellt am: 13. Jun. 2021 11:47 <-- editieren / zitieren --> Unities abgeben: Nur für hulli1
|
Shor-ty Moderator
Beiträge: 2463 Registriert: 27.08.2010 OpenFOAM-dev (Foundation) OpenFOAM-xxxx (ESI)
|
erstellt am: 13. Jun. 2021 11:58 <-- editieren / zitieren --> Unities abgeben: Nur für hulli1
Aufpassen. Das was in cfd-online angegeben wird, scheint nur für NICHT-NEWTONSCHE Fluide zu gelten. Nur weil man was im Code findet, heißt es nicht das das so berechnet wird. Mein kurzer Test bestätigigt mich: Code:
shorty@src: grep -rni -e "strainRate()" transportModels/viscosityModels/HerschelBulkley/HerschelBulkley.C:56: tmp<volScalarField> sr(strainRate()); transportModels/viscosityModels/Casson/Casson.C:65: strainRate(), transportModels/viscosityModels/strainRateFunction/strainRateFunction.C:103: tmp<volScalarField> tsigma = strainRate(); transportModels/viscosityModels/BirdCarreau/BirdCarreau.C:55: *pow(scalar(1) + pow(k_*strainRate(), a_), (n_ - 1.0)/a_); transportModels/viscosityModels/CrossPowerLaw/CrossPowerLaw.C:53: return (nu0_ - nuInf_)/(scalar(1) + pow(m_*strainRate(), n_)) + nuInf_; transportModels/viscosityModels/powerLaw/powerLaw.C:63: dimensionedScalar(dimTime, 1.0)*strainRate(), transportModels/viscosityModels/viscosityModel/viscosityModel.H:143: tmp<volScalarField> strainRate() const; transportModels/viscosityModels/viscosityModel/viscosityModel.C:58:Foam::tmp<Foam::volScalarField> Foam::viscosityModel::strainRate() const MomentumTransportModels/momentumTransportModels/laminar/generalizedNewtonian/generalizedNewtonian.H:72: virtual tmp<volScalarField> strainRate() const; MomentumTransportModels/momentumTransportModels/laminar/generalizedNewtonian/generalizedNewtonian.C:82: viscosityModel_->nu(this->nu(), strainRate()) MomentumTransportModels/momentumTransportModels/laminar/generalizedNewtonian/generalizedNewtonian.C:91:generalizedNewtonian<BasicMomentumTransportModel>::strainRate() const MomentumTransportModels/momentumTransportModels/laminar/generalizedNewtonian/generalizedNewtonian.C:200: nu_ = viscosityModel_->nu(this->nu(), strainRate());
In der viscouseModel.C ist die Funktion strainRate definiert. Aufgerufen wird diese für die Viskositätsmodelle:
- HerschelBulkley
- Casson
- BirdCarreau
- CrossPowerLaw
- PowerLaw
Oben genannte Modelle verfolgen eine andere Scherratenberechnung (eben nicht nach Newton). Ferner hab ich die Funktion in der viscouseModel.C gerade noch mit ner Info versehen:
Code:
Foam::tmp<Foam::volScalarField> Foam::viscosityModel::strainRate() const { Info<< "StrainRate calculation" << endl; return sqrt(2.0)*mag(symm(fvc::grad(U_))); }
Und was kommt raus. Für newtonsche Fluide passiert gar keine Ausgabe. Bei nem Tutorial incompressible/nonNewtonianIcoFoam/ bekommen wir die Ausgabe: Code:
Courant Number mean: 0.0163604 max: 0.102019 StrainRate calculation smoothSolver: Solving for Ux, Initial residual = 0.00222353, Final residual = 8.79278e-06, No Iterations 10 smoothSolver: Solving for Uy, Initial residual = 0.00668694, Final residual = 9.37309e-06, No Iterations 11
Somit sag ich erstmal, dass oben genannte Berechnung falsch ist. ------------------ Glück Auf, Tobi OpenFOAM® Community - Knowledge Base Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
hulli Mitglied
Beiträge: 54 Registriert: 20.11.2017 openFoam
|
erstellt am: 13. Jun. 2021 14:39 <-- editieren / zitieren --> Unities abgeben: Nur für hulli1
Hi erstmal Danke für Deine Recherche… das was Du da schreibst verstehe ich … Ist schon etwas schockierend da ich meine ganze Auswertung darauf bezogen habe…Hast Du eine Idee wie ich mir das für ein Newtoniaches Fluid ausgeben lassen kann also strainrate für Wasser … oder reicht einfach grad(U) ohne die Wurzel ? LG H Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Shor-ty Moderator
Beiträge: 2463 Registriert: 27.08.2010 OpenFOAM-dev (Foundation) OpenFOAM-xxxx (ESI)
|
erstellt am: 13. Jun. 2021 20:34 <-- editieren / zitieren --> Unities abgeben: Nur für hulli1
Ich hab das heute mal beim Schwimmen nochmals kurz hergeleitet. Du brauchst eigentlich vom divDevReff das DevReff. Also den deviatorischen Anteil des Reynolds-Stress-Tensors. Der ist einfach gesprochen (siehe mein Buch): Code:
2*muEff*(1/2*symm(fvc::grad(U)))
Sind Kompressions- und Expansionsphänomene dabei, muss natürlich noch der Term:
Code:
-2/3*mu*fvc::Div(U)*I
dazugerechnet werden. ------------------ Glück Auf, Tobi OpenFOAM® Community - Knowledge Base Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
hulli Mitglied
Beiträge: 54 Registriert: 20.11.2017 openFoam
|
erstellt am: 13. Jun. 2021 23:17 <-- editieren / zitieren --> Unities abgeben: Nur für hulli1
… also ich bin sprachlos was Du beim Schwimmen kannst ich muss mich da voll auf meine Technik konzentrieren… nun egal… vielen vielen Dank… Schaue mir morgen gleich mal Die Gleichung in Deinem Buch an … muss das erst nachvollziehen… bis ich mir die Implementierung vornehme … da werde ich wahrscheinlich nochmals viele Fragen haben … aber vielen Dank Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
hulli1 Mitglied
Beiträge: 61 Registriert: 23.01.2020 --
|
erstellt am: 14. Jun. 2021 13:09 <-- editieren / zitieren --> Unities abgeben:
... Hi Tobi, ich hoffe, Du hast noch Lust mir etwas zu helfen ... Also nach Lesen Deines Buches (abschnitte wohlgemerkt) habe ich das jetzt so verstanden stress = F/A wobei die Normalen senkrecht zum Fluss sind. Grad(U) beim postprogessing gibt mir dann ein Feld in (1/s) mit 9 Komponenten. Wenn ich das Ganze als Tensor sehe werden des Normalstresses wohl die Diagonale sein also xx yy zz. Oder anders herum Viskosität mal grad(U) gibt mir dann tau also wiederum Stresses. Aus einer anderen Quelle habe ich, dass grad(U) deformation feld + vorticity also Deformation + Rotations-anteile im Fluss sind ... Zum vollen Verständnis der Deformationfeldes fehlen noch ein paar steps. Was welche Teile ergeben dann mein gesuchtes Deformationsfeld siehe Gleichung im Anhang (Max. Deformation Rate) Vielen vielen Dank
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
hulli1 Mitglied
Beiträge: 61 Registriert: 23.01.2020 --
|
erstellt am: 14. Jun. 2021 17:15 <-- editieren / zitieren --> Unities abgeben:
... ein kleines add-on ... dank Deines Buches denke ich, dass ich jetzt den Teil mit 0.5*symm(grad(U)) verstanden habe und es sich hier um den strain rate tensor handelt. Ich habe das ganze jetzt mal in ein function Object eingebaut und erhalte wie erwartet ein Feld mit 6 Komponenten aufgrund des symmetrischen Anteile von grad(U), was 9 Komponenten sind). So wie Du das ganz oben beschrieben hast. Was ich nun noch nicht blicke, ist der Teil mit den Maximalen Anteilen was ich im Screenshot angehängt habe. Wo ich mir auch noch unsicher bin ist wozu ich den der mueff (Viskosität ?) Anteil brauche? da tau=visco*grad(U) den stress ergibt und nicht den strain ???? DAAAAAANNNNNNKKKKKEEEEE [Diese Nachricht wurde von hulli1 am 14. Jun. 2021 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Shor-ty Moderator
Beiträge: 2463 Registriert: 27.08.2010 OpenFOAM-dev (Foundation) OpenFOAM-xxxx (ESI)
|
erstellt am: 14. Jun. 2021 17:22 <-- editieren / zitieren --> Unities abgeben: Nur für hulli1
Zitat: Original erstellt von hulli : … also ich bin sprachlos was Du beim Schwimmen kannst ich muss mich da voll auf meine Technik konzentrieren… nun egal… vielen vielen Dank… Schaue mir morgen gleich mal Die Gleichung in Deinem Buch an … muss das erst nachvollziehen… bis ich mir die Implementierung vornehme … da werde ich wahrscheinlich nochmals viele Fragen haben … aber vielen Dank
Grüß Dich, also ich muss hier noch etwas ergänzen. Ich hab das nicht beim Schwimmen direkt abgeleitet sondern auf meinem Handtuch mit Papier und Stift + mein Buch (auch wenn ich zugeben muss, dass manche Passagen nicht so easy zu verstehen sind - wird für OpenFOAM v9 dann sowieso überarbeitet). Zu Deiner Frage. Also ich kann Dir folgendes bestätigten:
- Spannung = Kraft / Fläche - würde ich so unterzeichnen
- grad(U) ergibt einen Tensor Rang 2 (3 x 3 Matrix in unserem Fall)
- Die Einheit des Tensors grad(U) ist meines Erachtens 1/s, da:
Code:
grad(U) = nabla (U) = [ 1/x 1/y 1/z]^T * (U_x U_y U_z)^T
Die Einheit wäre dann, (1/m) * (m/s) -> (1/s). Zu Deinen anderen Fragen. Man kann jede Matrix in einen Symmetrischen und Anti-Symmetrischen Teil splitten. Ich glaub das wollten die Autoren sagen. Der Anti-Symmetrische Teil müsste den Anteil der Voricity zurückgeben, der Symmetrische Teil die Deformationsrate. Ah ... ja stimmt. Also grad(U) ist unsere Matrix. Der symmetrische Teil ist:
Code:
Symmetrische-Anteil = 1/2 (grad(U) + grad(U)^T)
der asymmetrische Teil ist
Code:
Asymmetrische-Teil = 1/2 (grad(U) - grad(U)^T)
Somit hast Du recht. Symmetrisch + Asymmetrisch ist dein Tensor grad(U) wieder. Der asymmetrische Teil ist widerum:
Code:
omega = 1/2 nabla x U = asymmetrischer Anteil = 1 / 2 (grad(U) - grad(U)^T)
Soweit so gut Irgendwelche Fragen? Rechnest Du asymmetrisch + symmetrisch zusammen, erhalten wir wieder die grad(U). Die Transponierten Anteile heben sich auf und wir haben zweimal grad(U) dafür aber auch den Faktor 0,5. Damit ist das wieder grad(U)
Code:
symmetrisch + asymmetrisch = 0.5 (grad(U) + grad(U)^T) + 0.5 (grad(U) - grad(U)^T) symmetrisch + asymmetrisch = 0.5 grad(U) + 0.5 grad(U)^T + 0.5 grad(U) - 0.5 grad(U)^T symmetrisch + asymmetrisch = 0.5 grad(U) + 0.5 grad(U) symmetrisch + asymmetrisch = grad(U)
Zu guter letzt. Auf der Hauptdiagonalen sind immer die Normalenkomponenten.
------------------ Glück Auf, Tobi OpenFOAM® Community - Knowledge Base Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Shor-ty Moderator
Beiträge: 2463 Registriert: 27.08.2010 OpenFOAM-dev (Foundation) OpenFOAM-xxxx (ESI)
|
erstellt am: 14. Jun. 2021 17:51 <-- editieren / zitieren --> Unities abgeben: Nur für hulli1
|
hulli Mitglied
Beiträge: 54 Registriert: 20.11.2017 openFoam
|
erstellt am: 14. Jun. 2021 20:08 <-- editieren / zitieren --> Unities abgeben: Nur für hulli1
Hi Tobi, Yes yes yes!!! Vielen vielen vielen Dank für deine Erläuterungen!!! Absoluter Hammer… Das Feld was ich rausbekomme für die deformation sieht auch realistisch aus … Oh Mann Dankeschön für Deine Hilfe … was ich die letzten Tage durch Dich gelernt habe … wahnsinn … nun ja jetzt muss ich nur noch herausfinden was mit dem Maximum gemeint ist … ggf kann ich das auch mit dem paraview calculator herausfinden ? … dann sollte ich es haben … halte Fich auf dem Laufenden Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
hulli1 Mitglied
Beiträge: 61 Registriert: 23.01.2020 --
|
erstellt am: 15. Jun. 2021 13:25 <-- editieren / zitieren --> Unities abgeben:
... zur maximum Component bin ich nun so vorgegangen und habe in Paraview die einzelen Komponenten durchgeklickt und die Komponente die höchsten Werte hat nehme ich nun zur weiteren Bearbeitung ... ... ich hatte noch ein paar Probleme die Magnitude des strainRate Tensors als Kontur anzeigen zu lassen: Die Einstellung unten habe ich auf CFD online gefunden, falls irgendjemand mal das gleiche Problem hat ... "Go to settings > General > Turn on Auto convert properties. Then velocity will be an option in the contour properties! " Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Shor-ty Moderator
Beiträge: 2463 Registriert: 27.08.2010 OpenFOAM-dev (Foundation) OpenFOAM-xxxx (ESI)
|
erstellt am: 15. Jun. 2021 14:50 <-- editieren / zitieren --> Unities abgeben: Nur für hulli1
Grüß Dich, das sind doch schon mal gute Nachrichten. Bezüglich der Max-Funktion. Hier wird nur der Maximalwert der Diagonalen genommen. Also die Werte xx, yy und zz. Der Maximalwert wird dann für das Delta genommen; Gleichung (A8). In ParaView weiß ich nicht ob es so eine Funktion im Standard gibt, allerdings kann man ParaView auch mit Python kompilieren/installieren. Da ist dann der Python Calculator drin und da kann man die min() max() Funktionen verwenden. Du kannst auch ganz anders Kontourplots machen.
-> Calculator -> neues Feld mit mag(deinVektorFeld) -> Contours -> Schneiden mit nem Slice. Dann hast einzelne Linien -> Tube-Filter wenn man die noch größer haben möchte -> Erneut schneiden mit nem Slice Man kann dann auch Zahlenwerte hinzufügen etc. ------------------ Glück Auf, Tobi OpenFOAM® Community - Knowledge Base Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
hulli1 Mitglied
Beiträge: 61 Registriert: 23.01.2020 --
|
erstellt am: 15. Jun. 2021 15:44 <-- editieren / zitieren --> Unities abgeben:
Hi Tobi, ach wie schön es ist, dass es Menschen gibt, die einem bei OF helfen können ... vielen vielen Dank mit dem Tipp mit dem Python-calculator. Auf Umwegen ist das möglich. Ich habe die Diagonalen strainRate_XX, strainRate_YY, strainRate_ZZ, einzeln mit dem Calculator-Filter (bei scalars) definiert, sprich 3 Filter für jede Komponente. Dann hat der Python-calculator erst die Variablen erkannt durch z.B.: max(strainRate_ZZ) somit konnte ich die Maximalwerte bestimmen. Wie so vieles wusste, ich gar, nicht dass man so auch Contourplots erstellen kann ... DANKE !!! Ich bin ich noch auf der Suche nach einer schnellen Möglichkeit (habe insgesamt 18 Modelle) mir die Isolinien (8 Konturen) nach Matlab zu holen da ich sonst wahnsinnig werde. Daher scanne ich gerade das Netz, ob es möglich ist über eine sample Funktion, die Positionen der Isolinien herausschreiben zu lassen ... ansonsten werde ich das mit einem Trace/Macro in Paraview machen und das ganze mit einer Batch Datei durchlaufen lassen... mal sehen Aber das schlimmste mit den strainRates scheint geschafft ... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Shor-ty Moderator
Beiträge: 2463 Registriert: 27.08.2010 OpenFOAM-dev (Foundation) OpenFOAM-xxxx (ESI)
|
erstellt am: 16. Jun. 2021 09:14 <-- editieren / zitieren --> Unities abgeben: Nur für hulli1
Hey, also wenn ich das richtig interpretiere, dann sollte die max-Funktion die Werte xx, yy und zz in einer Zelle vergleichen und den Maximalwert heranziehen. Somit müsstest Du ein neues Feld erstellen: stressDiagonal = iHat*strainRate_XX + jHat*strainRate_YY + kHat*strainRate_ZZ. Auf dieses neue Feld musst Du dann die max() Funktion anwenden. Ansonsten würde ich davon ausgehen, dass Deine Max Funktion nur den Maximalwert des gesamten Netzes ausgibt - macht für mich jetzt nicht so viel Sinn. Mit Matlab hab ich leider nie viel gemacht. Daher auch keine Hilfestellung. Allerdings ist Dein Ansatz schon mal ganz gut:
- Makro aufnehmen
- Daten schreiben lassen
- Bash Skript den Rest erledigen lassen
- Fertig
Zitat:
Hi Tobi, ach wie schön es ist, dass es Menschen gibt, die einem bei OF helfen können
Ja es gibt hier im deutschsprachigen Forum nicht sehr viele die supporten (kann man wahrscheinlich an einer Hand/Finger abzählen). Gibt halt nicht so viele Idioten, die Ihre Freizeit für solche Themen hergeben. Ähnliches ist aber auch im cfd-online Forum. Die guten Leute sind nur noch ab und an da und geben Ihre Meinung preis. Bin da auch nicht mehr so sehr aktiv. Der Beste ist vor 1 1/2 Jahren gegangen (Bruno Santos -wyldcat). ------------------ Glück Auf, Tobi OpenFOAM® Community - Knowledge Base Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
hulli1 Mitglied
Beiträge: 61 Registriert: 23.01.2020 --
|
erstellt am: 16. Jun. 2021 13:22 <-- editieren / zitieren --> Unities abgeben:
Hi Tobi, also ich habe nun in Paraview wie Du beschrieben hast die stressDiaginale berechnet Calculator: stressDiagonal=iHat*strainRate_XX+jHat*strainRate_YY+kHat*strainRate_ZZ Dieses Feld verstehe ich nun als Deforation rate. Mit diesem Feld werde ich meine Analysen machen ... Isolinien etc. Mit dem Python Kalkulator habe ich dann result=max(abs(stressDiagonal)) ausrechnen lassen das gibt mir dann einen bestimmten Maximalwert und kein Feld. Ich hoffe, dass ich Dich da richtig verstanden habe... Ja kein Stress mit dem Matlab das kann ich ein bisschen es ist nur nervig die Daten aus Paraview herauszubekommen aber wie gesagt batch skript und fertig ... Dass auf CFD Online nur noch wenige antworten ist mir auch aufgefallen ... aber ich finde nicht, dass es idiotisch ist Deine Freizeit für Hilfe suchende wie mich zu opfern ... will jetzt nicht schleimen aber Deine Videos zum snappyHexMesh etc. auf YouTube sind wirklich der Hammer Du kannst Dir gar nicht vorstellen wie sehr mir und auch vielen Anderen das hilft ... finde es echt super !!! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Shor-ty Moderator
Beiträge: 2463 Registriert: 27.08.2010 OpenFOAM-dev (Foundation) OpenFOAM-xxxx (ESI)
|
erstellt am: 16. Jun. 2021 14:34 <-- editieren / zitieren --> Unities abgeben: Nur für hulli1
Zitat: Original erstellt von hulli1: also ich habe nun in Paraview wie Du beschrieben hast die stressDiaginale berechnetCalculator: stressDiagonal=iHat*strainRate_XX+jHat*strainRate_YY+kHat*strainRate_ZZ Dieses Feld verstehe ich nun als Deforation rate. Mit diesem Feld werde ich meine Analysen machen ... Isolinien etc.
Es ist nicht die gesamte Deformationsrate, da Du ja nur die Normalkomponenten nimmst. Es müssten aber auch die xy, xz und yz Komponenten dabei sein. Aber wie gesagt, das Feld sind die Werte, die Normal auf ein Volumenelement wirken (wie bspw. der Druck). Das andere sind scherungsbedingte Anteile die durch die Zähigkeit verursacht werden. Ich weiß nicht was abs(stressDiagonal) macht. Mit result=max(stressDiagonal) würde ich davon ausgehen, dass Du für jede numerische Zelle den Maximalwert von xx, yy oder zz erhältst. Das kann ich aber nicht beurteilen, weil ich da kein Beispiel habe. Zitat:
Dass auf CFD Online nur noch wenige antworten ist mir auch aufgefallen ... aber ich finde nicht, dass es idiotisch ist Deine Freizeit für Hilfe suchende wie mich zu opfern ... will jetzt nicht schleimen aber Deine Videos zum snappyHexMesh etc. auf YouTube sind wirklich der Hammer Du kannst Dir gar nicht vorstellen wie sehr mir und auch vielen Anderen das hilft ... finde es echt super !!!
Ich war damals mit Bruno viel auf CFD online, und andere waren auch sehr aktiv wie bspw.
- Alberto Passalaqua
- Philip Cardiff
- Bruno Santos
- Alex Vakrushev
- ...
Viele sind aber aus der Ph.D. Zeit herausen und haben dann nicht mehr so die Zeit für "voluntary" Arbeit. Das geht nämlich schon auch an die Substanz, wenn man sich letztlich dafür verantwortlich fühlt, dass anderen geholfen wird. Daher hat sich bspw. Bruno zurückgezogen. Ich persönlich mach hier auf cad.de noch 100 % support, da es hier ja kaum Anfragen gibt. Über die letzten 10 Jahre kann ich sagen, dass es zwei mal im Jahr etwas mehr wird und zwar immer dann, wenn Studenten ihre Abschlussarbeit schreiben und nicht weiter kommen. Die Fragen sind oft ähnlich aber nachdem das alles beantwortet ist hört man von denen auch nie wieder was. Gefühlt sind hier vllt die letzten Jahre gerade mal 4 Leute die ab und an wieder eine Frage haben. Man sieht es ja auch deutlich am Beitragscounter von den Usern. Ich mach ja noch viel mehr in dieser Hinsicht:
- Meine gesamte Website
- OpenFOAM Entwicklung bei der Foundation
- Support auf cad.de und cfd-online.com
- Private Emails/Nachrichten auf linkedIn und Twitter und ganz viele bekomm ich auch auf cfd-online.com
- YouTube Videos
- Meine Tutorials auf meiner Seite
- Meine Weiterentwicklungen die man nicht in den offiziellen Repositories findet
Da OpenFOAM sich stetig ändert (gerade die Foundation version), ist das unmengen an Arbeit. Vor allem wenn was grundlegendes verändert wurde. In der v9 wird es wieder sehr viel neues geben. Dazu muss ich dann meine Tutorials alle prüfen, die numerischen Schemen analyisieren, mein Buch aktualisieren, ... Ich kann Dir sagen, dass ich da schon viele tausend Stunden investiert hab, die ich aber entgeltlich nicht erstattet bekomme und irgendwann wird das Leben auch teuer - wenn man nicht mehr bei Mama wohnt, und andere Sachen auf einen zukommen. Da nimmt die Motivation schon stark ab. Wenn ich mir überlege, wie viele Downloads ich pro Tag auf meiner Seite hab, wie viele mein Buch verwenden (wenn auch überarbeitungsbedürftig), dann stellt man sich die Frage was wäre wenn jeder davon nur 1 EUR spenden würde Egal ... das sind Themen die muss ich mit mir selber ausmachen
------------------ Glück Auf, Tobi OpenFOAM® Community - Knowledge Base Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
hulli1 Mitglied
Beiträge: 61 Registriert: 23.01.2020 --
|
erstellt am: 16. Jun. 2021 21:01 <-- editieren / zitieren --> Unities abgeben:
Hi Tobi, also ich habe jetzt mal ein .vtk von den strainrates hochgeladen also den ersten Schritt mit den StressDiagonalen habe ich verstanden auch das was Du mit den max(strainDiagonal) und dem Python Kalkulator habe ich auch kapiert ... aber wann ich das so mache bekomme ich ein Feld mit einem Wert heraus ... habe ich da was übersehen ... ??? https://drive.google.com/file/d/1vli776GuCj4YGGBNCiO3VwwIq6R6ehG8/view?usp=sharing ... also ich möchte mich nun nicht zu viel loben aber ich habe Dein Buch gekauft ich weiß ja nicht was so auf Dich zugekommen ist aber eins kann ich Dir sagen bei Deinen Skills könntest Du wahrscheinlich easy bei irgend einem Auto Konzern im Development sitzen und richtig Asche machen ... Falls es Dir hilft Motivations-technisch meine ich: Sei froh, dass Du Dich damals auf OF festgelegt hast. Ich hatte mich vor ein paar Jahren auf SPH festgelegt da ich, wenn es schwerfällt zuzugeben mich von coolen Animationen blenden habe lassen ... OF ist sooo viel besser und tausendmal anwendbarer und die Ergebnisse sind sehr verlässlich ... naja wem erzähle ich das ... ich hatte mich total verrannt, sodass es mir echt richtig ans Gemüt ging ... bis ich Deine OpenFoam Sachen gesehen habe ... seit dem geht es bei mir wieder bergauf ... klar Kohle ist immer zu wenig ... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Shor-ty Moderator
Beiträge: 2463 Registriert: 27.08.2010 OpenFOAM-dev (Foundation) OpenFOAM-xxxx (ESI)
|
erstellt am: 16. Jun. 2021 22:14 <-- editieren / zitieren --> Unities abgeben: Nur für hulli1
Hey, also mein Wissen ist auch begrenzt. Das merke ich immer dann, wenns doch ans eingemachte geht. Gut, ich habe natürlich schon einiges gemacht aber trotzdem sind viele Themen noch ein Fragezeichen bzw. ich hatte einfach nicht die Zeit mich damit zu beschäftigen. Ob ich da in nen großen Konzern an eine interessante Stelle komme weiß ich nicht. War mal bei der MAN in Augsburg aber auch Anlagenbau - Abwicklung. Derzeit kleines Unternehmen wieder in der CFD aber mit Fluent. Ganz interessant zu sehen welche großen schwächen/stärken Fluent hat. Aber mein beruflicher Weg wird 2021 wieder zu OpenFOAM gehen SPH kenn ich von nem alten Kollegen an der Uni Leoben. Das Thema ist nicht ganz so trivial, aber hat auch einige Vorteile gegenüber den klassischen Lösern. Parallelisierung ist da ja das Thema und alles auf der GPU rechnen. Freut mich jedenfalls, dass Du wieder Motivation und Muse hast & Danke für Deinen Support bezüglich meinem Buch. Für 9,99 EUR doch sehr erschwinglich. Aber auch hier möchte ich keine großen finanziellen Einnahmen machen. Immerhin ist das meiste im Buch auch Open-Source und meines Erachtens ist es nicht vergleichbar zu nahmhaften Autoren. Zur max() Funktion. Es scheint so, als würde da tatsächlich das gesamte Array durchgesehen und nur der Maximalwert ausgegeben. Ggf. mit einer if/else if/else if/else arbeiten? Keine Ahnung. Weiß auch nicht welche Auswertung Du brauchst ------------------ Glück Auf, Tobi OpenFOAM® Community - Knowledge Base Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
hulli1 Mitglied
Beiträge: 61 Registriert: 23.01.2020 --
|
erstellt am: 17. Jun. 2021 09:57 <-- editieren / zitieren --> Unities abgeben:
Hi Tobi ... ich glaube das mit dem Maximum passt so habe die Daten mit den Autoren verglichen und es steht nur über einer Abb. maxiumum Deformation rate Das was wir erarbeitet haben ist ja die Deformation rate ... und diese findet sich in allen anderen abb und im Text ... ich denke, dass es sich da wohl um ein Missverständnis handelt ... ich checke das aber nochmals mit ab ... DANKE FÜR DEINE HILFE IN DEN LETZEN TAGEN !!! Zu Deinem Buch: Der Preis ist voll ok ... Ganz ehrlich es ist ja schön und gut, dass Du es auch frei zur Verfügung stellst. Aber jeder blöde Katalog von Tui etc. hat eine Schutzgebühr ... jedes Magazin an der Tanke kostet mittlerweile mehr als 5 Euro ... Kannst Dir ja überlegen ob Du das Buch fürn 5er zur Verfügung stellst, und die gratis Version rausnimmst ... Na ja das ethische ob opensoure oder nicht musst Du mit Dir ausmachen ... Man sieht es auch von der Aufmachung qualitativ hochwertig ist. Zum Inhalt finde ich das Buch richtig gut geschrieben ist, da es den Leser wirklich bei den Grundlagen abholt. So können Studenten / Quereinsteiger etc. die nicht x Semester Mathematik und Strömungsmechanik gehabt das Programm und die Grundlagen lernen und auch damit arbeiten ... Insbesondere die Tipps wie der solver stabil bleibt etc. ... sind Gold wert ... Andere Bucher wie Ferziger etc ... sind viel zu abgehoben und auch nicht Anwender bezogen ... Klar toll zum Nachschlagen aber nicht hilfreich, wenn die Simulation explodiert ... Ich denke das ist genau Deine Niesche ... Zum Publizieren: Ich würde es halt dann nicht open acces machen da es sonst etwas teuer wird ansonsten bei Springer
https://www.springer.com/gp/energy/become-an-author selbst dieser Titel schreckt die Studis eher ab als dass er hilft ... also Daumen hoch https://www.springer.com/de/book/9783319168739 VG H Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Shor-ty Moderator
Beiträge: 2463 Registriert: 27.08.2010 OpenFOAM-dev (Foundation) OpenFOAM-xxxx (ESI)
|
erstellt am: 17. Jun. 2021 10:47 <-- editieren / zitieren --> Unities abgeben: Nur für hulli1
Also ich halte meine Arbeiten gerne OpenSource. Ich verwende auch sehr viele Programme die OpenSource sind und das ist mein Anteil, den ich der Community zurückgebe. Bspw. verwende ich Joomla, Linux, OBS, GIMP, ffmpeg, und so vieles mehr, das ich frei verfügbar bekomme. Mein Anteil ist eben meine Arbeit im Bereich OpenFOAM und auch mein Buch. Ab und an gibts von mir auch eine Spende an diverse Arbeitsteams - gerade weil ich weiß wie schwer es ist Über Springer werde ich nichts machen. Da ist mein Buch nicht wirklich gut geschrieben. Außerdem weiß ich nicht wie viel da Springer dran verdient und letztlich zahlen es auch wieder die kleinen Leute. Übrigens, Moukallet et al. - ein Top Buch. Das Beste das ich bislang in dem Bereich gelesen habe. Auch Ferziger et al. ist ein super Buch aber wie Du bereits sagtest - es kommt drauf an wer es liest. Als Anfänger ist das eine harte Kost. Mein Buch ist eher sehr fundamental mit jedem einzelnen Schritt. Zum Thema. Die max() Funktion kann man natürlich unterschiedlich sehen. Ich hätte es jetzt als Maximum jeder Zelle gesehen. Aber ich geb Dir recht. Die max() Funktion in OpenFOAM liefert auch den größten Wert im gesamten Rechennetz. Somit sollte das schon alles passen. ------------------ Glück Auf, Tobi OpenFOAM® Community - Knowledge Base Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
hulli1 Mitglied
Beiträge: 61 Registriert: 23.01.2020 --
|
erstellt am: 18. Jun. 2021 08:32 <-- editieren / zitieren --> Unities abgeben:
Hi Tobi, nun ja da hast Du recht ("frei nach Kerkeling: Der kleine Sparer ist am Ende immer der gelackmeierte"). Dann passt es doch mit Deinem Buch aber zu schlecht geschrieben kann ich nicht bestätigen!!! Wie gesagt finde es schon cool, dass Du Dich für openSource entschieden hast !!! Ich ja am Ende auch da andere Softwarepackete Comsol Fluenent etc zu teuer sind ... werde Dich auf dem Laufendem halten ... aber die max. Funkt scheint zu passen ... DAAAANKE LG H Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Shor-ty Moderator
Beiträge: 2463 Registriert: 27.08.2010 OpenFOAM-dev (Foundation) OpenFOAM-xxxx (ESI)
|
erstellt am: 19. Jun. 2021 11:21 <-- editieren / zitieren --> Unities abgeben: Nur für hulli1
|
hulli1 Mitglied
Beiträge: 61 Registriert: 23.01.2020 --
|
erstellt am: 21. Jun. 2021 12:04 <-- editieren / zitieren --> Unities abgeben:
|
Shor-ty Moderator
Beiträge: 2463 Registriert: 27.08.2010 OpenFOAM-dev (Foundation) OpenFOAM-xxxx (ESI)
|
erstellt am: 21. Jun. 2021 16:25 <-- editieren / zitieren --> Unities abgeben: Nur für hulli1
|