|
[Sponsors] |
Boundary conditions in wind turbine case using MRF |
|
LinkBack | Thread Tools | Search this Thread | Display Modes |
January 17, 2018, 10:14 |
Boundary conditions in wind turbine case using MRF
|
#1 |
Member
gereksiz
Join Date: Mar 2015
Posts: 42
Rep Power: 11 |
Hello,
I have been dealing with this case for a long time and I finally decided to ask you since I have checked most of the posts and couldn’t find any solutions till now. My post could be quite long as I explained most of the steps/errors that I have encounter so far. My original case is to simulate a ducted wind turbine using simpleFoam with k-omega SST model where my domain is a 120 deg wedge and a MRF zone is defined for rotation. I have created an unstructured mesh in pointwise and exported to OpenFoam. When I check the mesh I got warnings about the skewness and the non-orthogonality such as: Code:
Create time Create polyMesh for time = 0 Time = 0 Mesh stats points: 4118422 faces: 22928158 internal faces: 22748138 cells: 9557943 faces per cell: 4.77888 boundary patches: 11 point zones: 0 face zones: 0 cell zones: 2 Overall number of cells of each type: hexahedra: 0 prisms: 7351490 wedges: 0 pyramids: 93034 tet wedges: 0 tetrahedra: 2113419 polyhedra: 0 Checking topology... Boundary definition OK. Cell to face addressing OK. Point usage OK. Upper triangular ordering OK. Face vertices OK. Number of regions: 1 (OK). Checking patch topology for multiply connected surfaces... Patch Faces Points Surface topology blade 40664 20390 ok (non-closed singly connected) far_field 10500 5406 ok (non-closed singly connected) hub 6696 3518 ok (non-closed singly connected) inlet 6501 3354 ok (non-closed singly connected) inner_cyclic_a 20562 17777 ok (non-closed singly connected) inner_cyclic_b 20576 17784 ok (non-closed singly connected) inner_shroud 11468 5890 ok (non-closed singly connected) outer_cyclic_a 20726 15646 ok (non-closed singly connected) outer_cyclic_b 20786 15676 ok (non-closed singly connected) outer_shroud 15040 7695 ok (non-closed singly connected) outlet 6501 3354 ok (non-closed singly connected) Checking geometry... Overall domain bounding box (-5000 2.30605e-09 -10000) (5000 9999.88 5000) Mesh has 3 geometric (non-empty/wedge) directions (1 1 1) Mesh has 3 solution (non-empty) directions (1 1 1) Boundary openness (8.30327e-16 1.45532e-14 4.04133e-15) OK. ***High aspect ratio cells found, Max aspect ratio: 18987, number of cells 39 <<Writing 39 cells with high aspect ratio to set highAspectRatioCells Minimum face area = 1.01359e-06. Maximum face area = 58404.2. Face area magnitudes OK. Min volume = 1.83815e-08. Max volume = 4.38283e+06. Total volume = 1.04695e+12. Cell volumes OK. Mesh non-orthogonality Max: 89.983 average: 29.0296 *Number of severely non-orthogonal (> 70 degrees) faces: 1030489. Non-orthogonality check OK. <<Writing 1030489 non-orthogonal faces to set nonOrthoFaces Face pyramids OK. Max skewness = 3.55448 OK. Coupled point location match (average 0) OK. Failed 1 mesh checks. E Code:
Create time Create mesh for time = 0 SIMPLE: no convergence criteria found. Calculations will run for 20000 steps. Reading field p AMI: Creating addressing and weights between 20562 source faces and 20576 target faces AMI: Patch source sum(weights) min/max/average = 0.981308, 1.00002, 0.999993 AMI: Patch target sum(weights) min/max/average = 0, 1.00002, 0.999035 AMI: Creating addressing and weights between 20726 source faces and 20786 target faces AMI: Patch source sum(weights) min/max/average = 0.170281, 1, 0.997918 AMI: Patch target sum(weights) min/max/average = 0.0639366, 1, 0.997777 Reading field U Reading/calculating face flux field phi Selecting incompressible transport model Newtonian Selecting turbulence model type RAS Selecting RAS turbulence model kOmegaSST Selecting patchDistMethod meshWave bounding k, min: 0 max: 0.09375 average: 0.09375 bounding omega, min: 0 max: 111.803 average: 111.803 kOmegaSSTCoeffs { alphaK1 0.85; alphaK2 1; alphaOmega1 0.5; alphaOmega2 0.856; gamma1 0.555556; gamma2 0.44; beta1 0.075; beta2 0.0828; betaStar 0.09; a1 0.31; b1 1; c1 10; F3 false; } Creating MRF zone list from MRFProperties creating MRF zone: MRF1 No finite volume options present Starting time loop Reading surface description: airfoil Time = 1 DILUPBiCG: Solving for Ux, Initial residual = 1, Final residual = 0.0466319, No Iterations 2 DILUPBiCG: Solving for Uy, Initial residual = 1, Final residual = 0.0432774, No Iterations 2 DILUPBiCG: Solving for Uz, Initial residual = 1, Final residual = 0.0431113, No Iterations 2 #0 Foam::error::printStack(Foam::Ostream&) at ??:? #1 Foam::sigFpe::sigHandler(int) at ??:? #2 ? at sigaction.c:? #3 Foam::divide(Foam::Field<double>&, double const&, Foam::UList<double> const&) at ??:? #4 ? at ??:? #5 Foam::tmp<Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> > Foam::operator/<Foam::fvPatchField, Foam::volMesh>(Foam::dimensioned<double> const&, Foam::tmp<Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> > const&) at ??:? #6 ? at simpleFoam.C:? #7 ? at ??:? #8 __libc_start_main at ??:? #9 ? at ??:? Floating point exception (core dumped) Code:
Time = 11 DILUPBiCG: Solving for Ux, Initial residual = 0.676208, Final residual = 1.79999e+10, No Iterations 1001 DILUPBiCG: Solving for Uy, Initial residual = 0.620356, Final residual = 1.00309e+15, No Iterations 1001 DILUPBiCG: Solving for Uz, Initial residual = 0.535686, Final residual = 3.75939e+10, No Iterations 1001 #0 Foam::error::printStack(Foam::Ostream&) at ??:? #1 Foam::sigFpe::sigHandler(int) at ??:? #2 ? at sigaction.c:? #3 Foam::divide(Foam::Field<double>&, double const&, Foam::UList<double> const&) at ??:? #4 ? at ??:? #5 Foam::tmp<Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> > Foam::operator/<Foam::fvPatchField, Foam::volMesh>(Foam::dimensioned<double> const&, Foam::tmp<Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> > const&) at ??:? #6 ? at simpleFoam.C:? #7 ? at ??:? #8 __libc_start_main at ??:? #9 ? at ??:? Floating point exception (core dumped) Here are the 0 folder for k, p , U, omega, nut that I have used for (note that far-field patch is changing to avoid re-post the same setup): Code:
FoamFile { version 2.0; format ascii; class volScalarField; object k; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // #include "include/initialConditions" dimensions [0 2 -2 0 0 0 0]; internalField uniform $turbulentKE; boundaryField { inlet type turbulentIntensityKineticEnergyInlet; intensity 0.05; U U; phi phi; value $internalField; } outlet { type inletOutlet; inletValue $internalField; value $internalField; } cyclic1 { type cyclicAMI; } cyclic2 { type cyclicAMI; } far_field { // FreeSlip BC type slip; // Inlet BC // type turbulentIntensityKineticEnergyInlet; // intensity 0.05; // U U; // phi phi; // value $internalField; // Symmetric BC ( should change also constant/boundary from patch to symmetry) // type symmetry; } } Code:
FoamFile { version 2.0; format ascii; class volScalarField; location "0"; object nut; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // dimensions [0 2 -1 0 0 0 0]; internalField uniform 0; boundaryField { inlet { type calculated; value uniform 0; } outlet { type calculated; value uniform 0; } cyclic1 { type cyclicAMI; } cyclic2 { type cyclicAMI; } far_field { // FreeSlip BC type slip; // Inlet BC type calculated; value uniform 0; // Symmetric BC ( should change also constant/boundary from patch to symmetry) // type symmetry; } } Code:
\*---------------------------------------------------------------------------*/ FoamFile { version 2.0; format ascii; class volScalarField; object omega; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // #include "include/initialConditions" dimensions [0 0 -1 0 0 0 0]; internalField uniform $turbulentOmega; boundaryField { inlet { type turbulentMixingLengthFrequencyInlet; mixingLength 0.005; phi phi; k k; value $internalField; } outlet { type inletOutlet; inletValue $internalField; value $internalField; } cyclic1 { type cyclicAMI; } cyclic2 { type cyclicAMI; } far_field { // FreeSlip BC type slip; // Inlet BC type turbulentMixingLengthFrequencyInlet; mixingLength 0.005; phi phi; k k; value $internalField; // Symmetric BC ( should change also constant/boundary from patch to symmetry) // type symmetry; } } Code:
FoamFile { version 2.0; format ascii; class volScalarField; object p; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // #include "include/initialConditions" dimensions [0 2 -2 0 0 0 0]; internalField uniform $pressure; boundaryField { inlet { type zeroGradient; } outlet { type fixedValue; value $internalField; } cyclic1 { type cyclicAMI; } cyclic2 { type cyclicAMI; } far_field { // FreeSlip BC type slip; // Inlet BC type zeroGradient; // Symmetric BC ( should change also constant/boundary from patch to symmetry) // type symmetry; } } Code:
FoamFile { version 2.0; format ascii; class volVectorField; location "0"; object U; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // #include "include/initialConditions" dimensions [0 1 -1 0 0 0 0]; internalField uniform $Uinlet; boundaryField { inlet { type fixedValue; value $internalField; } outlet { type inletOutlet; inletValue uniform (0 0 0); value $internalField; } cyclic1 { type cyclicAMI; } cyclic2 { type cyclicAMI; } far_field { // FreeSlip BC type slip; // Inlet BC type fixedValue; value $internalField; // Symmetric BC ( should change also constant/boundary from patch to symmetry) // type symmetry; } } Code:
FoamFile { version 2.0; format ascii; class dictionary; object blockMeshDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // convertToMeters 1.0; x0 0; y0 0; z0 0; angle 120; radius 6; length 12; radAngle #calc "degToRad($angle)"; x #calc "$radius*cos($radAngle/4)"; y #calc "$radius*sin($radAngle/4)"; z #calc "$z0"; x2 #calc "-1*$radius*cos($radAngle/4)"; z2 #calc "$z-$length"; vertices ( ($x0 $y0 $z0) ($x $y $z) ($x2 $y $z) ($x0 $y0 $z2) ($x $y $z2) ($x2 $y $z2) ); blocks ( hex (4 1 2 5 3 0 0 3 ) (300 50 80) simpleGrading (1 1 1) // hex (4 1 2 5 3 0 0 3 ) (100 10 20) simpleGrading (1 1 1) // works with this configuration ); edges ( arc 1 2 ($x0 $radius $z) arc 4 5 ($x0 $radius $z2) ); boundary ( inlet { type patch; faces ( (0 2 1 0) ); } outlet { type patch; faces ( (3 5 4 3) ); } far_field { type patch; faces ( (4 1 2 5) ); } cyclic1 { type cyclicAMI; neighbourPatch cyclic2; faces ( (1 4 3 0) ); } cyclic2 { type cyclicAMI; neighbourPatch cyclic1; faces ( (5 2 0 3) ); } ); I am hoping that someone could help with this. Thank you! |
|
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Centrifugal fan | j0hnny | CFX | 13 | October 1, 2019 14:55 |
Out File does not show Imbalance in % | Mmaragann | CFX | 5 | January 20, 2017 11:20 |
Problem in setting Boundary Condition | Madhatter92 | CFX | 12 | January 12, 2016 05:39 |
boundary conditions for a rotating wind turbine problem | amoolraina | FLUENT | 0 | December 22, 2010 11:40 |
RPM in Wind Turbine | Pankaj | CFX | 9 | November 23, 2009 05:05 |