CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > CFX

Modeling microflow inside a carbon fiber roving

Register Blogs Members List Search Today's Posts Mark Forums Read

Like Tree4Likes
  • 1 Post By ghorrocks
  • 1 Post By ghorrocks
  • 1 Post By ghorrocks
  • 1 Post By ghorrocks

Reply
 
LinkBack Thread Tools Display Modes
Old   January 13, 2014, 04:53
Default Modeling microflow inside a carbon fiber roving
  #1
New Member
 
Benedikt
Join Date: Dec 2013
Location: Munich, Germany
Posts: 10
Rep Power: 3
BenMUC is on a distinguished road
Hey all,

I'm trying to model the microflow inside a carbon fiber roving using ANSYS CFX 14.5.7. The geometry I'm using is one third of hexagonal unit cell ( radius of the filament 3.5Ám ), please see the attached picture of the geometry and the mesh:



The resin infusion is driven by a pressure gradient, therefore I've calculated the pressure gradients for the length of the geometry of 200Ám based on experiments that were done with 2 and 3 bar pressure on a 400mm tool. So basically it's laminar pipe flow in a weird-shaped pipe. As Darcy's law has been deducted for laminar ( creep ) and stationary flow, I'm using the Static Pressure ( Zero Gradient ) boundary on the Inlet. On the Outlet I'm also using the Static Pressure option ( 0.0 Pa. ) The manual states that this combination isn't recommended, however it also states that the Zero Gradient boundary is the best way to get a fully developed velocity profile.

These are the options I've chosen in the Solver Control and the Solver Manager:

(can be found in the second post since I'm limited to 10 pictures in one post)

The values that I'm interested in a both the velocity profile and the shear strain rate. Now, when choosing a static pressure of 2000 Pa the solver converges and I get these results which seem correct to my expectations:





When choosing smaller/bigger pressure gradients than say 1500 Pa and 3500 Pa, the solver still converges but I get this warning:

Code:
 +--------------------------------------------------------------------+
 |                     ****** Notice ******                           |
 |  A wall has been placed at portion(s) of an INLET                  |
 |  boundary condition (at  14.3% of the faces,   3.5% of the area)   |
 |  to prevent fluid from flowing out of the domain.                  |
 |  The boundary condition name is: inlet.                            |
 |  The fluid name is: Fluid 1.                                       |
 |  If this situation persists, consider switching                    |
 |  to an Opening type boundary condition instead.                    |
 +--------------------------------------------------------------------+
 +--------------------------------------------------------------------+
 |                     ****** Notice ******                           |
 |  A wall has been placed at portion(s) of an OUTLET                 |
 |  boundary condition (at   7.1% of the faces,   0.5% of the area)   |
 |  to prevent fluid from flowing into the domain.                    |
 |  The boundary condition name is: outlet.                           |
 |  The fluid name is: Fluid 1.                                       |
 |  If this situation persists, consider switching                    |
 |  to an Opening type boundary condition instead.                    |
 +--------------------------------------------------------------------+
Sometimes up to 100% of the faces are covered by a wall and the resulting velocity profile and shear strain rate look like this ( e.g. this is for 1000 Pa, 100% coverage ):





It gets really interesting when switching to formerly stable pressure gradients, for example the following pictures were taken for 2000 Pa but the calculation was run after I got the "A wall has been placed warning" and then I'm getting the warning at 2000 Pa as well. The velocity profile and the shear strain rate look like this:





It looks as if the solver is using the formerly produced results to calculate further, and it's doing this although I changed the static pressure so it shouldn't continue from the results done prior to that. Changing to Initial Conditions at Initializations Option in the Solver Manager didn't change anything.

The manual states that this warning can be ignored if it doesn't persist until the solver converges ( in my case it persists ). If it does, one should change to an opening type boundary, which doesn't really seem adequate in my case. The three options given here don't seem to be applicable in my case either.
I found I can get better results if I change Timescale Control from Auto Timescale to Physical Timescale ( 100 - 500s ) in the Solver Control. I'll still get the warning but only for ~0.2% of the faces, which is a great improvement, and the results for 2000 Pa look like this again:





Changing to Physical Timescale improves the results for 1500 Pa and 3000 Pa a lot as well, I've already tested it, but it's still not entirely perfect.

In the end, my questions are the following:
What can I do to get rid of the warning and get good results? Are my boundary conditions wrong? Do you have any ideas?
What do I have to do that the solver starts to calculate from the start again, so I can avoid getting the warning on formerly "stable" pressure gradients?


I also want to get a shear strain rate distribution ( shear strain rate values and their percentage of occurence ), do you have an idea how I can do that? Can I specify, say 200 or 1000 points where ANSYS probes the shear strain rate? And can ANSYS calculate an averaged shear strain rate?

I hope you can help me out as this problem is driving me nuts.
BenMUC is offline   Reply With Quote

Old   January 13, 2014, 04:54
Default
  #2
New Member
 
Benedikt
Join Date: Dec 2013
Location: Munich, Germany
Posts: 10
Rep Power: 3
BenMUC is on a distinguished road
Solver Control settings:



Solver Manager settings:

BenMUC is offline   Reply With Quote

Old   January 13, 2014, 05:27
Default
  #3
Super Moderator
 
Glenn Horrocks
Join Date: Mar 2009
Location: Sydney, Australia
Posts: 10,646
Rep Power: 84
ghorrocks has a spectacular aura aboutghorrocks has a spectacular aura aboutghorrocks has a spectacular aura about
1) Your mesh is way too coarse. You will need to refien the mesh. See mesh comments in FAQ: http://www.cfd-online.com/Wiki/Ansys..._inaccurate.3F

