Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  OpenFOAM
  mutURoughWallFunction;

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:  mutURoughWallFunction; (849 mal gelesen)
Flo03
Mitglied
Student


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

Beiträge: 12
Registriert: 23.01.2014

erstellt am: 28. Nov. 2014 14:55    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

Hallo liebe Community,

kann mir jemand von euch bezüglich der mutURoughWallFunction weierhelfen? Im mut- FIle habe ich folgendes definiert und mit die SImulation mittels Try&Error zusammengebastelt:

walls
    {
        type            mutURoughWallFunction;
roughnessHeight 0.0003;
        roughnessConstant 0.5;
        roughnessFactor 1;
value 0;
    }

aber welche Bedeutung haben roughnessConstant und  roughnessFactor ?

Weiß das jemand von euch?

viele Grüße
Flo

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: 28. Nov. 2014 17:19    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 Flo03 10 Unities + Antwort hilfreich

Hi Flo,

hoff das reicht dir:

Code:

    \table
        Property     | Description             | Required    | Default value
        roughnessHeight | roughness height     | yes         |
        roughnessConstant | roughness constanr | yes         |
        roughnessFactor | scaling factor       | yes         |
    \endtable

Header:

Code:

    // Protected data

        // Roughness parameters

            //- Height
            scalar roughnessHeight_;

            //- Constant
            scalar roughnessConstant_;

            //- Scale factor
            scalar roughnessFactor_;


Source

Code:

    if (roughnessHeight_ > 0.0)
    {
        // Rough Walls
        const scalar c_1 = 1/(90 - 2.25) + roughnessConstant_;
        static const scalar c_2 = 2.25/(90 - 2.25);
        static const scalar c_3 = 2.0*atan(1.0)/log(90/2.25);
        static const scalar c_4 = c_3*log(2.25);

        //if (KsPlusBasedOnYPlus_)
        {
            // If KsPlus is based on YPlus the extra term added to the law
            // of the wall will depend on yPlus
            forAll(yPlus, facei)
            {
                const scalar Re = rho[facei]*magUp[facei]*y[facei]/muw[facei];
                const scalar kappaRe = kappa_*Re;

                scalar yp = yPlusLam_;
                const scalar ryPlusLam = 1.0/yp;

                int iter = 0;
                scalar yPlusLast = 0.0;
                scalar dKsPlusdYPlus = roughnessHeight_/y[facei];

                // Enforce the roughnessHeight to be less than the distance to
                // the first cell centre.
                if (dKsPlusdYPlus > 1)
                {
                    dKsPlusdYPlus = 1;
                }

                // Additional tuning parameter (fudge factor) - nominally = 1
                dKsPlusdYPlus *= roughnessFactor_;
                do
                {
                    yPlusLast = yp;

                    // The non-dimensional roughness height
                    scalar KsPlus = yp*dKsPlusdYPlus;

                    // The extra term in the law-of-the-wall
                    scalar G = 0.0;

                    scalar yPlusGPrime = 0.0;

                    if (KsPlus >= 90)
                    {
                        const scalar t_1 = 1 + roughnessConstant_*KsPlus;
                        G = log(t_1);
                        yPlusGPrime = roughnessConstant_*KsPlus/t_1;
                    }
                    else if (KsPlus > 2.25)
                    {
                        const scalar t_1 = c_1*KsPlus - c_2;
                        const scalar t_2 = c_3*log(KsPlus) - c_4;
                        const scalar sint_2 = sin(t_2);
                        const scalar logt_1 = log(t_1);
                        G = logt_1*sint_2;
                        yPlusGPrime =
                            (c_1*sint_2*KsPlus/t_1) + (c_3*logt_1*cos(t_2));
                    }

                    scalar denom = 1.0 + log(E_*yp) - G - yPlusGPrime;
                    if (mag(denom) > VSMALL)
                    {
                        yp = (kappaRe + yp*(1 - yPlusGPrime))/denom;
                    }

                } while
                (
                    mag(ryPlusLam*(yp - yPlusLast)) > 0.0001
                 && ++iter < 10
                 && yp > VSMALL
                );

                yPlus[facei] = max(0.0, yp);
            }
        }
    }
    else
    {
        // Smooth Walls
        forAll(yPlus, facei)
        {
            const scalar Re = rho[facei]*magUp[facei]*y[facei]/muw[facei];
            const scalar kappaRe = kappa_*Re;

            scalar yp = yPlusLam_;
            const scalar ryPlusLam = 1.0/yp;

            int iter = 0;
            scalar yPlusLast = 0.0;

            do
            {
                yPlusLast = yp;
                yp = (kappaRe + yp)/(1.0 + log(E_*yp));

            } while
            (
                mag(ryPlusLam*(yp - yPlusLast)) > 0.0001
             && ++iter < 10
            );

            yPlus[facei] = max(0.0, yp);
        }
    }



------------------
Best regards,
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: 29. Nov. 2014 00:41    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 Flo03 10 Unities + Antwort hilfreich

Nochmals kurz,

wenn roughnessHeigh = 0, dann verwendest du das Log-Gesetz (zumindest eine Form davon). Ansonsten die erste Methode. Dein Konstantwert, wird zur Berechnung von c_1 verwendet. Kann dir aber keine Literatur dazu nennen. Einfach mal ne kleine Recherche durchführen.

------------------
Best regards,
Tobias Holzmann

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

Flo03
Mitglied
Student


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

Beiträge: 12
Registriert: 23.01.2014

erstellt am: 29. Nov. 2014 14: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

Hallo Tobias,

danke für deine Antwort(en)!

Das ich mit der roughnessHeigh meine Integrationskonstante beeinflusse, ist mir schon klar. Ich dachte nur, es gibt vielleicht eine einfache Rechenvorschrift, wie das genau gemacht wird. WIe gesagt, ich habe meine Simulation mittels Try&Error so hingebastelt, bis es funktioniert hat.... Ich weiß, nicht sehr ingenieurwissenschaftlich 

Ich befürchte, dass ich für die Frage "wie genau" und die rechnerische Umsetzung ordentlich die Literatur durchforsten muss. Würde auf jeden Fall nochmal schreiben, wenn ich was genaueres weiß.

viele Grüße
Flo

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

slint
Mitglied
M.Sc. Schiffs- und Meerestechnik


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

Beiträge: 48
Registriert: 02.09.2012

OpenFOAM 2.3.x

erstellt am: 30. Nov. 2014 17: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 Flo03 10 Unities + Antwort hilfreich

Hallo Flo,

ich möchte dir zwei Literaturempfehlungen bezüglich der Beschreibung von Wandrauhigkeiten und den Einfluss dieser auf die Grenzschicht geben, die dir hoffentlich weiter helfen:

1) Cebeci, Tuncer - Analysis of Turbulent Flows (Elsevier, 2004)
2) Cebeci, Tuncer;  Bradshaw, Peter - Momentum Transfer in Boundary Layers (McGraw-Hill, 1977)

Die Bücher sind leider nicht ganz so leicht zu finden, jedoch bilden diese Bücher eine hervorragende Ergänzung zum Standardwerk "Grenzschicht-Theorie" von Schlichting und Gersten. Ich vermute, dass die beiden Bücher in einer gut sortierten Universitäts-Bibliothek (zumindest per Fernleihe) verfügbar sein dürften. Ein Blick lohnt sich 

------------------
Beste Grüße,
Robert

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. 2014 09: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 Flo03 10 Unities + Antwort hilfreich

Hey Robert,

danke für die Literatur!

------------------
Best regards,
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