|
[Sponsors] |
March 9, 2016, 05:00 |
|
#61 |
Senior Member
ok
Join Date: Oct 2013
Posts: 346
Rep Power: 13 |
Hi Wojciech,
I'm still working to solve the problem, error that I got now, I think it is time stepping error. I solved that error by changing mesh and some in BCs. Send me your case files, If you wish to have a look. Kind regards Maimouna |
|
March 11, 2016, 11:41 |
|
#62 |
Senior Member
ok
Join Date: Oct 2013
Posts: 346
Rep Power: 13 |
Hello everybody,
since I found some difficulties in that case and even I tried lots of blockMeshDict files, I think meshing is still the problem. So, I generated mesh using Gmsh and I hope it will work; fingers crossed. So, how Allrun scriptes for both fluid and solid will be changed from blockMesh utility to gmshToFoam? Allrun for fluid Code:
#!/bin/sh # Source tutorial run functions . $WM_PROJECT_DIR/bin/tools/RunFunctions # Get application name application=`getApplication` runApplication -l log.blockMesh.solid blockMesh -region solid runApplication -l log.setSet.solid setSet -case ../solid -batch ../solid/setBatch runApplication -l log.setToZones.solid setsToZones -case ../solid -noFlipMap runApplication blockMesh runApplication setSet -batch setBatch runApplication setsToZones -noFlipMap # Build hronTurekReport function object wmake libso ../hronTurekReport runApplication $application # ----------------------------------------------------------------- end-of-file Code:
#!/bin/sh # Source tutorial run functions . $WM_PROJECT_DIR/bin/tools/RunFunctions # Get application name application=`getApplication` runApplication blockMesh runApplication setSet -batch setBatch runApplication setsToZones -noFlipMap runApplication $application # ----------------------------------------------------------------- end-of-file Code:
blockMesh with gmshToFoam Kind regards Maimouna |
|
March 12, 2016, 11:59 |
|
#63 |
New Member
Wojciech Gołąbek
Join Date: Dec 2013
Posts: 29
Rep Power: 12 |
Hi Maimouna,
I'm not sure why you want to have two Allrun files. You can write this in one Allrun from fluid file (It would be worth to check the Allrun script from icoFsiElasticNonLinULSolidFoam). In other hand you can simply use terminal in fluid and solid folder to convert Gmsh -> FOAM before using Allrun script. Best regards, Wojciech |
|
March 15, 2016, 09:42 |
|
#64 |
Senior Member
ok
Join Date: Oct 2013
Posts: 346
Rep Power: 13 |
Thanks Wojciech. How did you grid your mesh in your case blockMeshDict or Gmsh?
I'm trying both, but no one of them works for me till now, I'm afraid. Best regards Maimouna |
|
March 16, 2016, 09:44 |
3D Elastic Cantilever Beam Attached to cylinder
|
#65 |
Senior Member
ok
Join Date: Oct 2013
Posts: 346
Rep Power: 13 |
Hi all,
I tried to attached my case but unfortunately that's failed because of the size, so I'm trying to attached it without mesh files which are shown below fluid.geo Code:
cl1 = 0.5; cl2 = 0.2; Point(1) = {0, 0, 0, cl1}; Point(2) = {20, 0, 0, cl1}; // Point(3) = {0, 11, 0, cl1}; Point(4) = {20, 11, 0, cl1}; Point(11) = {0, 0, 11, cl1}; Point(12) = {20, 0, 11, cl1}; Point(13) = {0, 11, 11, cl1}; Point(14) = {20, 11, 11, cl1}; Line(1) = {1, 11}; Line(2) = {11, 12}; Line(3) = {12, 2}; Line(4) = {2, 1}; Line(5) = {13, 14}; Line(6) = {14, 4}; Line(7) = {4, 3}; Line(8) = {3, 13}; Line(9) = {11, 13}; Line(10) = {12, 14}; Line(11) = {2, 4}; Line(12) = {1, 3}; Line Loop(13) = {1, 2, 3, 4}; Plane Surface(14) = {13}; Line Loop(15) = {8, 5, 6, 7}; Plane Surface(16) = {15}; Line Loop(17) = {1, 9, -8, -12}; Plane Surface(18) = {17}; Line Loop(19) = {3, 11, -6, -10}; Plane Surface(20) = {19}; Line Loop(21) = {2, 10, -5, -9}; Plane Surface(22) = {21}; Line Loop(23) = {4, 12, -7, -11}; Plane Surface(24) = {23}; Point(101) = {5, 5, 4, cl2}; Point(102) = {6, 5, 4, cl2}; //thickness of plate is 0.1 Point(103) = {6, 5+0.45, 4, cl2}; Point(104) = {6, 5+0.55, 4, cl2}; Point(105) = {6, 6, 4, cl2}; Point(106) = {5, 6, 4, cl2}; For i In {1:5} Line(100+i) = {100+i, 100+i+1}; EndFor Line(106) = {106, 101}; Line Loop(111) = {101, 102, 103, 104, 105, 106}; Plane Surface(111) = {111}; Point(113) = {6+4, 5+0.45, 4, cl2}; Point(114) = {6+4, 5+0.55, 4, cl2}; Line(113) = {103, 113}; Line(114) = {104, 114}; Line(115) = {113, 114}; Line Loop(116) = {103, 114, -115, -113}; Plane Surface(117) = {116}; vo1[]={Extrude {0, 0, 3} {Surface{111, 117};} }; Surface Loop(172) = {18, 14, 22, 20, 24, 16}; Surface Loop(173) = {170, 117, 162, 166, 171, 148, 111, 128, 132, 149, 140, 144}; Volume(174) = {172, 173}; Physical Surface("inlet") = {18}; Physical Surface("outlet") = {20}; Physical Surface("top") = {16}; Physical Surface("bottom") = {14}; Physical Surface("front") = {22}; Physical Surface("back") = {24}; Physical Surface("cylinder") = {128, 148, 111, 149, 144, 132}; Physical Surface("interface") = {166, 140, 117, 162, 170, 171}; Physical Volume("mesh") = {174}; Coherence; Code:
cl2=0.2; Point(103) = {6, 5+0.45, 4, cl2}; Point(104) = {6, 5+0.55, 4, cl2}; Point(113) = {6+4, 5+0.45, 4, cl2}; Point(114) = {6+4, 5+0.55, 4, cl2}; Line(103) = {103, 104}; Line(113) = {103, 113}; Line(114) = {104, 114}; Line(115) = {113, 114}; Line Loop(116) = {113, 115, -114, -103}; Plane Surface(117) = {116}; vo1[]={Extrude {0, 0, 3} {Surface{117};} }; Surface Loop(172) = {138, 134, 117, 126, 139, 130}; Volume(173) = {172}; Physical Surface("interface") = {126, 134, 130}; Physical Surface("interfaceFix") = {138}; Physical Surface("front") = {117}; Physical Surface("back") = {139}; Physical Volume("mesh") = {173}; coherence; |
|
March 26, 2016, 13:53 |
|
#66 |
Retired Super Moderator
Bruno Santos
Join Date: Mar 2009
Location: Lisbon, Portugal
Posts: 10,975
Blog Entries: 45
Rep Power: 128 |
Greetings to all!
@Maimouna: I don't know how to use GMsh properly. All I could do were the following steps:
Best regards, Bruno
__________________
|
|
March 26, 2016, 18:50 |
|
#67 |
Senior Member
ok
Join Date: Oct 2013
Posts: 346
Rep Power: 13 |
Dear Bruno.
lots of thanks for your kind help. I also got the same error I'm afraid. But what about using blockMesh utility? Is it easy to use blockMeshDict file instead of geo files? I alraeady did that in the case attached, but also got error. Could you please check that for me please? Why the solver is blown up? Is it meshing problem? Sorry, I tried blockMesh utility and Gmsh both what I knew for meshing, but unfortunately non of them are working. Many thanks in advanced. Maimouna |
|
March 27, 2016, 08:08 |
|
#68 |
Retired Super Moderator
Bruno Santos
Join Date: Mar 2009
Location: Lisbon, Portugal
Posts: 10,975
Blog Entries: 45
Rep Power: 128 |
Dear Maimouna,
The first problem I faced with your case was that there were no instructions on how to run it... here are the commands I used to get it to run: Code:
sed -i s/tcsh/sh/g *Links ./removeSerialLinks fluid solid ./makeSerialLinks fluid solid wclean libso setInletVelocity wmake libso setInletVelocity cd fluid ./Allclean ./Allrun Code:
Create time Create dynamic mesh for time = 0 Selecting dynamicFvMesh dynamicMotionSolverFvMesh Selecting motion solver: velocityLaplacian Selecting motion diffusion: quadratic Selecting motion diffusion: inverseDistance Reading stress mesh Creating fixed displacement boundary condition Creating traction displacement boundary conditions Creating fixed displacement boundary condition Creating fixed displacement boundary condition Selecting rheology model linearElastic Creating constitutive model Selecting coupling scheme Aitken Starting time loop Creating beamReport function object. History point ID: 315 History point coordinates: (10 6 0) Reference point coordinates: (10 7 0) Segmentation fault (core dumped) So I went to inspect the case in ParaView, using: Code:
paraFoam -nativeReader So I then went to inspect the fluid mesh (shown in image "fluid_mesh_has_too_much_stuff.png") and found that the part where the mesh should be have the space for the solid mesh... is occupied with already existing fluid mesh. This will not work. Then while trying to figure out which blocks should be removed from the fluid region, I meshed again with the following command in the fluid region: Code:
blockMesh -blockTopology Code:
Checking topology... Boundary definition 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" Best regards, Bruno
__________________
|
|
March 27, 2016, 18:06 |
|
#69 |
Senior Member
ok
Join Date: Oct 2013
Posts: 346
Rep Power: 13 |
Dear Bruno,
I went through both blockMeshDict files but I couldn't notice the problem. blocks,png shows the points and blocks in paraview. Is the way that I did for blockMesh is right? I'm worry about that because I have doubt that is wrong especially in the region of cylinder-interface-plate. If you could notice any error let me know please. Many thanks in advanced. Maimouna |
|
March 28, 2016, 08:15 |
|
#70 |
Retired Super Moderator
Bruno Santos
Join Date: Mar 2009
Location: Lisbon, Portugal
Posts: 10,975
Blog Entries: 45
Rep Power: 128 |
Hi Maimouna,
The problem is that the block "33 37 38 39" is invalid. The reason why it is invalid is because it is not able to match up with the other 4 blocks next to it. As you can see in the attached image "original_blockMesh.jpg", the blocks are all well defined. This is the block structure for the "fluid" region on the original tutorial case "HronTurekFsi3". Best regards, Bruno |
|
March 28, 2016, 15:26 |
|
#71 |
Senior Member
ok
Join Date: Oct 2013
Posts: 346
Rep Power: 13 |
Hi Bruno,
the attached picture shows the way that I did for blockMeshDict for the fluid part. It seems to me is not in the way that you attached in the last post for HronTurekFsi3 case. Could you please just give me some tips how to change my one to the way that you posted. Lots of thanks in advanced with regards. Maimouna |
|
March 28, 2016, 15:46 |
|
#72 |
Retired Super Moderator
Bruno Santos
Join Date: Mar 2009
Location: Lisbon, Portugal
Posts: 10,975
Blog Entries: 45
Rep Power: 128 |
Hi Maimouna,
Attached is the edited image that shows in red the 3 missing divisions. The 3 red dots show the 6 addition vertices that you need, in order to be able to have the correct blocks. edit: Once you have this "blockMeshDict" properly defined for the fluid region, I know of a way to reuse this mesh for the solid region. It will be easier to demonstrate as soon as you can provide the updated "blockMeshDict" file for the fluid region. Best regards, Bruno Last edited by wyldckat; March 28, 2016 at 15:48. Reason: see "edit:" |
|
March 28, 2016, 20:03 |
|
#73 |
Senior Member
ok
Join Date: Oct 2013
Posts: 346
Rep Power: 13 |
Dear Bruno,
I made some changes in the last attached picture, the new one is attached. According the attached picture the blockMeshDict for the fluid part is Code:
/*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 2.2.1 | | \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; format ascii; class dictionary; object blockMeshDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // convertToMeters 1; vertices ( //front vertecies (0 0 0) //vertex 0 (5 0 0) //vertex 1 (6 0 0) //vertex 2 (10 0 0)//vertex 3 (20 0 0) //vertex 4 (0 4 0) //vertex 5 (5 4 0) //vertex 6 (6 4 0) //vertex 7 (10 4 0) //vertex 8 (20 4 0) //vertex 9 (6 5.5 0) //vertex 10 (10 5.5 0) //vertex 11 (20 5.5 0) //vertex 12 (0 7 0) //vertex 13 (5 7 0) //vertex 14 (6 7 0) //vertex 15 (10 7 0) //vertex 16 (20 7 0) //vertex 17 (0 11 0) //vertex 18 (5 11 0)//vertex 19 (6 11 7) //vertex 20 (10 11 7) //vertex 21 (20 11 7) //vertex 22 //back vertices (0 0 11) //vertex 23 (5 0 11) //vertex 24 (6 0 11) //vertex 25 (10 0 11)//vertex 26 (20 0 11) //vertex 27 (0 4 11) //vertex 28 (5 4 11) //vertex 29 (6 4 11) //vertex 30 (10 4 11) //vertex 31 (20 4 11) //vertex 32 (6 5.5 11) //vertex 33 (10 5.5 11) //vertex 34 (20 5.5 11) //vertex 35 (0 7 11) //vertex 36 (5 7 11) //vertex 37 (6 7 11) //vertex 38 (10 7 11) //vertex 39 (20 7 11) //vertex 40 (0 11 11) //vertex 41 (5 11 11)//vertex 42 (6 11 11) //vertex 43 (10 11 11) //vertex 44 (20 11 11) //vertex 45 ); blocks ( hex (0 1 6 5 23 24 29 28) (50 50 10) simpleGrading (1 1 1) //block 0 hex (1 2 7 6 24 25 30 29) (50 50 10) simpleGrading (1 1 1) //block 1 hex (2 3 8 7 25 26 31 30) (50 50 10) simpleGrading (1 1 1) //block 2 hex (3 4 9 8 26 27 32 31) (50 50 10) simpleGrading (1 1 1) //block 3 hex (5 6 14 13 28 29 37 36) (50 50 10) simpleGrading (1 1 1) //block 4 hex (10 11 16 15 33 34 39 38) (50 50 10) simpleGrading (1 1 1) //block 5 hex (7 8 11 10 30 31 34 33) (50 50 10) simpleGrading (1 1 1) //block 6 hex (11 12 17 16 34 35 40 39) (50 50 10) simpleGrading (1 1 1) //block 7 hex (8 9 12 11 31 32 35 34) (50 50 10) simpleGrading (1 1 1) //block 8 hex (13 14 19 18 36 37 42 41) (50 50 10) simpleGrading (1 1 1) //block 9 hex (14 15 20 19 37 38 43 42) (50 50 10) simpleGrading (1 1 1) //block 10 hex (15 16 21 20 38 39 44 43) (50 50 10) simpleGrading (1 1 1) //block 11 hex (16 17 22 21 39 40 45 44) (50 50 10) simpleGrading (1 1 1) //block 12 ); edges ( ); boundary ( top { type wall; faces ( (18 41 42 19) (19 42 43 20) (20 43 44 21) (21 44 45 22) ); } bottom { type wall; faces ( (0 23 24 1) (1 24 25 2) (2 25 26 3) (3 26 27 4) ); } outlet { type patch; faces ( (4 27 32 9) (9 32 35 12) (12 35 40 17) (17 40 45 22) ); } inlet { type patch; faces ( (0 23 28 5) (5 28 36 13) (13 36 41 18) ); } cylinder { type wall; faces ( (6 29 37 14) (14 37 38 15) (15 38 33 10) (10 33 30 7) (7 30 29 6) ); } front { type symmetryPlane; faces ( (0 1 6 5) (1 2 7 6) (2 3 8 7) (3 4 9 8) (5 6 14 13) (10 11 16 15) (7 8 11 10) (11 12 17 16) (8 9 12 11) (13 14 19 18) (14 15 20 19) (15 16 21 20) (16 17 22 21) ); } back { type symmetryPlane; faces ( (23 24 29 28) (24 25 30 29) (25 26 31 30) (26 27 32 31) (28 29 37 36) (33 34 39 38) (30 31 34 33) (34 35 40 39) (31 32 35 34) (36 37 42 41) (37 38 43 42) (38 39 44 43) (39 40 45 44) ); } ); // ************************************************************************* // Code:
/*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 2.2.2 | | \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; format ascii; class dictionary; object blockMeshDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // convertToMeters 1;//dimensions in meters --> conversion 1 vertices ( (6 4 0) //vertex 7 (10 4 0) //vertex 8 (6 5.5 0) //vertex 10 (10 5.5 0) //vertex 11 (6 7 0) //vertex 15 (10 7 0) //vertex 16 (6 4 11) //vertex 30 (10 4 11) //vertex 31 (6 5.5 11) //vertex 33 (10 5.5 11) //vertex 34 (6 7 11) //vertex 38 (10 7 11) //vertex 39 ); blocks ( hex (0 1 3 2 6 7 9 8) (50 50 10) simpleGrading (1 1 1) hex (2 3 5 4 8 9 11 10) (50 50 10) simpleGrading (1 1 1) ); edges ( ); patches ( patch plateFix ( (0 2 8 6) (2 4 10 8) ) wall plate ( (0 1 7 6) (1 3 9 7) (3 5 11 9) (4 5 11 10) ) patch front ( (0 1 3 2) (2 3 5 4) ) patch back ( (6 7 9 8) (8 9 11 10) ) ); mergePatchPairs ( ); // ************************************************************************* // Kind regards Maimouna |
|
April 1, 2016, 03:02 |
|
#74 |
Senior Member
ok
Join Date: Oct 2013
Posts: 346
Rep Power: 13 |
Dear Bruno,
have you checked my last blockMeshDict files for both fluid and solid? What's the problem? Sorry for that but really getting confused. Many thanks in advanced. Maimouna |
|
April 3, 2016, 18:39 |
|
#75 |
Retired Super Moderator
Bruno Santos
Join Date: Mar 2009
Location: Lisbon, Portugal
Posts: 10,975
Blog Entries: 45
Rep Power: 128 |
Hi Maimouna,
Sorry, I had a terribly busy week and I didn't manage to look into this sooner. Attached is the file "blockMeshDict.fluid.gz", which is the blockMeshDict for the fluid region, that fixes a problem you had in vertices 20 to 22, where they were located at "Z = 7 m" instead of "Z = 0 m". Now, there is an important detail missing, which I noticed in post #42, where you provided two images: one for a beam and another for a foil. But from the drawings for "blockMeshDict" that you provided, I can't figure out which image from post #42 you're trying to reproduce. I ask this because you have 2 blocks repeated in both the fluid and the solid region, as shown in the attached image "fluid_vs_solid.png":
From what I can figure out, you're heading in the right direction with this, but this is an important detail that we need to be certain about: which case are you trying to reproduce? Because if the solid region is this big, then you will have problems in making such a large solid to wave around like a flag Best regards, Bruno
__________________
|
|
April 6, 2016, 10:57 |
|
#76 |
Senior Member
ok
Join Date: Oct 2013
Posts: 346
Rep Power: 13 |
Hi Bruno,
sorry for being late to update you, I was unwell. In the post #42, I'm trying to show both cases 2D and 3D what I'm studying. In 3D case, I'm trying the attached picture. Firstly, I started with the 2d case and extrude the mesh to 3d with some changes in the plate width because I need to see its twists, but that didn't work for me. In that didn't find the validate paper to see how could move from 2d to 3d, so I'm changing to the one which is attached because it is prepared for 3d. Last modified case is attached. But, it is still doesnt work. the log file gives this error Code:
/*---------------------------------------------------------------------------*\ | ========= | | | \\ / F ield | foam-extend: Open Source CFD | | \\ / O peration | Version: 3.1 | | \\ / A nd | Web: http://www.extend-project.de | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ Build : 3.1-f61aab88e799 Exec : fsiFoam Date : Apr 06 2016 Time : 15:13:36 Host : owner-HP-Pavilion-Sleekbook-15-PC PID : 4445 CtrlDict : /home/owner/foam/foam-extend-3.1/etc/controlDict Case : /home/owner/foam/owner-3.1/FluidStructureInteraction/run/fsiFoam/3dBeamInCrossFlowNew/fluid nProcs : 1 SigFpe : Enabling floating point exception trapping (FOAM_SIGFPE). // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // Create time Create dynamic mesh for time = 0 Selecting dynamicFvMesh dynamicMotionSolverFvMesh Selecting motion solver: velocityLaplacian Selecting motion diffusion: quadratic Selecting motion diffusion: inverseDistance Reading stress mesh Creating fixed displacement boundary condition Creating traction displacement boundary conditions Creating fixed displacement boundary condition Creating fixed displacement boundary condition Selecting rheology model linearElastic Creating constitutive model Selecting coupling scheme Aitken Starting time loop Creating beamReport function object. History point ID: 31160 History point coordinates: (10 7 0) Reference point coordinates: (10 7 0) Seting inlet velocity Umax = 0.00489435 Time = 0.1 Create extended GGI zone-to-zone interpolator Checking fluid-to-solid face interpolator Fluid-to-solid face interpolation error: 16.0622 Checking solid-to-fluid point interpolator (GGI) Extended GGI, master point distance, max: 1e+15, avg: 1e+15, min: 1e+15 Extended GGI, master point orientation (<0), max: 1.32245e-315, min: -1.32245e-315, nIncorrectPoints: 2750/2750 --> FOAM FATAL ERROR: Master point addressing is not correct From function ExtendedGGIInterpolation::masterToSlavePointInterpolate(const Field<Type> pf) in file ./numerics/ggi/ExtendedGGIInterpolation/ExtendedGGIInterpolation.C at line 703. FOAM aborting Aborted (core dumped) Have a look please Bruno and let me know your comments. Best regards Maimouna |
|
April 7, 2016, 08:07 |
|
#77 |
Senior Member
ok
Join Date: Oct 2013
Posts: 346
Rep Power: 13 |
Dear Bruno,
looking to the attached two pictures (3D case.png and paraview.shows.png), I think, we could notice the problem is because the wide of the foil (plate). As in the paper, the thickness of the plate is only 0.01 m. Now, how could change blockMeshDict for the soild to make it as in the original case in the attached picture? Any help please, I did lots of tryings but no one was working, I'm afraid. Any idea and/or help, I really appreciated. lots of thanks in advanced. Maimouna |
|
April 7, 2016, 08:11 |
|
#78 |
Senior Member
ok
Join Date: Oct 2013
Posts: 346
Rep Power: 13 |
Sorry, the attached pictures are here.
Regards Maimouna |
|
April 7, 2016, 19:40 |
|
#79 |
New Member
Wojciech Gołąbek
Join Date: Dec 2013
Posts: 29
Rep Power: 12 |
Hi Maimouna,
I'm not sure if I good understand your question but the you only need to change correct vertices position. ex.:beamInCrossFlow Code:
/*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | foam-extend: Open Source CFD | | \\ / O peration | Version: 3.0 | | \\ / A nd | Web: http://www.extend-project.de | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; format ascii; class dictionary; object blockMeshDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // convertToMeters 1; vertices ( //Level 0 (0 0 0) //0 (0.45 0 0) //1 (0.55 0 0) //2+ (1.5 0 0) //3 (1.5 0 -0.2)//4 (0.55 0 -0.2)//5+ (0.45 0 -0.2)//6 (0 0 -0.2) //7 (0 0 -0.4) //8 (0.45 0 -0.4)//9 (0.55 0 -0.4)//10+ (1.5 0 -0.4) //11 //Level 1 (0 0.2 0) //12 (0.45 0.2 0) //13 (0.55 0.2 0) //14+ (1.5 0.2 0) //15 (1.5 0.2 -0.2)//16 (0.55 0.2 -0.2)//17+ (0.45 0.2 -0.2)//18 (0 0.2 -0.2) //19 (0 0.2 -0.4) //20 (0.45 0.2 -0.4) //21 (0.55 0.2 -0.4) //22+ (1.5 0.2 -0.4) //23 //Level 2 (0 0.4 0) //24 (0.45 0.4 0) //25 (0.55 0.4 0) //26+ (1.5 0.4 0) //27 (1.5 0.4 -0.2) //28 (0.55 0.4 -0.2)//29+ (0.45 0.4 -0.2)//30 (0 0.4 -0.2) //31 (0 0.4 -0.4) //32 (0.45 0.4 -0.4)//33 (0.55 0.4 -0.4)//34+ (1.5 0.4 -0.4)//35 ); Best regards Wojciech Last edited by wyldckat; April 10, 2016 at 15:26. Reason: Changed [QUOTE][/QUOTE] to [CODE][/CODE] |
|
April 16, 2016, 06:03 |
|
#80 |
Senior Member
ok
Join Date: Oct 2013
Posts: 346
Rep Power: 13 |
Dear both Bruno and Wojciech,
Wojciech: many thanks for your explanation, I'm really appreciated, but my case is slightly different from your posted blockMeshDict. In my case, blockMeshDict for the fluid is Code:
/*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 2.2.1 | | \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; format ascii; class dictionary; object blockMeshDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // convertToMeters 1; vertices ( //front vertecies (0 0 0) //vertex 0 (5 0 0) //vertex 1 (6 0 0) //vertex 2 (10 0 0)//vertex 3 (20 0 0) //vertex 4 (0 4 0) //vertex 5 (5 4 0) //vertex 6 (6 4 0) //vertex 7 (10 4 0) //vertex 8 (20 4 0) //vertex 9 (6 5.5 0) //vertex 10 (10 5.5 0) //vertex 11 (20 5.5 0) //vertex 12 (0 7 0) //vertex 13 (5 7 0) //vertex 14 (6 7 0) //vertex 15 (10 7 0) //vertex 16 (20 7 0) //vertex 17 (0 11 0) //vertex 18 (5 11 0)//vertex 19 (6 11 0) //vertex 20 (10 11 0) //vertex 21 (20 11 0) //vertex 22 //back vertices (0 0 11) //vertex 23 (5 0 11) //vertex 24 (6 0 11) //vertex 25 (10 0 11)//vertex 26 (20 0 11) //vertex 27 (0 4 11) //vertex 28 (5 4 11) //vertex 29 (6 4 11) //vertex 30 (10 4 11) //vertex 31 (20 4 11) //vertex 32 (6 5.5 11) //vertex 33 (10 5.5 11) //vertex 34 (20 5.5 11) //vertex 35 (0 7 11) //vertex 36 (5 7 11) //vertex 37 (6 7 11) //vertex 38 (10 7 11) //vertex 39 (20 7 11) //vertex 40 (0 11 11) //vertex 41 (5 11 11)//vertex 42 (6 11 11) //vertex 43 (10 11 11) //vertex 44 (20 11 11) //vertex 45 ); blocks ( hex (0 1 6 5 23 24 29 28) (50 50 10) simpleGrading (1 1 1) //block 0 hex (1 2 7 6 24 25 30 29) (50 50 10) simpleGrading (1 1 1) //block 1 hex (2 3 8 7 25 26 31 30) (50 50 10) simpleGrading (1 1 1) //block 2 hex (3 4 9 8 26 27 32 31) (50 50 10) simpleGrading (1 1 1) //block 3 hex (5 6 14 13 28 29 37 36) (50 50 10) simpleGrading (1 1 1) //block 4 hex (10 11 16 15 33 34 39 38) (50 50 10) simpleGrading (1 1 1) //block 5 hex (7 8 11 10 30 31 34 33) (50 50 10) simpleGrading (1 1 1) //block 6 hex (11 12 17 16 34 35 40 39) (50 50 10) simpleGrading (1 1 1) //block 7 hex (8 9 12 11 31 32 35 34) (50 50 10) simpleGrading (1 1 1) //block 8 hex (13 14 19 18 36 37 42 41) (50 50 10) simpleGrading (1 1 1) //block 9 hex (14 15 20 19 37 38 43 42) (50 50 10) simpleGrading (1 1 1) //block 10 hex (15 16 21 20 38 39 44 43) (50 50 10) simpleGrading (1 1 1) //block 11 hex (16 17 22 21 39 40 45 44) (50 50 10) simpleGrading (1 1 1) //block 12 ); edges ( ); boundary ( top { type wall; faces ( (18 41 42 19) (19 42 43 20) (20 43 44 21) (21 44 45 22) ); } bottom { type wall; faces ( (0 23 24 1) (1 24 25 2) (2 25 26 3) (3 26 27 4) ); } outlet { type patch; faces ( (4 27 32 9) (9 32 35 12) (12 35 40 17) (17 40 45 22) ); } inlet { type patch; faces ( (0 23 28 5) (5 28 36 13) (13 36 41 18) ); } cylinder { type wall; faces ( (6 29 37 14) (14 37 38 15) (15 38 33 10) (10 33 30 7) (7 30 29 6) ); } front { type symmetryPlane; faces ( (0 1 6 5) (1 2 7 6) (2 3 8 7) (3 4 9 8) (5 6 14 13) (10 11 16 15) (7 8 11 10) (11 12 17 16) (8 9 12 11) (13 14 19 18) (14 15 20 19) (15 16 21 20) (16 17 22 21) ); } back { type symmetryPlane; faces ( (23 24 29 28) (24 25 30 29) (25 26 31 30) (26 27 32 31) (28 29 37 36) (33 34 39 38) (30 31 34 33) (34 35 40 39) (31 32 35 34) (36 37 42 41) (37 38 43 42) (38 39 44 43) (39 40 45 44) ); } ); // ************************************************************************* // Code:
/*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 2.2.2 | | \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; format ascii; class dictionary; object blockMeshDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // convertToMeters 1;//dimensions in meters --> conversion 1 vertices ( (6 4 0) //vertex 0 (10 4 0) //vertex 1 (6 5.5 0) //vertex 2 (10 5.5 0) //vertex 3 (6 7 0) //vertex 4 (10 7 0) //vertex 5 (6 4 0.01) //vertex 6 (10 4 0.01) //vertex 7 (6 5.5 0.01) //vertex 8 (10 5.5 0.01) //vertex 9 (6 7 0.01) //vertex 10 (10 7 0.01) //vertex 11 ); blocks ( hex (0 1 3 2 6 7 9 8) (50 50 10) simpleGrading (1 1 1) hex (2 3 5 4 8 9 11 10) (50 50 10) simpleGrading (1 1 1) ); edges ( ); patches ( patch plateFix ( (0 2 8 6) (2 4 10 8) ) wall plate ( (0 1 7 6) (1 3 9 7) (3 5 11 9) (4 5 11 10) ) patch front ( (0 1 3 2) (2 3 5 4) ) patch back ( (6 7 9 8) (8 9 11 10) ) ); mergePatchPairs ( ); // ************************************************************************* // Another question please, is the plate part need to be in fluid meshing file or not? Many thanks in advanced. Maimouna |
|
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
[Other] mesh airfoil NACA0012 | anand_30 | OpenFOAM Meshing & Mesh Conversion | 13 | March 7, 2022 17:22 |
[blockMesh] error message with modeling a cube with a hold at the center | hsingtzu | OpenFOAM Meshing & Mesh Conversion | 2 | March 14, 2012 09:56 |
[blockMesh] BlockMesh FOAM warning | gaottino | OpenFOAM Meshing & Mesh Conversion | 7 | July 19, 2010 14:11 |
[blockMesh] Axisymmetrical mesh | Rasmus Gjesing (Gjesing) | OpenFOAM Meshing & Mesh Conversion | 10 | April 2, 2007 14:00 |
[Gmsh] Import gmsh msh to Foam | adorean | OpenFOAM Meshing & Mesh Conversion | 24 | April 27, 2005 08:19 |