2) "Wall placed at an inlet/outlet" is a FAQ: http://www.cfd-online.com/Wiki/Ansys...f_an_OUTLET.22

3) To start the solver from scratch start a simulation with no initial condition.

4) Shear Strain Rate is a variable available in the solver, and you can do all post processing operations on it. You can also add it as a monitor point if you like.

5) This looks like it could be done with a domain far shorter than you have modelled.

6) What is the Re of this flow? If the Re<<1 you will find CFX will have problems converging. If you do a series of simulations with the Re approaching 0 you will find that it does not approach the creeping flow solution in many cases.
BenMUC likes this.
ghorrocks is offline   Reply With Quote

Old   January 13, 2014, 06:49
Default
  #4
New Member
 
Benedikt
Join Date: Dec 2013
Location: Munich, Germany
Posts: 10
Rep Power: 3
BenMUC is on a distinguished road
At first, thank you for you reply!

1) & 5) I chose the length when I switched to the Normal Speed boundary condition to get at least some results. I'll shorten the length, refine the mesh and post a picture of the new mesh later.

2) Actually I linked that FAQ in the original post, but as I said there none of the three options seem applicable in my case, because I can't switch to an opening type boundary, as this wouldn't be an accurate representation of the real flow ( in my opinion ).

3) I do this by changing Initialization Option to Initial Conditions, but instead of clicking on Initial values I leave it blank, right? ( Edit: Seems to work. )

4) I know shear strain rate is available in the Post Processing, but can you please give me a hint on how I can get an averaged shear strain rate and the distribution of the shear strain rate?

6) In my case Re has to be smaller than 1, e.g. for 2000 Pa Re= 2.7096E-03, so I guess one could say that Re<<1 as Re will be smaller for the smaller pressure gradients. Do you have an idea how I can improve convergence for the creeping flow simulation?
BenMUC is offline   Reply With Quote

Old   January 13, 2014, 07:24
Default
  #5
Super Moderator
 
Glenn Horrocks
Join Date: Mar 2009
Location: Sydney, Australia
Posts: 10,646
Rep Power: 84
ghorrocks has a spectacular aura aboutghorrocks has a spectacular aura aboutghorrocks has a spectacular aura about
1,5) OK, but don't forget. And don't be worried too much about accuracy issues until you do refine the mesh.

2) See point 1 above. Don't worry about it until you refine the mesh.

4) SSR is a scalar variable in the post processor like any other. You can plot it as a colour, contour and many other things. Have a look at a few tutorials on post processing and see what they do with other scalar variables.

6) In that case you may have difficulties in getting an accurate simulation and convergence. Do a careful validation of your model - for instance I would model flow in a circular duct at equivalent flow velocities. This will have an analytical solution so you can check exactly how accurate you are.
BenMUC likes this.
ghorrocks is offline   Reply With Quote

Old   January 13, 2014, 11:55
Default
  #6
New Member
 
Benedikt
Join Date: Dec 2013
Location: Munich, Germany
Posts: 10
Rep Power: 3
BenMUC is on a distinguished road
1,5) Alright, I've changed the length of the extrusion to 10Ám and refined the mesh, closing in on the maximum amount of nodes of 512k as much as possible. These are the faces of the meshes for the three geometries I want to assess ( 90%, 65% and 50% fiber volume content respectively ). For now I'll stick to the 90% cell as I've been working on it all the time, but maybe you can take a look at the others too:







