CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   ANSYS Meshing & Geometry (https://www.cfd-online.com/Forums/ansys-meshing/)
-   -   [ICEM] SAE Reference Notchback Model Blocking Strategy (https://www.cfd-online.com/Forums/ansys-meshing/140190-sae-reference-notchback-model-blocking-strategy.html)

Crank-Shaft August 10, 2014 05:16

SAE Reference Notchback Model Blocking Strategy
 
5 Attachment(s)
Hello CFD Online,

I am about to start working on a research project involving a SAE 20 deg. notchback model as shown in the attached image. I have already searched through the forums and was unable to find a thread discussing this particular geometry, so I started a new thread.

Firstly, although this is similar to an Ahmed body there are some significant differences especially in the outer edges, which had fillets added and other tangency-driven profiles. I followed the tutorials and videos kindly uploaded by Far however the differences I've mentioned made it more challenging.

Some of the major problems encountered -
a) Additional splits were required in the longitudinal direction due to the fillets.
b) Blocking the triangular regions at the intersection between the fillets. This is near the A-pillar and the roof line. (IMAGE)
c) Blocking region with the diffuser. Is it a good idea to use index control and split the lower blocks under the car model just to associate with the small edges at the beginning of the diffuser kick angle? (IMAGE)

Geom and Blocking files

Thanks in advance for any comments or suggestions you may have.

Crank-Shaft August 12, 2014 10:44

2 Attachment(s)
Most of the flow domain has been blocked and I've completed associating and moving most of the points and edges to the desired locations. The blocking now conforms to the vehicle geometry except for the intersection between the fillets and the triangular patch on the frontal corner of the model.

I've attached the images here and I've been trying to create a Y-block for the frontal corner of the model, however I couldn't merge the existing vertices to do this.

I look forward to your suggestions. Please let me know if it is a good idea to create a Y-block here or whether other approaches would be more successful.

Crank-Shaft August 21, 2014 19:59

1 Attachment(s)
Hey everyone,

I am still trying to mesh this geometry and it has proven to be very challenging since I have no choice but to achieve a structured, multiblock mesh. This is a requirement of our computational code.

After several discussions with a few others working in CFD, I've decided that it's best to avoid Y-blocks at each of the intersection regions between the edge fillets. Eliminating these will also help us achieve greater scalability by further splitting the larger blocks for better load distribution on our HPC.

Hence, I've devised a new approach for the blocking of this domain as shown in the image. This shows just the edges of the vehicle model with white lines as the proposed block.

Please provide some guidelines on how to achieve this and whether they is a better method than what I currently have.

This is becoming quite urgent now so I would really appreciate the help with this.

kad August 23, 2014 18:39

2 Attachment(s)
The last image shows the correct approach for this kind of round corners. I made a quick bottom attempt and followed this strategy. In general I started with a surface mesh for the car and then build the rest by extruding faces, merging and moving nodes, etc . In the last step I added boundary layer ogrid around the car. Further it became pretty time consuming so I did not finish it:D.

The problem with the triangular surfaces were solved by putting edges in the middle of the triangular surface. This does not capture the geometry 100% but it should be sufficient with a reasonable fine mesh there (at least for a RANS). The diffusor is a real pain and I am not shure if this can be solved with hexa blocking. Your worst geometry angle determines the worst mesh angle. But there is not even a specific angle, it is like a continous transition. My only idea is to use triangular block, but this will result in pretty bad elements. If it is possible I would make a "real" angle out of it and use yblock. That is why I left the diffusor out and just made a closed surface out of it.

I have another idea for blocking and maybe I will try it out on monday. I have attached the tin and blk file but like I said it is very rough working version. Btw. your provided link contains only a parasolid file and no blk file.

Crank-Shaft August 23, 2014 23:10

1 Attachment(s)
Hello kad,

Thanks so much for your response. That looks a lot better than the one I currently have, as a work in-progress.

For the frontal corner, I tried to look for a feature which associates a point to
a surface, but it doesn't seem to work properly and doesn't 'snap project' on to
the corner patch.

You are right about the diffuser section and I might have to negotiate with others and try to either make the region larger (which might drastically affect the wake) or simply modify the transition to the underbody.

