|
[Sponsors] |
[blockMesh] Openfoam: Meshing, where do my defaultFaces come from |
|
LinkBack | Thread Tools | Search this Thread | Display Modes |
December 5, 2018, 10:31 |
Openfoam: Meshing, where do my defaultFaces come from
|
#1 |
Member
Christophk
Join Date: Oct 2018
Posts: 33
Rep Power: 8 |
Hello,
I created a mesh. I think I definded every face, but somehow the blockMesh command creates defaultFaces. Can someone help me? I also attached Screenshots of the mesh, and the defaultFaces. I created a cylindrical mesh, with a whole in the middle. This hole is filled by a cuboid, and connects to the cylinder. Somehow the surface of the cuboid count towards default faces and I don't know why it isnt counted towards internal mesh. The points 0,7,11,15,19,23,27,31 (+32 for every layer, there are 2 additive layers) definde the cuboid. I created teh cylinder in eigth and the cuboid as a whole, so the coordinate directions of the cuboid and the cylinder don't match, maybe there is the reason I searched for. Does anyone see my mistake? |
|
December 5, 2018, 10:34 |
|
#2 |
Member
Christophk
Join Date: Oct 2018
Posts: 33
Rep Power: 8 |
Code:
convertToMeters 1; vertices ( (0.07 0 0) //0 (0.15 0 0) (0.5 0 0) (5 0 0) (3.5355 3.5355 0) (0.3536 0.3536 0) (0.106 0.106 0) (0.07 0.07 0) (0 5 0) //8 (0 0.5 0) (0 0.15 0) (0 0.07 0) (-3.5355 3.5355 0) (-0.3536 0.3536 0) (-0.106 0.106 0) (-0.07 0.07 0) (-5 0 0) //16 (-0.5 0 0) (-0.15 0 0) (-0.07 0 0) (-3.5355 -3.5355 0) (-0.3536 -0.3536 0) (-0.106 -0.106 0) (-0.07 -0.07 0) (0 -5 0) //24 (0 -0.5 0) (0 -0.15 0 ) (0 -0.07 0 ) (3.5355 -3.5355 0) (0.3536 -0.3536 0) (0.106 -0.106 0) (0.07 -0.07 0) (0.07 0 15) //32 (0.15 0 15) (0.5 0 15) (5 0 15) (3.5355 3.5355 15) (0.3536 0.3536 15) (0.106 0.106 15) (0.07 0.07 15) (0 5 15) //40 (0 0.5 15) (0 0.15 15) (0 0.07 15) (-3.5355 3.5355 15) (-0.3536 0.3536 15) (-0.106 0.106 15) (-0.07 0.07 15) (-5 0 15) //48 (-0.5 0 15) (-0.15 0 15) (-0.07 0 15) (-3.5355 -3.5355 15) (-0.3536 -0.3536 15) (-0.106 -0.106 15) (-0.07 -0.07 15) (0 -5 15) //56 (0 -0.5 15) (0 -0.15 15) (0 -0.07 15) (3.5355 -3.5355 15) (0.3536 -0.3536 15) (0.106 -0.106 15) (0.07 -0.07 15) (0.07 0 30) //64 (0.15 0 30) (0.5 0 30) (5 0 30) (3.5355 3.5355 30) (0.3536 0.3536 30) (0.106 0.106 30) (0.07 0.07 30) (0 5 30) //72 (0 0.5 30) (0 0.15 30) (0 0.07 30) (-3.5355 3.5355 30) (-0.3536 0.3536 30) (-0.106 0.106 30) (-0.07 0.07 30) (-5 0 30) //80 (-0.5 0 30) (-0.15 0 30) (-0.07 0 30) (-3.5355 -3.5355 30) (-0.3536 -0.3536 30) (-0.106 -0.106 30) (-0.07 -0.07 30) (0 -5 30) //88 (0 -0.5 30) (0 -0.15 30) (0 -0.07 30) (3.5355 -3.5355 30) (0.3536 -0.3536 30) (0.106 -0.106 30) (0.07 -0.07 30) ); blocks ( hex (7 15 23 31 39 47 55 63) (24 24 25) simpleGrading (1 1 0.01) hex (0 1 6 7 32 33 38 39) (5 12 25) simpleGrading (1 1 0.01) hex (1 2 5 6 33 34 37 38) (20 12 25) simpleGrading (1 1 0.01) hex (2 3 4 5 34 35 36 37) (9 12 25) simpleGrading (50 1 0.01) hex (7 6 10 11 39 38 42 43) (5 12 25) simpleGrading (1 1 0.01) hex (6 5 9 10 38 37 41 42) (20 12 25) simplegrading (1 1 0.01) hex (5 4 8 9 37 36 40 41) (9 12 25) simpleGrading (50 1 0.01) hex (11 10 14 15 43 42 46 47) (5 12 25) simpleGrading (1 1 0.01) hex (10 9 13 14 42 41 45 46) (20 12 25) simpleGrading (1 1 0.01) hex (9 8 12 13 41 40 44 45) (9 12 25) simpleGrading (50 1 0.01) hex (15 14 18 19 47 46 50 51) (5 12 25) simpleGrading (1 1 0.01) hex (14 13 17 18 46 45 49 50) (20 12 25) simpleGrading (1 1 0.01) hex (13 12 16 17 45 44 48 49) (9 12 25) simpleGrading (50 1 0.01) hex (19 18 22 23 51 50 54 55) (5 12 25) simpleGrading (1 1 0.01) hex (18 17 21 22 50 49 53 54) (20 12 25) simpleGrading (1 1 0.01) hex (17 16 20 21 49 48 52 53) (9 12 25) simpleGrading (50 1 0.01) hex (23 22 26 27 55 54 58 59) (5 12 25) simpleGrading (1 1 0.01) hex (22 21 25 26 54 53 57 58) (20 12 25) simpleGrading (1 1 0.01) hex (21 20 24 25 53 52 56 57) (9 12 25) simpleGrading (50 1 0.01) hex (27 26 30 31 59 58 62 63) (5 12 25) simpleGrading (1 1 0.01) hex (26 25 29 30 58 57 61 62) (20 12 25) simpleGrading (1 1 0.01) hex (25 24 28 29 57 56 60 61) (9 12 25) simpleGrading (50 1 0.01) hex (31 30 1 0 63 62 33 32) (5 12 25) simplegrading (1 1 0.01) hex (30 29 2 1 62 61 34 33) (20 12 25) simpleGrading (1 1 0.01) hex (29 28 3 2 61 60 35 34) (9 12 25) simpleGrading (50 1 0.01) hex (39 47 55 63 71 79 87 95) (24 24 25) simpleGrading (1 1 100) hex (32 33 38 39 64 65 70 71) (5 12 25) simpleGrading (1 1 100) hex (33 34 37 38 65 66 69 70) (20 12 25) simpleGrading (1 1 100) hex (34 35 36 37 66 67 68 69) (9 12 25) simpleGrading (50 1 100) hex (39 38 42 43 71 70 74 75) (5 12 25) simpleGrading (1 1 100) hex (38 37 41 42 70 69 73 74) (20 12 25) simplegrading (1 1 100) hex (37 36 40 41 69 68 72 73) (9 12 25) simpleGrading (50 1 100) hex (43 42 46 47 75 74 78 79) (5 12 25) simpleGrading (1 1 100) hex (42 41 45 46 74 73 77 78) (20 12 25) simpleGrading (1 1 100) hex (41 40 44 45 73 72 76 77) (9 12 25) simpleGrading (50 1 100) hex (47 46 50 51 79 78 82 83) (5 12 25) simpleGrading (1 1 100) hex (46 45 49 50 78 77 81 82) (20 12 25) simpleGrading (1 1 100) hex (45 44 48 49 77 76 80 81) (9 12 25) simpleGrading (50 1 100) hex (51 50 54 55 83 82 86 87) (5 12 25) simpleGrading (1 1 100) hex (50 49 53 54 82 81 85 86) (20 12 25) simpleGrading (1 1 100) hex (49 48 52 53 81 80 84 85) (9 12 25) simpleGrading (50 1 100) hex (55 54 58 59 87 86 90 91) (5 12 25) simpleGrading (1 1 100) hex (54 53 57 58 86 85 89 90) (20 12 25) simpleGrading (1 1 100) hex (53 52 56 57 85 84 88 89) (9 12 25) simpleGrading (50 1 100) hex (59 58 62 63 91 90 94 95) (5 12 25) simpleGrading (1 1 100) hex (58 57 61 62 90 89 93 94) (20 12 25) simpleGrading (1 1 100) hex (57 56 60 61 89 88 92 93) (9 12 25) simpleGrading (50 1 100) hex (63 62 33 32 95 94 65 64) (5 12 25) simplegrading (1 1 100) hex (62 61 34 33 94 93 66 65) (20 12 25) simpleGrading (1 1 100) hex (61 60 35 34 93 92 67 66) (9 12 25) simpleGrading (50 1 100) ); |
|
December 5, 2018, 10:36 |
|
#3 |
Member
Christophk
Join Date: Oct 2018
Posts: 33
Rep Power: 8 |
Code:
edges ( arc 1 6 (0.140954 0.051303 0) arc 6 10 (0.051303 0.140954 0) arc 10 14 (-0.051303 0.140954 0) arc 14 18 (-0.140954 0.051303 0) arc 18 22 (-0.140954 -0.051303 0) arc 22 26 (-0.051303 -0.140954 0) arc 26 30 (0.051303 -0.140954 0) arc 30 1 (0.140954 -0.051303 0) arc 2 5 (0.469846 0.171010 0) arc 5 9 (0.171010 0.469846 0) arc 9 13 (-0.171010 0.469846 0) arc 13 17 (-0.469846 0.171010 0) arc 17 21 (-0.469846 -0.171010 0) arc 21 25 (-0.171010 -0.469846 0) arc 25 29 (0.171010 -0.469846 0) arc 29 2 (0.469846 -0.171010 0) arc 3 4 (4.698463 1.710101 0) arc 4 8 (1.710101 4.698463 0) arc 8 12 (-1.710101 4.698463 0) arc 12 16 (-4.698463 1.710101 0) arc 16 20 (-4.698463 -1.710101 0) arc 20 24 (-1.710101 -4.698463 0) arc 24 28 (1.710101 -4.698463 0) arc 28 3 (4.698463 -1.710101 0) arc 33 38 (0.140954 0.051303 15) arc 38 42 (0.051303 0.140954 15) arc 42 46 (-0.051303 0.140954 15) arc 46 50 (-0.140954 0.051303 15) arc 50 54 (-0.140954 -0.051303 15) arc 54 58 (-0.051303 -0.140954 15) arc 58 62 (0.051303 -0.140954 15) arc 62 33 (0.140954 -0.051303 15) arc 34 37 (0.469846 0.171010 15) arc 37 41 (0.171010 0.469846 15) arc 41 45 (-0.171010 0.469846 15) arc 45 49 (-0.469846 0.171010 15) arc 49 53 (-0.469846 -0.171010 15) arc 53 57 (-0.171010 -0.469846 15) arc 57 61 (0.171010 -0.469846 15) arc 61 34 (0.469846 -0.171010 15) arc 35 36 (4.698463 1.710101 15) arc 36 40 (1.710101 4.698463 15) arc 40 44 (-1.710101 4.698463 15) arc 44 48 (-4.698463 1.710101 15) arc 48 52 (-4.698463 -1.710101 15) arc 52 56 (-1.710101 -4.698463 15) arc 56 60 (1.710101 -4.698463 15) arc 60 35 (4.698463 -1.710101 15) arc 65 70 (0.140954 0.051303 30) arc 70 74 (0.051303 0.140954 30) arc 74 78 (-0.051303 0.140954 30) arc 78 82 (-0.140954 0.051303 30) arc 82 86 (-0.140954 -0.051303 30) arc 86 90 (-0.051303 -0.140954 30) arc 90 94 (0.051303 -0.140954 30) arc 94 65 (0.140954 -0.051303 30) arc 66 69 (0.469846 0.171010 30) arc 69 73 (0.171010 0.469846 30) arc 73 77 (-0.171010 0.469846 30) arc 77 81 (-0.469846 0.171010 30) arc 81 85 (-0.469846 -0.171010 30) arc 85 89 (-0.171010 -0.469846 30) arc 89 93 (0.171010 -0.469846 30) arc 93 66 (0.469846 -0.171010 30) arc 67 68 (4.698463 1.710101 30) arc 68 72 (1.710101 4.698463 30) arc 72 76 (-1.710101 4.698463 30) arc 76 80 (-4.698463 1.710101 30) arc 80 84 (-4.698463 -1.710101 30) arc 84 88 (-1.710101 -4.698463 30) arc 88 92 (1.710101 -4.698463 30) arc 92 67 (4.698463 -1.710101 30) ); boundary ( inlet { type patch; faces ( (7 15 23 31) (0 1 6 7) (1 2 5 6) (2 3 4 5) (7 6 10 11) (6 5 9 10) (5 4 8 9) (11 10 14 15) (10 9 13 14) (9 8 12 13) (15 14 18 19) (14 13 17 18) (13 12 16 17) (19 18 22 23) (18 17 21 22) (17 16 20 21) (23 22 26 27) (22 21 25 26) (21 20 24 25) (27 26 30 31) (26 25 29 30) (25 24 28 29) (31 30 1 0) (30 29 2 1) (29 28 3 2) ); } outlet { type patch; faces ( (71 79 87 95) (64 65 70 71) (65 66 69 70) (66 67 68 69) (71 70 74 75) (70 69 73 74) (69 68 72 73) (75 74 78 79) (74 73 77 78) (73 72 76 77) (79 78 82 83) (78 77 81 82) (77 76 80 81) (83 82 86 87) (82 81 85 86) (81 80 84 85) (87 86 90 91) (86 85 89 90) (85 84 88 89) (91 90 94 95) (90 89 93 94) (89 88 92 93) (95 94 65 64) (94 93 66 65) (93 92 67 66) ); } DISK_MANTLE { type wall; faces ( (3 35 36 4 ) (4 36 40 8 ) (8 40 44 12 ) (12 44 48 16) (16 48 52 20) (20 52 56 24) (24 56 60 28) (28 60 35 3 ) (35 67 68 36) (36 68 72 40) (40 72 76 44) (44 76 80 48) (48 80 84 52) (52 84 88 56) (56 88 92 60) (60 92 67 35) ); } ); mergePatchPairs ( ); |
|
December 7, 2018, 12:56 |
|
#4 |
Member
Christophk
Join Date: Oct 2018
Posts: 33
Rep Power: 8 |
Hasn't anyone any idea?
|
|
December 7, 2018, 13:32 |
|
#5 |
Senior Member
anonymous
Join Date: Jan 2016
Posts: 416
Rep Power: 14 |
Hi!
The neighbouring faces of the blocks must be identical. You can see in the attached figure that the faces of the blocks are different. So they will be boundary patches, and since they are not defined, they will go to the defaultFaces. Solutions: 1, split the middle block into 4 blocks. 2, Use mergePatchPairs (I have never used it but as I remember this can be used here, but I'm not sure because you have to connect 2 faces with one, so maybe the only solution is the first one.) |
|
December 7, 2018, 13:37 |
|
#6 |
Senior Member
anonymous
Join Date: Jan 2016
Posts: 416
Rep Power: 14 |
And you can do this whole mesh with only 5 blocks and multigrading. Or if your problem is axisymmetric you can do it with one wedge block. Less block, less typo, less problem.
|
|
December 7, 2018, 13:41 |
|
#7 |
Member
Christophk
Join Date: Oct 2018
Posts: 33
Rep Power: 8 |
Thanks for the reply.
Did you create this picture via paint, or is there any program which puts out such a picture? It can be helpful to see where which points are. I did use mergePatchpairs already. I already tried to split the middle block into four blocks. So for thre labels I already have in z-direction at 0,15, and 30 I created 3 new reference points at (0 0 0) (0 0 15), and (0 0 30). I just added those points at the end of the definition of points, so they are points 96,97 and 98. The I defined every of those new for blocks with point 96 (0 0 0) being the start of every block. But somehow openFoam couldnt successfully mesh it. I can do that? I am very new to openfoam, and tried it like this. Can you explain, how this would work? |
|
December 7, 2018, 14:01 |
|
#8 |
Senior Member
anonymous
Join Date: Jan 2016
Posts: 416
Rep Power: 14 |
In the attached picture you can see your blocking. Every block has different colour (at least different from the neighbouring ones).
Let's check your middle block (green one). It's top edge is between vertex 79 and 71. But its neighbour is not one, but two blocks. One between 79, and 75, and one between 75, and 71. (I know, i told faces and now I'm talking about lines, but it is easier to explain by these lines, and the problem is the same if you check the faces of the blocks.) And as I mentioned, in blockMesh every neighbouring block must have the same shared face. But here you have different faces. It should be fine if you split the middle block into four, but honestly you have soo much blocks, you can have a typo really easily. Here is some explanation about the other blocking strategy what I mentioned (attached picture). The dashed line is the edge made by the arc. I saw you already used it. Then you can use multigrading, explained here, in section "5.3.1.4 Multi-grading of a block": https://cfd.direct/openfoam/user-guide/v6-blockmesh/ |
|
December 7, 2018, 14:16 |
|
#9 |
Member
Christophk
Join Date: Oct 2018
Posts: 33
Rep Power: 8 |
So my problem is, that 2 faces border to 1 face of the cuboid.
With the new blocking strategy I would need 4 points to make 1 circle. In my mesh I got 3 circles at certain positions( radii : 0.015,0.5 ,5), which makes me needing at least 13 blocks, if I am not mistaken. As far as I understood multigrading, its makes cells getting smaller. For example if you use simplegrading (2 1 1) Does it mean, that the cells will halve from cell to cell or that the last cell in the mesh in x-direction will be the half of the first cell? Can I use the multigrading to get exactly this 3 radii? Another part is that the cellsize is shrinking towards the middle from both sides, can I adjust the mesh, so that it will firstly shrink and then at a certain point expand the cellsizes in just one block? |
|
December 7, 2018, 14:21 |
|
#10 |
Senior Member
anonymous
Join Date: Jan 2016
Posts: 416
Rep Power: 14 |
Yes, you are correct.
But before you spend too much time with it i suggest you to just create one single cube block and try multigrading on it. You can define the length ratio of the differently graded parts, for every part you can define how much cell should be in that part, then you can define different gradings for every parts. Code:
blocks ( hex (0 1 2 3 4 5 6 7) (100 300 100) simpleGrading ( 1 // x-direction expansion ratio ( (0.2 0.3 4) // 20% y-dir, 30% cells, expansion = 4 (0.6 0.4 1) // 60% y-dir, 40% cells, expansion = 1 (0.2 0.3 0.25) // 20% y-dir, 30% cells, expansion = 0.25 (1/4) ) 3 // z-direction expansion ratio ) ); |
|
December 7, 2018, 15:46 |
|
#11 |
Member
Christophk
Join Date: Oct 2018
Posts: 33
Rep Power: 8 |
Ah okay, I see how it could work, I will try it myself tomorrow, thanks a lot.
If I delete the defaultFaces, that would lead to a bad simulation right? Another question would be the coordinate directions, do they have to match? When I define a block with hex, I got from the 2nd tutorial (platehole) from the openfoam-guide the idea, that there is defined a x1-direction from the first to the 2nd points mentioned, then from the 2nd to the 3rd point there will be x2-direction. Do I have to worry about those local coordinat directions? I have another question, maybe you can help me with that as well. In the middle of the cylinder at the z-layer 15, where the mesh is very fine, I want to know the cell IDs of the cells which are at the inner circle with the radius of 0.015 to 0.5. I want to add a force at those exact cells. How can I obtain them? I saw a possibility to make it work with cellzones, btu I didn't get it working. I hope the graphic makes clear which part I need. In teh upper part the part is marked in dark brown. Below you can see the cells I need to add forces to. It is 1 cell in z-direction from the middle. |
|
December 7, 2018, 18:53 |
|
#12 |
Senior Member
anonymous
Join Date: Jan 2016
Posts: 416
Rep Power: 14 |
Delete:
Yes. If you delete them the solver will probably fail when it will try to read the mesh. Coordinates: No, they will be local coordinates, but you should be consequent, and it must be a right handed coordinate system. (If you create a left handed coordinate, you will have negative cell volumes.) For example the x could be the radial, y tangential, z axial coordinate for every block. Or as you wish, but if you follow a rule it'll be easier to set the proper spacing. But if you define them randomly (they must be still right handed coordinates), it'll be still good but it will be painful to figure out the coordinates. Middle cells: Yes, the easiest way is topoSet. Here is an example dict with every (maybe not every) possible options: https://github.com/OpenFOAM/OpenFOAM...ed/topoSetDict You will need a cellSet, more exactly line 117. This will select the cells with cell centre in the given cylinder. At the end of the file (line 415) you can find the actual dict entries. You should modify this part of the file, using the lines from 117. You can select the cells in the outer cylinder, then you can subtract the inner cylinder cells, and then you can convert it into cellZones and you are done. Then you can use these cells. If you can't solve it, then try again, and again, and then if you still have problems you can ask me for help but you should play with this a bit, so later it'll be much easier. |
|
December 8, 2018, 09:41 |
|
#13 |
Member
Christophk
Join Date: Oct 2018
Posts: 33
Rep Power: 8 |
Hey thanks, for your help.
Is cylinderToCell some command I can run inside the terminal, or do I have to write inside of some file, like blockMeshDict or something? I'll have a go at manipulating the file you showed me, thanks a lot |
|
December 8, 2018, 12:40 |
|
#14 |
Senior Member
anonymous
Join Date: Jan 2016
Posts: 416
Rep Power: 14 |
Nope. topoSet is the utility what you have to run in the terminal. And it will read the topoSetDict what you should put into the system folder. And in the topoSetDict you can define the actions what the utility will do.
For example: Code:
actions ( // Example:pick up cells inside a cylinder // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Get all cells with cell centre inside the cylinder, this is the 1st action { name c0; // name, up to you type cellSet; // This will be a cellSet action new; // This is a new cellSet, you can find details about this entry at the beginning of the previously attached file. source cylinderToCell; // source type sourceInfo // source Info { p1 (0.2 0.2 -10); // start point on cylinder axis p2 (0.2 0.2 0); // end point on cylinder axis radius 5.0; } } // create cellZone from cellSet. This is the 2nd action { name c0; // name, up to you. It can be the same since previously we defined a cellSet, and this is a cellZone type cellZoneSet; // type action new; // This is a new cellZone source setToCellZone; // source type. We create a cellZone from a set sourceInfo { set c0; // Name of the cellSet for source } } ); You will need nearly the same, but before you create the zone from the set, you have to delete the cells from the cellSet inside the inner cylinder, so you will have to add one more action after the first one. |
|
December 8, 2018, 15:06 |
|
#15 |
Member
Christophk
Join Date: Oct 2018
Posts: 33
Rep Power: 8 |
Thank you again, I'll try to implement it.
If you're interested in an update. I created the mesh now due to your help and there are no defaultFaces anymore.Thank you! |
|
December 9, 2018, 11:48 |
|
#16 |
Member
Christophk
Join Date: Oct 2018
Posts: 33
Rep Power: 8 |
Hi I created cellZones in the way I wished to.
I got a question on that regard. You suggested me to creat 2 cellsets and substract one from the other. But I didn't find a way how to do it. Then I found the command cellAnnulusToCell, which defines inner and outer radius. Did you have a certain way of subtracting one cellSet from another, in case I may need it some time? Again thank you, for all the help |
|
December 10, 2018, 05:18 |
|
#17 |
Senior Member
anonymous
Join Date: Jan 2016
Posts: 416
Rep Power: 14 |
Great! You are welcome!
You can use the "action delete;" option instead of "action new;". So you can delete the source from the given set. So: 1st action: action new. You create the set. 2nd action is made on the same set, but with the "action delete" and with a different source, so you delete the source from the previously created set. Another useful option is the "action subset;" which will get the common parts from the given set and the source set. Maybe it'll be useful in the future. |
|
December 10, 2018, 07:09 |
|
#18 |
Member
Christophk
Join Date: Oct 2018
Posts: 33
Rep Power: 8 |
Oh thanks a lot, I didn't know this action.
I have another question. Do you have any Idea how to add volume forces like torque or thrust to those cells? |
|
December 10, 2018, 07:56 |
|
#19 |
Senior Member
anonymous
Join Date: Jan 2016
Posts: 416
Rep Power: 14 |
I'll be honest!
I have no idea. I have never did this. Maybe you can do it with a semiImplicitSource or a codedSource or maybe there is a specific source for this problem. But this problem is far from meshing so you could ask it in a different topic for an answer. |
|
December 10, 2018, 08:21 |
|
#20 |
Member
Christophk
Join Date: Oct 2018
Posts: 33
Rep Power: 8 |
Thank you anyway, I will try it
|
|
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Frequently Asked Questions about Installing OpenFOAM | wyldckat | OpenFOAM Installation | 3 | November 14, 2023 12:58 |
Map of the OpenFOAM Forum - Understanding where to post your questions! | wyldckat | OpenFOAM | 10 | September 2, 2021 06:29 |
Cross-compiling OpenFOAM 1.7.0 on Linux for Windows 32 and 64bits with Mingw-w64 | wyldckat | OpenFOAM Announcements from Other Sources | 3 | September 8, 2010 07:25 |
Modified OpenFOAM Forum Structure and New Mailing-List | pete | Site News & Announcements | 0 | June 29, 2009 06:56 |
[Technical] Openfoam meshing | joegi | OpenFOAM Meshing & Mesh Conversion | 9 | July 2, 2008 02:33 |