2) I've run some quick tests and compared the results for 200Ám and 2000Pa to the results for 10Ám and 100Pa and the velocity profiles agree quite well taking into account normal score fluctuation, however the shear strain rate seems to fluctuate a lot, but I'm not sure if it's just the maximum value. I'll try not to worry for now!

4) Yeah, I've plotted the contour for shear strain rate above, but I want some numbers, no plots. I'll take a look at some CFD Post tutorials and come back to this later on, it's only a minor problem for now anyway.

6) I might be able to disregard the lowest pressure gradients as filling of the entire mould was never achieved in the experiments, so it seems reasonable that no flow existed in this case.
Actually I've already run some test using laminar pipe flow.
I used a pipe ( d=10Ám ), chose a normal speed boundary at the inlet first and went for a normal speed that resulted in a Re<1. Then I measured the pressure drop and changed to static pressure ( Zero Gradient ). However, when choosing lower or higher pressure gradients, I'd eventually get the "A wall has been placed" warning as well. For the pipe flow I also investigated the influence of dilatant and pseudoplastic fluid ( Ostwald de Waele, power law fluid ) and compared it to the Newtonian fluid ( water ). At first I wanted to do all this with the given pressure gradient that I used for the Newtonian fluid, but no flow formed for the dilatant material. For the huge pressure gradients needed to form a flow for the dilatant material, I'd already get this error for the other materials, which means that the resulting velocity of the fluid is to big and the flow is no longer laminar ( or even creeping ):

Code:
 +--------------------------------------------------------------------+
 | ERROR #002100004 has occurred in subroutine Out_Scales_Flu.        |
 | Message:                                                           |
 | The Reynolds number is outside of the range expected based on the  |
 | Option selected for the TURBULENCE MODEL. Check this setting,      |
 | the values of the properties, mesh scale, consistency of units     |
 | and solution values in the input file. Execution will proceed.     |
 +--------------------------------------------------------------------+
In the end I chose the normal speed boundary again and got the following results that I compared to analytical solutions:



For the microflow simulation I can disregard the dilatant material and I'll stick to 0.6 < n < 1 for the pseudoplastic material, which makes it much easier.
BenMUC is offline   Reply With Quote

Old   January 13, 2014, 17:42
Default
  #7
Super Moderator
 
Glenn Horrocks
Join Date: Mar 2009
Location: Sydney, Australia
Posts: 10,646
Rep Power: 84
ghorrocks has a spectacular aura aboutghorrocks has a spectacular aura aboutghorrocks has a spectacular aura about
Don't worry about the turbulence warning. It is just a warning. If you know the flow is laminar then you can proceed.

Also be aware that the usual assumption that the pressure has zero normal gradient at the walls may not be accurate for very low Re flows. This is another area where CFX (and most other CFD software for that matter) has built in assumptions which are not necessarily applicable to very low Re flows.

Your flows will be quite different in each of those fibre densities. You should do a quick mesh sensitivity on each one and determine what mesh each requires. I suspect you will need a much finer mesh in the one with the fine cusps at the end (I think that is the 90% fibre density one) compared to the stubby ended ones.
BenMUC likes this.
ghorrocks is offline   Reply With Quote

Old   January 15, 2014, 12:05
Default
  #8
New Member
 
Benedikt
Join Date: Dec 2013
Location: Munich, Germany
Posts: 10
Rep Power: 3
BenMUC is on a distinguished road
Thanks, I thought the warning meant that the results could become inaccurate due to the higher velocity and Re number. Flow should always be laminar in my case.

I'll have to discuss the topic of zero normal gradient at the wall and the other assumptions with my professor on friday, for now I'll continue my work and try to improve the mesh and prepare for the post-processing of the results that I'll gather later on.

The one with the fine cusps at the end is the 90% one, yes. The fiber volume content of the hexagonal unit cell is varied by varying the distance between the cylinders ( they're touching for 90%, and the distance between them becomes bigger for the lower fiber volume contents ). I don't get what you mean by "a quick mesh sensitivity", sorry, I found this thread but I still don't know what exactly I have to do to ensure good mesh/grid quality. I'm a bit lost here!
Do you mean I'll still need a finer mesh for the one with the fine cusps at the end, or did you mean it as a general remark, that I'll needa finer one compared to the other fiber volume contents that don't have the fine cusps? I knew that the 90% one would be quite hard to mesh, but I don't know what else I could do besides making the elements smaller. With the new mesh stability/convergence seems to have improved a bit, but the shear strain rate results are still fluctuating.

I've also looked into the post-processing again ( both tutorials and the CFX-Post User's Guide ), and I've tried to calculate the average value using ave and areaAve ( e.g. =areaAve(Shear Strain Rate)@outlet ), but those commands are giving different results by about 10%. I found this thread, where someone said that areaAve is giving better results, but I couldn't find any information about what's the difference between both commands. Which one should I use, going by your experience, and what's the difference between the two commands?
I've also made a Point Cloud of 100 equally spaced points and tried to probe the points for both velocity and shear strain rate, but it doesn't work. I'd like to get the results in the form of a table, like:

