|
[Sponsors] |
March 24, 2016, 10:24 |
ANSA and AMI patches
|
#1 |
Member
Gareth
Join Date: Jun 2010
Posts: 56
Rep Power: 16 |
GoodDay all
I am working with a 2D simulation of a vertical axis wind turbine. I am trying to run a pimpleDyMesh case with an ASNA mesh. Making use of the AMI interface for rotating zones. I have originally tested the interface, familiarizing myself with the boundary and dynamicMeshDict of openfoam, by creating a rough mesh in blockMesh. The blockMesh case runs with no issues. So i used this as my base for setting up the files around the ANSA mesh. for a side by side comparison i have run checkMesh on both cases: Blockmesh: Code:
Create time Create polyMesh for time = 0 Time = 0 Mesh stats points: 6534 internal points: 0 faces: 12270 internal faces: 5730 cells: 3000 faces per cell: 6 boundary patches: 8 point zones: 0 face zones: 0 cell zones: 1 Overall number of cells of each type: hexahedra: 3000 prisms: 0 wedges: 0 pyramids: 0 tet wedges: 0 tetrahedra: 0 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: 2 The mesh has multiple regions which are not connected by any face. <<Writing region information to "0/cellToRegion" <<Writing region 0 with 2000 cells to cellSet region0 <<Writing region 1 with 1000 cells to cellSet region1 Checking patch topology for multiply connected surfaces... Patch Faces Points Surface topology inlet 20 42 ok (non-closed singly connected) outlet 40 82 ok (non-closed singly connected) wall 200 404 ok (non-closed singly connected) bladesolo 40 80 ok (non-closed singly connected) blade 80 160 ok (non-closed singly connected) AMI1 80 160 ok (non-closed singly connected) AMI2 80 160 ok (non-closed singly connected) frontAndBack 6000 6534 ok (non-closed singly connected) Checking geometry... Overall domain bounding box (-10 -10 0) (15 10 0.1) Mesh (non-empty, non-wedge) directions (1 1 0) Mesh (non-empty) directions (1 1 0) All edges aligned with or perpendicular to non-empty directions. Boundary openness (1.44366e-19 -1.34913e-19 1.75312e-15) OK. Max cell openness = 3.42849e-16 OK. Max aspect ratio = 11.7063 OK. Minimum face area = 0.00244435. Maximum face area = 0.741117. Face area magnitudes OK. Min volume = 0.00034663. Max volume = 0.0741117. Total volume = 49.641. Cell volumes OK. Mesh non-orthogonality Max: 68.3251 average: 22.9737 Non-orthogonality check OK. Face pyramids OK. ***Max skewness = 7.03899, 13 highly skew faces detected which may impair the quality of the results <<Writing 13 skew faces to set skewFaces Coupled point location match (average 0) OK. Failed 1 mesh checks. End Code:
Create time Create polyMesh for time = 0 Time = 0 Mesh stats points: 199108 internal points: 0 faces: 584464 internal faces: 254316 cells: 161636 faces per cell: 5.18931 boundary patches: 12 point zones: 0 face zones: 0 cell zones: 2 Overall number of cells of each type: hexahedra: 30600 prisms: 131036 wedges: 0 pyramids: 0 tet wedges: 0 tetrahedra: 0 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: 2 The mesh has multiple regions which are not connected by any face. <<Writing region information to "0/cellToRegion" <<Writing region 0 with 6912 cells to cellSet region0 <<Writing region 1 with 154724 cells to cellSet region1 Checking patch topology for multiply connected surfaces... Patch Faces Points Surface topology inlet 70 142 ok (non-closed singly connected) topAndBottom 300 604 ok (non-closed singly connected) outlet 70 142 ok (non-closed singly connected) AMI2 158 316 ok (non-closed singly connected) AMI1 158 316 ok (non-closed singly connected) blade1 2040 4080 ok (non-closed singly connected) blade3 2040 4080 ok (non-closed singly connected) blade2 2040 4080 ok (non-closed singly connected) front1 6912 3755 ok (non-closed singly connected) front2 154724 95799 ok (non-closed singly connected) back1 6912 3755 ok (non-closed singly connected) back2 154724 95799 ok (non-closed singly connected) Checking geometry... Overall domain bounding box (-5 -3.5 -2.13163e-16) (10 3.5 0.1) Mesh (non-empty, non-wedge) directions (1 1 0) Mesh (non-empty) directions (1 1 0) All edges aligned with or perpendicular to non-empty directions. Boundary openness (-1.4656e-18 1.00295e-18 4.87026e-15) OK. Max cell openness = 3.14785e-16 OK. Max aspect ratio = 5.87566 OK. Minimum face area = 2.8342e-09. Maximum face area = 0.169314. Face area magnitudes OK. Min volume = 2.8342e-10. Max volume = 0.0169314. Total volume = 10.499. Cell volumes OK. Mesh non-orthogonality Max: 55.8689 average: 2.49166 Non-orthogonality check OK. Face pyramids OK. ***Max skewness = 9.80996, 12 highly skew faces detected which may impair the quality of the results <<Writing 12 skew faces to set skewFaces Coupled point location match (average 0) OK. Failed 1 mesh checks. End I then tested the dynamic Mesh motion of each case: blockMesh ... Code:
Create time Create mesh for time = 0 Selecting dynamicFvMesh solidBodyMotionFvMesh Selecting solid-body motion function rotatingMotion Applying solid body motion to cellZone blade Time = 0.05 solidBodyMotionFunctions::rotatingMotion::transformation(): Time = 0.05 transformation: ((0 0 0) (0.999919 (0 0 0.0127497))) AMI: Creating addressing and weights between 80 source faces and 80 target faces AMI: Patch source sum(weights) min/max/average = 1.00034, 1.00034, 1.00034 AMI: Patch target sum(weights) min/max/average = 1.00034, 1.00034, 1.00034 --> FOAM Warning : From function solidBodyMotionFvMesh::update() in file solidBodyMotionFvMesh/solidBodyMotionFvMesh.C at line 238 Did not find volVectorField U Not updating Uboundary conditions. Point usage OK. Upper triangular ordering OK. Topological cell zip-up check OK. Face vertices OK. Face-face connectivity OK. Mesh topology OK. Boundary openness (-1.30617e-19 -1.34913e-19 1.58417e-15) OK. Max cell openness = 2.49435e-16 OK. Max aspect ratio = 11.4645 OK. Minimum face area = 0.00244435. Maximum face area = 0.741117. Face area magnitudes OK. Min volume = 0.00034663. Max volume = 0.0741117. Total volume = 49.641. Cell volumes OK. Mesh non-orthogonality Max: 68.3251 average: 22.9737 Non-orthogonality check OK. Face pyramids OK. ***Max skewness = 7.03899, 13 highly skew faces detected which may impair the quality of the results Failed 1 mesh geometry checks. Failed 1 mesh checks. ExecutionTime = 0.05 s ClockTime = 0 s Time = 0.1 solidBodyMotionFunctions::rotatingMotion::transformation(): Time = 0.1 transformation: ((0 0 0) (0.999675 (0 0 0.0254972))) AMI: Creating addressing and weights between 80 source faces and 80 target faces AMI: Patch source sum(weights) min/max/average = 1.00035, 1.00035, 1.00035 AMI: Patch target sum(weights) min/max/average = 1.00035, 1.00035, 1.00035 Point usage OK. Upper triangular ordering OK. Topological cell zip-up check OK. Face vertices OK. Face-face connectivity OK. Mesh topology OK. Boundary openness (-1.30617e-19 8.50726e-20 1.6968e-15) OK. Max cell openness = 2.42229e-16 OK. Max aspect ratio = 11.4645 OK. Minimum face area = 0.00244435. Maximum face area = 0.741117. Face area magnitudes OK. Min volume = 0.00034663. Max volume = 0.0741117. Total volume = 49.641. Cell volumes OK. Mesh non-orthogonality Max: 68.3251 average: 22.9737 Non-orthogonality check OK. Face pyramids OK. ***Max skewness = 7.03899, 13 highly skew faces detected which may impair the quality of the results Failed 1 mesh geometry checks. Failed 1 mesh checks. ExecutionTime = 0.08 s ClockTime = 0 s Code:
Create time Create mesh for time = 0 Selecting dynamicFvMesh solidBodyMotionFvMesh Selecting solid-body motion function rotatingMotion Applying solid body motion to cellZone rotating Time = 0.5 solidBodyMotionFunctions::rotatingMotion::transformation(): Time = 0.5 transformation: ((0 0 0) (0.999688 (0 0 0.0249974))) AMI: Creating addressing and weights between 158 source faces and 158 target faces AMI: Patch source sum(weights) min/max/average = 1, 1, 1 AMI: Patch target sum(weights) min/max/average = 1, 1, 1 --> FOAM Warning : From function solidBodyMotionFvMesh::update() in file solidBodyMotionFvMesh/solidBodyMotionFvMesh.C at line 238 Did not find volVectorField U Not updating Uboundary conditions. Point usage OK. Upper triangular ordering OK. Topological cell zip-up check OK. Face vertices OK. Face-face connectivity OK. Mesh topology OK. Boundary openness (-1.39392e-18 3.40951e-18 4.92616e-15) OK. ***High aspect ratio cells found, Max aspect ratio: 7794.7, number of cells 56852 Minimum face area = 2.8342e-09. Maximum face area = 0.169314. Face area magnitudes OK. Min volume = 2.8342e-10. Max volume = 0.0169314. Total volume = 10.499. Cell volumes OK. Mesh non-orthogonality Max: 55.8689 average: 2.49166 Non-orthogonality check OK. Face pyramids OK. ***Max skewness = 9.80996, 12 highly skew faces detected which may impair the quality of the results Failed 2 mesh geometry checks. Failed 1 mesh checks. ExecutionTime = 1.88 s ClockTime = 2 s Time = 1 solidBodyMotionFunctions::rotatingMotion::transformation(): Time = 1 transformation: ((0 0 0) (0.99875 (0 0 0.0499792))) AMI: Creating addressing and weights between 158 source faces and 158 target faces AMI: Patch source sum(weights) min/max/average = 1, 1, 1 AMI: Patch target sum(weights) min/max/average = 1, 1, 1 Point usage OK. Upper triangular ordering OK. Topological cell zip-up check OK. Face vertices OK. Face-face connectivity OK. Mesh topology OK. Boundary openness (-2.40782e-19 3.11987e-18 4.87187e-15) OK. ***High aspect ratio cells found, Max aspect ratio: 7814.49, number of cells 56835 Minimum face area = 2.8342e-09. Maximum face area = 0.169314. Face area magnitudes OK. Min volume = 2.8342e-10. Max volume = 0.0169314. Total volume = 10.499. Cell volumes OK. Mesh non-orthogonality Max: 55.8689 average: 2.49166 Non-orthogonality check OK. Face pyramids OK. ***Max skewness = 9.80996, 12 highly skew faces detected which may impair the quality of the results Failed 2 mesh geometry checks. Failed 1 mesh checks. ExecutionTime = 3.59 s ClockTime = 3 s When i actually run the pimplDyMesh solver the ANSA mesh fails while solving the pressure equation. Code:
Create time Create mesh for time = 0 Selecting dynamicFvMesh solidBodyMotionFvMesh Selecting solid-body motion function rotatingMotion Applying solid body motion to cellZone rotating PIMPLE: Operating solver in PISO mode Reading field p Reading field U Reading/calculating face flux field phi AMI: Creating addressing and weights between 158 source faces and 158 target faces AMI: Patch source sum(weights) min/max/average = 1, 1, 1 AMI: Patch target sum(weights) min/max/average = 1, 1, 1 Selecting incompressible transport model Newtonian Selecting turbulence model type RASModel Selecting RAS turbulence model kOmegaSST 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; } Reading/calculating face velocity Uf No finite volume options present Courant Number mean: 0.0666728 max: 33.287 Starting time loop Courant Number mean: 0.0666728 max: 33.287 Time = 0.5 solidBodyMotionFunctions::rotatingMotion::transformation(): Time = 0.5 transformation: ((0 0 0) (0.999688 (0 0 0.0249974))) AMI: Creating addressing and weights between 158 source faces and 158 target faces AMI: Patch source sum(weights) min/max/average = 1, 1, 1 AMI: Patch target sum(weights) min/max/average = 1, 1, 1 smoothSolver: Solving for Ux, Initial residual = 1, Final residual = 1.20093e-05, No Iterations 1000 smoothSolver: Solving for Uy, Initial residual = 1, Final residual = 8.59644e-06, No Iterations 1000 --> FOAM FATAL ERROR: LHS and RHS of + have different dimensions dimensions : [0 3 -1 0 0 0 0] + [0 5 -1 0 0 0 0] From function operator+(const dimensionSet&, const dimensionSet&) in file dimensionSet/dimensionSet.C at line 478. FOAM aborting Thanks in adv. Bull |
|
March 25, 2016, 06:24 |
|
#2 | |
Senior Member
|
The error message reports some problem about the dimensions.
Quote:
Code:
$> diff <PATH-TO-ANSA-CASE>/0/ <PATH-TO-BLOCKMESH-CASE>/0/ Regards, Tom |
||
March 25, 2016, 10:55 |
|
#3 |
Member
Gareth
Join Date: Jun 2010
Posts: 56
Rep Power: 16 |
Hi tom
Thank for the reply. I double checked and the p and U folders are the same in both cases. p = dimensions [0 2 -2 0 0 0 0]; U = dimensions [0 1 -1 0 0 0 0]; I made a duplicate of the pimplDyMesh solver and placed write outs to see exactly which "+ "was giving an error and where in the code this was. In pEqn.h lines 11-16 is where the solver pipes up about dimensions. Code:
surfaceScalarField phiHbyA ( "phiHbyA", (fvc::interpolate(HbyA) & mesh.Sf()) + rAUf*fvc::ddtCorr(U, phi) ) Thanks again for reading and replying. I am at a loss here. |
|
March 28, 2016, 07:15 |
|
#4 |
Member
Gareth
Join Date: Jun 2010
Posts: 56
Rep Power: 16 |
In my infinite ignorance i made a simple mistake.
Once i exported the mesh from ANSA i of course adjusted alot of the files to accommodate using pimpleDyMfoam. I however did not update the fvschemes file In short the error was my use of steadyState instead of Euler for the ddtSchemes section. apologies for he waste of time but its solved. Lesson learnt - - ALL FILES need to be adjusted/read/corrected when importing meshes. Cheers |
|
March 28, 2016, 09:04 |
|
#5 |
Senior Member
|
Glad to see it is sorted. We also use ANSA, but typically only export the mesh and copy all other case files from tutorials or previously run similar cases.
|
|
|
|