This is supposed to be a DES mesh and I will definitely work to make the wake and near-wall regions. Also wanted to ask - how did you make the splits that run along the length of the centreline of the fillets, on the roof line?
Also, how did you manage to make the single block on the lower part of the frontal corner patch? Is it only possible using a surface mesh and then extruding?

Sorry if some of this seems rather novice. I've attached my initial attempt here again and it would be great if anyone can suggest a way to improve the frontal section and the diffuser (which I've left intact).

THANK YOU

kad August 25, 2014 13:28

5 Attachment(s)
I took another shot at it and I think I at least have something you can work with. I hope it also answers your above questions. It is again bottom up approach that starts with 2D surface blocking for the symmetry. I found it more comfortable this way and it saves you some work.

First every point and curve that can help us are projected onto the symmetry plane surface. Further curves and points for the fillets are created (sae_geometry). Actually the hardest part ist to derive the correct blocking structure. I solved it the classical way with pen and paper:D. It is a little bit tricky because of the round corner with the triangular surface attached to it. The construction is shown in sae1-3. It is a simple structure with some vert merging. Sea4 shows the structure asscociate to the elements in the symmetry plane. So in 2D we are done already.

Now we create 3D blocking by using "Create Block -> 2D to 3D, Method Translate". The translation is performed in z-direction with the distance of the car's dimesion in z-direction(sae5). Association are made to curves and points and others are corrected because most of associations of the newly created edges are wrong. Time for another extrusion, this time by "Extruding faces". Now the whole 3D is blocked. It is a good idea here to improve some of the vert's postions by "set position" or whatever. Also the rest of the associations have to be done and you will get something like in sae6.

Ogrid time now. First we start with the one at the back of the car. This should be easy (sae7). Next comes the boundary layer ogrid. This one is a little more tricky. The option "ogrid around blocks" is very helpful here. In general pick every block in and behind the car and also the corresponding faces. That is also why the inner blocks were not deleted before. It makes selection easier. Sae8 shows the selection for blocks and faces. Sae9 shows the resulting boundary layer ogrid. Also some verts were moved in better positions.

Almost done. Now just convert the triangular blocks to y-blocks by "Edit block -> Change block type". Also the blocks inside the car are deleted. You may want to delete them permanently what gives you more freedom in distributing nodes. Both of these steps should be performed at the very end because they mess up the index control which makes the model much harder to handle. Sae10-11 show the final blocking. Worst angle is around 30 degrees due to the triangular surface, but some of the verts postions are not ideal there. I left them in default position.

I also attach tin and blk files. The blk files show roughly the work in progress.

kad August 25, 2014 13:29

5 Attachment(s)
More attachments:).

kad August 25, 2014 13:31

3 Attachment(s)
Even more:D.

Crank-Shaft August 26, 2014 09:08

2 Attachment(s)
Your work is absolutely fantastic!

Greatly appreciate all the detailed instructions. Conceptually, I knew how I wanted to decompose the domain and how to orient all the blocks, by pen and paper sketches, similar to yourself. However, prior to this, I never tried to use a bottom up approach in ICEM and I am finding it very useful so far.

I've just started a new project file, since I needed to modify the wind-tunnel test section dimensions. Instead of simply reusing the existing blocking and re-associating with the geometry, I am trying to follow your guide above with the bottom up approach and get some practice.

Thanks and I will post some progress images soon.

kad August 26, 2014 09:32

1 Attachment(s)
Great that it worked for you. I still have something that annoys me. Blocking in front of the car could be done a little better. Maybe you can work this out.

Far August 27, 2014 06:43

2 Attachment(s)
this is from top down approach. This is not a difficult model at all

http://www.cfd-online.com/Forums/att...5&d=1409135955

http://www.cfd-online.com/Forums/att...6&d=1409136138

Crank-Shaft September 1, 2014 02:18

1 Attachment(s)
Thank you guys so much for your advice and the files that you've shared.

I've tried to minimise the number of Y-blocks I used for this mesh since they
make it quite tricky for successive mesh refinement and any grid independence tests that I might undertake a bit later.

I've attached the latest iteration of the block and geometry file, which includes the longer, extended domain downstream of the vehicle body.
This is a very coarse version which I'm planning to use just for verification
and to test code functionality, since it's likely to be much quicker.

