Okay, Bruno you were right: I was living in the illusion that the blocks topology could take advantage from the edges curvature (spline in my case) so I tried to define with just one block the helical sweep of each block face whose normal is in tangential direction (local x axis). Instead topology is built, as far as I understand, by only connecting the edges in the block's vertexes list with straight lines.
So I solved the negative volume error by defining 27 blocks instead of 9, sweeping on the helical path by only 120° and not 360° (sigh). Hassan, I did not get any error from the #codestream routines during blockmeshing. What errors did it show to you? Thank you both for your help Cheers Gianluca |
1 Attachment(s)
Hello Gianluc,
I am investigating the reasons of this error (log attached). It is strange error but it seems to be related to OpenFOAM version. I am not sure yet. I tried your code using two versions of OpenFOAM-2.3.x. The newer version (18th Jun 2015) is not working, however the older version (26th Feb) is fine. I will update both and recompile both to pinpoint the problem. Another possibility, maybe, it is related to gcc version. I will check that as well. Best wishes, Hassan |
I updated OpenFOAM-2.3.x, to check if this error due to any new commits. It seems not, because your blockMesh worked even with the updated OpenFOAM-2.3.x. Therefore I tried a third updated version of OpenFOAM-2.3.x on different system and I get the same error.
Now, I think (maybe), it is something related to GCC version because it worked with GCC-4.9.2 (Ubuntu 15.04) but it did not work with GCC-4.8.4 (Ubuntu 14.04LTS) nor GCC-4.7.3 (CentOS 6.5). Could you please check your GCC version? Bw, Hassan |
Hi Hassan,
here is the output of "gcc -v": gcc version 4.9.2 (Debian 4.9.2-10). The error you are getting seems to be strange to me because in my humble experience, normally the use of uninitialized array leads to a gcc warning, unless gcc is instructed to treat warnings as errors. Regards Gianluca |
Similar issues with #codeStream in openfoam8
I realize this is an old thread but thought I would try and revive it to ask a related question. I am using openfoam8 and #codeStream in blockMeshDict. The vertices are computing okay, but there are issues with the edges. It seems that the quoted response provided by hk318i to output the edge dictionary does not work anymore in openfoam8. Here is the loop in my code where i output each line:
Code:
//std::string v1, v2; Code:
--> FOAM FATAL IO ERROR: Thanks! Luca Quote:
|
It would helpful if you added in a full listing of the blockMeshDict that the code tried to create. From the error message, it looks like you have the wrong syntax for the arc command - check out section 5.3.1.2 in https://cfd.direct/openfoam/user-guide/v6-blockmesh/ and compare against what you have in your file.
Good luck! |
1 Attachment(s)
Here is the full blockMeshDict file, as well as a geometryInput file from the constant directory which is required for it to run. I am trying to recreate a previously generated blockMeshDict file with codeStream, so it can eventually be expanded. There is a commented out edges() dictionary in the file as well with hardcoded values, the blockMeshDict file fine runs with this edges dictionary. The boundaries are eliminated for use with paraFoam -block. Thanks for taking the time to look at this!
|
Could you also just include the Info output? I.e. from this, we can see the parsing of the previous lines and the line that it crashes on ... would be quicker than debugging your code.
|
One quick thing to consider - your codestream creates lists of vertices and then edges ... these need to be bracketed, and I don't see those brackets in your code. e.g.
Code:
vertices Code:
vertices (#codeStream |
Yes that makes sense, I apologize for the missing info. Here is the last line of my output including Info output for edges in the blockMeshDict I sent:
Code:
arc01(0.041 0 0) |
Quote:
Code:
vertices #codeStream Code:
38 |
Solved!
Yes thank you! With the brackets added, and also outputting the vertices as integers with spaces in between, everything works. Here is the final edges call with codeStream output for each point:
Code:
edges (#codeStream |
All times are GMT -4. The time now is 19:08. |