Code:
Point # | velocity | shear strain rate
...
..
.
It just tells me that the aim of the probe command is not a point. What can I do to extract all the points of the Point Cloud one after the other?

Thanks again for all your help!
BenMUC is offline   Reply With Quote

Old   January 15, 2014, 17:44
Default
  #9
Super Moderator
 
Glenn Horrocks
Join Date: Mar 2009
Location: Sydney, Australia
Posts: 10,646
Rep Power: 84
ghorrocks has a spectacular aura aboutghorrocks has a spectacular aura aboutghorrocks has a spectacular aura about
A basic mesh sensitivity analysis is:
1) Do a simulation
2) generate a new mesh which is significantly finer. Halving the element edge length is a good guide.
3) Run the simulation
4) Compare the results of 1) and 3). Look at the parameter of interest to you (flow rate, pressure drop, peak pressure, whatever).
5) Are the two simulations close enough to be within an accuracy tolerance you accept for your application? If yes then your mesh is OK. If no then go to step 2) and generate a new mesh which is even finer again.

This is a crude, simple mesh sensitivity analysis. More sophisticated approaches are described in "Computational Fluid Dynamics" by Roache, and summarised in this paper: http://journaltool.asme.org/Template...umAccuracy.pdf

The ave function takes all the nodal values and averages them. It does not take into account the area of the element. The areaAve function does an area average. areaAve is the function to use in your case.
BenMUC likes this.
ghorrocks is offline   Reply With Quote

Old   January 16, 2014, 05:01
Default
  #10
New Member
 
Benedikt
Join Date: Dec 2013
Location: Munich, Germany
Posts: 10
Rep Power: 3
BenMUC is on a distinguished road
Thanks, I'll read the paper and try it out.
Edit: However, so far I haven't changed the edge length, which I can't seem to change, but the size of the surfaces ( not sure what's the correct English term ). What am I doing wrong? Changing the size of the surfaces has had a noticeable effect, both on the visible picture of the mesh but also the number of nodes and elements.

Thanks for the explaination!

Can you also help me with the problem I'm having with Point Cloud? Is it possible to probe all the points so I can use the data to fill a table? Point Cloud would be a lot more convenient, especially using the option equally spaced, than setting points manually.
Edit: Well, according to this thread Point Clouds aren't probe-able, which isn't nice.
I'll have to think about another way of getting the information I want, I can't specify 500 or 1000 Points manually.

Last edited by BenMUC; January 16, 2014 at 06:02.
BenMUC is offline   Reply With Quote

Old   January 16, 2014, 08:16
Default
  #11
Super Moderator
 
Glenn Horrocks
Join Date: Mar 2009
Location: Sydney, Australia
Posts: 10,646
Rep Power: 84
ghorrocks has a spectacular aura aboutghorrocks has a spectacular aura aboutghorrocks has a spectacular aura about
I have not used point clouds for a long time so cannot recall the details. But if they cannot export then they are not much good.

You can use a session file to generate lots of points, then export the points.
ghorrocks is offline   Reply With Quote

Old   January 17, 2014, 06:16
Default
  #12
New Member
 
Benedikt
Join Date: Dec 2013
Location: Munich, Germany
Posts: 10
Rep Power: 3
BenMUC is on a distinguished road
I found no way to probe the Point Cloud so I put in 500 points manually and probed them one by one, for the two other geometries I'll look into session files to make my life easier. At least this brute force approach worked and I got some data.
BenMUC is offline   Reply With Quote

Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
modeling solid objects inside fluid domain DineshramBalaji Main CFD Forum 0 January 7, 2014 06:51
Modeling Rotating wheels inside a wheel fairing. robinfisichella STAR-CCM+ 0 May 1, 2010 08:19
modeling of volume inside volume in gambit rahulsharma FLUENT 3 October 23, 2009 08:19
Modeling Flow/Saturation/Absorption in Fibers Gene Dougherty Main CFD Forum 0 June 6, 2003 14:49
meshing F1 front wing Steve FLUENT 0 April 17, 2003 12:37


All times are GMT -4. The time now is 13:28.