The latest issue I've encountered is as follows - The orientation of the blocks and the quality is very important and our research code actually gives warnings about degenerate or bad cells while reading the mesh. I've checked the following mesh criteria -
Determinant 2x2x2 = 0.765 to 1
Determinant 3x3x3 = 0.765 to 1
Equiangle Skewness = 0.333 to 1
Quality = 0.5 to 1

As expected, the worst, highly skewed cells are near the tip of the model and at the apex of the Y-block. However, based on this it doesn't seem like there are problems with negative Jacobians or degenerate cells.

Would you be able to suggest some further mesh quality checks or additional criteria that I could use to check that the mesh is perfect and fully functional?

Thanks again.

kad September 1, 2014 09:41

You might also check criterion "Volume Change". For optimal transition it should be between 1 and 2. Your maximum value is around 10.

Crank-Shaft September 10, 2014 22:16

1 Attachment(s)
Thanks for the suggestions kad and Far.

I have finally identified the source of my problem although the project is lagging behind by at least a week due to these issues. The aspect ratio, expansion/volume ratio, skewness and orthogonal quality were all within acceptable ranges however, it is actually the determinant or the cell Jacobian that's causing the errors.

I have corrected some of the errors on the half body, symmetric flow domain using Check Blocks > Run Check/Fix and > Fix Inverted Blocks.

Ultimately, I have also been trying to mirror the entire geometry and mesh about the symmetry plane. This led to a lot of issues with negative determinants, which I believe arose from the left-handed domain coordinates which arise.

I initially suspected that the negative Jacobians could be resulting from some overlapping or unresolved geometry at the symmetry plane once it mirrors however, it seems to happen due to incorrect specification of the "Reflection Plane" and the "Index Flip" features.

So far I've tried the following -
* When the pre-mesh was converted to multiblock mesh, it was done with the "SYM" part active however, when the mesh was transformed for the other, reflected side, it was deactivated in the tree. (This was done to avoid the possibility of overlaps or duplicated subfaces)

* Trial1 - Normal Z, Flip J, RIGHT HANDED (ixj=k) but origin at top left corner, with j and i reversed. (attached image)
* Trial2 - Normal Z, Flip I, LEFT HANDED (ixj=-k)
* Trial3 - Normal Z, Flip Z, RIGHT HANDED (ixj=k) but origin at top left corner, with j and i reversed.

* Trial4 - Normal Z, No Flip, LEFT HANDED (ixj=-k)

The current orientation of the reflected mesh domains are shown in the image. Is there a better way to achieve this reflected mesh and keep the same axis orientation as the original blocking? I might want to avoid reflecting the original blocks, if it requires me to individually modify ALL the local block IJK coordinates again...

Look forward to your comments and any suggestions you may have. Thank you for your time everyone.

Crank-Shaft September 10, 2014 22:20

1 Attachment(s)
Here are some of the additional files. The pre-mesh and the blocking structure is still just for the original side however, the total mesh and all the domains have been mirrored and this contains 444 blocks.

Thank you for your input.

Crank-Shaft January 27, 2015 22:02

1 Attachment(s)
OK so it's been a fair while since I posted on this, but I've revived this thread out of urgency instead of making a new one.

I've managed to go through and make all the meshes, using the techniques mentioned about. They've worked fairly well.

I need to move the entire car model down by 60 mm relative to the floor.
Now here are some changes I've tried to make and the challenges I've faced -
a) I opened up the geometry using the .tin file and then shifted all the surfaces and curves of the enclosure by +60 on Y axis. This left a gap in the section where the car meets the symmetry plane.
b) I've deleted the sym surface and created a 'simple' surface using the outer curves around the enclosure. Then I used a trim operation on this using the outline of the car, and then added a surface on the inside of the outline. Unfortunately, checking the part info, I've found that there are a lot more points, curves and surfaces than on the original.
c) When loading in the blocking, the O-grid around the car is now too large and I need some assistance in reducing the size of this. Is there a quick way to achieve this?
d) The translation of all blocks will lead to a huge mismatch between blocking and geometry around the car, hence I need to just translate or reassociate the lowest and the highest blocks (floor and ceiling) to the shifted geometry. Is there a quicker way than to manually move and modify all these blocks?

I would really appreciate your constructive comments and suggestions.

Crank-Shaft January 27, 2015 22:10

Here is the original mesh in CGNS format if anyone is interested in knowing what it looks like.

MESH

Thanks


All times are GMT -4. The time now is 02:19.