Modelling Material Random Distribution in Ansys WB

  • Last Post 21 September 2018
jacks3215 posted this 10 February 2018

I would like to carry out simulation of fiber reinforced concrete material under three point bending load in Ansys workbench. Since concrete is a brittle material therefore addition of fibers alters the brittle nature of concrete to ductile. I have already carried out the experimental tests and would like to verify the results with that of finite element simulation.

I would like to request the experts here to guide me on how can I model the random distribution of fibers in Ansys workbench? Since in reality the fibers are randomly distributed with in the given block or space therefore I need to process the same in simulation work.

Thank you

Order By: Standard | Newest | Votes
peteroznewman posted this 10 February 2018

There are two kinds of simulations that are possible, but they have different objectives.

One kind is an extremely detailed model that tries to replicate the physics of concrete fracture, fiber breakage, fiber-concrete bond failure, fiber friction, etc to model at a very fine level what is happening to the components in the material under load. The model tries to predict what the experimental data will be, even before it is measured. This is the type of simulation a material researcher might build.

Another kind of simulation is much simpler, taking an existing mathematical material model with some adjustable parameters, and attempting a best fit of those parameters to the experimental data of a three point bending test, so that other more complicated shapes of reinforced concrete structure can be modeled and predictions made for the load carrying capability of those shapes that were never tested. The model of the three point test is going to reproduce the previously measured three point experimental data when the values of the parameters have been properly chosen. This is the type of simulation a structural engineer might build.

Which type of model are you trying to build?

If it is the the second type, then there are several plasticity models that have parameters you can adjust to match your experimental data.

jacks3215 posted this 11 February 2018

Thank you for your reply.

I am a research student and simple verification of experimental results would be fine.

I also intend to simulate single fiber pullout from the concrete specimen. I have the specifications of concrete, fiber and interface parameters (chemical bond, frictional bond). These parameters I have taken from pullout experiments. From the simulation I could verify the experimental results. If these can be joined together in to the bending simulation, like the first way you mentioned in your answer, then is also ok for me.

For the bending I intend to carry out two simulations, with and without the addition of fibers. Since concrete without fibers will have brittle fracture therefore I could have the maximum strength and the crack and crush from the simulation. With the addition of fibers there will have different behavior resulting in multiple cracks and could have bendable concrete until fracture.

All of my concrete designs are simple, rectangular beam for bending, cubic block for compression. I wont be using any of the complicated structural shapes/designs in my experiments or simulations.

peteroznewman posted this 11 February 2018

Jack, you may find some of my posts on this site relevant.

Here is a simulation of pullout of ribbed rebar from concrete and here is the question about the pullout force result.

Here is a simulation of compression failure of a concrete cylinder without rebar and the post below is with rebar.

Those simulations were using Explicit Dynamics models and are more for post failure illustration than calculating results.

There are many material models available in ANSYS to predict the load when failure would occur, without actually seeing the post failure behavior.

jacks3215 posted this 12 February 2018

Thank you for the links. I will follow the links and get back in case of any problem.

I would like to confirm, please correct me if I am wrong, in case I model three point bending simulation of concrete (without reinforcement i,e, brittle fracture), static structural model would be a better choice.

But if I try to carryout three point bending simulation of fiber reinforced concrete in static structural then will the static structural be able to get the post cracking behavior as well? or I must use explicit dynamics for such purpose?

In addition, could you please guide me how could I model fibers random distribution with in a concrete block in Ansys workbench?

peteroznewman posted this 12 February 2018

I'm having a problem replying, but I can paste an image of the text that the webite gave me an error typing!

  • Liked by
  • jacks3215
peteroznewman posted this 12 February 2018

Attached is a zip file with an Excel spreadsheet, a text file and an ANSYS 18.2 project.

The spreadsheet creates 100 randomly oriented straight fibers with a random length between 0 and 5 mm, randomly distributed in a volume of 15 x 25 x 55 mm. You could modify the spreadsheet to create fibers of a minimum length.

The text file is a copy paste of columns O-S of the spreadsheet, which is read into DesignModeler.

After reading that file in and creating a volume, you can see the result shown in the image below.

This is not a complete solution, just an example of how to create random line bodies in DesignModeler.

I have used line bodies as steel rebar to reinforce concrete columns in Explicit Dynamics. Not sure how to use this in Static Structural.


Attached Files

  • Liked by
  • jacks3215
pgl posted this 12 February 2018

Test reply.

jacks3215 posted this 16 February 2018

Thank you for sharing the files. With reference to the attached files I would like to ask following queries,

I will be drawing the mold size to 400x400x1600 mm. I can assume that fibers are straight. I would like to ask is it possible to keep the fiber length constant at desired value, say 12 mm? Instead of using random length between 0-12 mm? With in the experimental work I have kept fiber length constant so if the values in simulation are different/varying then I might get different result in simulation. 

I have checked values of the text file and the Excel spreadsheet, columns from O to S, but the values of the columns Q-S differ from those mentioned in the text file. Could you please re-check this?

Thank you

peteroznewman posted this 16 February 2018

I chose to randomize the fiber lengths because it was easy to do.  I can randomize the orientation of fixed length fibers, I just have to do a bit more math. This is all being done outside ANSYS using functionality in Excel.  The reason the text file and the Excel spreadsheet are different is because each time you open Excel, it creates 600 new random numbers to fill the cells.

There is more work to be done to figure out how to have the fibers bond to the concrete in a Static Structural model. I only know it is simple to do in Explicit Dynamics.

I will attach an Excel file example with the 12 mm fibers once I have got the equations worked out.

peteroznewman posted this 16 February 2018

Attached is a zip file with an Excel spreadsheet to calculate the text file used in the ANSYS 18.2 model with 12 mm long randomly positioned and oriented fibers. I only put in 49 fibers and the solid because there is a 50 body limit on the Student license.

Attached Files

jacks3215 posted this 21 February 2018

Thank you for your reply.

Is it possible to set the fiber diameter? I will be using around 35-39um for different simulations/results. 

Also, since in experimental work I have used fibers by volume percentage by weight, around 2-3%. (I can also mention the fibers weight here used for different tests according to the fiber volume percentage. How can I control the fiber quantity in terms of volume percentage if I could access the ansys workbench  pro version?



peteroznewman posted this 21 February 2018

peteroznewman posted this 22 February 2018

Fibers can be assigned a circular cross section. With a 35 micron diameter and a 12 mm length, I can calculate the fiber volume. If I divide 3% of the beam volume you provided above by the fiber volume I come up with 665 million fibers. Is this what you expect?  When you say by volume, what is the packing density of the fibers? Perhaps it is more realistic to go by weight. What is the density of the fiber material? With that data, I can calculate the number of fibers by weight.

Excel can only hold 1 million rows, so you will have to write a program to generate more than a million rows in the text file.

I'm concerned that ANSYS will not be able to handle millions of fibers. Maybe it can. I don't know.

You can cut the size of the model by a factor of 2 by using symmetry to model only half the width. You could get another factor of 3 reduction by only adding fibers to the center 1/3 of the beam where the failure will occur, and having no fibers in the end thirds where there will be no failure.

jacks3215 posted this 25 February 2018

The fiber density is 1.3 gm/cm^3 while as for the 2% volume percentage for bending beam (40*40*160 cm) I have used around 6.7 gm of fibers. I agree with your suggestion to use symmetry to model half the width, if the number of fibers are exceeding the limit of the Ansys  or Excel software. 

With the addition of fibers there will be multiple cracking instead of a single large crack. If there are constraints then maybe, as you have said, for the three point bending I could add symmetry at the center and only model the fibers near the loading area i.e. around center of the beam.

Apart from this, I have seen some reference papers in which people have carried out fibers random distribution. If you can provide me your email address I can share the reference papers with you for further deep discussion.

Thank you

peteroznewman posted this 01 March 2018


Your numbers don't work out for fiber density since 2% of the volume of the beam is 129 cm^3 and you are adding 6.7 g of fibers. That means the fiber density is 6.7/129 = 0.052 g/cm^3, not the 1.3 g/cm^3 you say above. One way both of these numbers can be correct is if the fiber itself is 1.3 g/cm^3 but when you have a container of fibers, they only have a 4% packing efficiency. In other words, there is 96% air in the volume occupied by the fibers. Please clarify as your answer has a big effect on the number of fibers that should be in the beam.

From this reference...

The generation of the RVE is usually realized through the random sequential adsorption (RSA) algorithm [23]. Based on this algorithm, researchers attempted to develop efficient approaches for determining whether a new generated fiber overlaps with the pre-existing fibers within the RVE

The Excel spreadsheet I created above positions fibers in the volume randomly, without regard to whether they overlap or not. It seems that past researchers were using an RSA algorithm to avoid fiber overlap. What are your thoughts on needing to implement some check on fibers that physically occupy the same space?

jacks3215 posted this 03 March 2018

Thank you for your reply.

I am sorry for mistyping the values of the beam mold, the correct beam size is as follows,

beam size in mm = 40*40*160

beam size in cm= 4*4*16

The fibers density itself is 1.3 gm/cm^3. The way I calculated weight of fibers is as follows,

beam volume in cm^3 = 4*4*16

fiber volume % = 2

weight of fibers = beam volume in cm^3 * fiber volume percentage * fiber density in gm/cm^3

                        = (4*4*16) * (2/100) * (1.3)

The resultant we will get would be 6.7 grams. 

With reference to the correct size of the beam, could you please modify the excel file? It would be useful if we don't have higher number of fibers problem as before.

With regard to the RSA algorithm, it would be useful if such algorithm can be implemented in Ansys WB. I can have a try with simple excel file, but since, as you have also mentioned that researchers have used RSA algorithm for such purposes, I feel it would be a better choice to have a check on fiber placements.

peteroznewman posted this 03 March 2018

Jack, we need the number of fibers to make the Excel spreadsheet.

How many fibers are there is that 2% volume?  Below is my calculation.

The mass calculated for the fibers doesn't match the 6.7 grams you calculated.
Please calculate the number of fibers in the beam.

If you want to create fibers that do not overlap, please provide details on the RSA algorithm.

jacks3215 posted this 07 March 2018

In continuation of my previous calculation, the way I carried out calculation for number of fibers is as follows,

No. of fibers = total fibers weight / single fiber weight

No. of fibers = total fibers weight /(fiber length*fiber diameter*fiber density)

No. of fibers = 6.656/(1.2*0.0035*1.3) = 1219

I am sorry, but within your calculation I could not get why and how you calculated the V02 (2% Beam volume). In my opinion, beam volume will be constant (40*40*160 mm^3) no matter how much volume fraction of fiber reinforcement we will be using. Apart from this, if you have any reference/link where such calculations could be found then please mention.

peteroznewman posted this 07 March 2018

Here is your calculation with the correction that the single fiber mass is the length*cross sectional area*density.

In the previous post, I calculate the volume of the beam. Then I multiply that volume by 2% or 0.02 to get the volume of fibers.

jacks3215 posted this 11 March 2018

Thank you for your reply. 

Is it possible in excel to generate the number of randomly distributed fibers (Nf) which you have mentioned in your last reply? 


For the RSA algorithm, I have attached an image from the following reference, which we can modify according to our sample size, if there is anything else in RSA then please let me know.



peteroznewman posted this 11 March 2018

Excel 2013 limits are 1,048,576 rows x 16,384 columns, so yes, it can be used to generate 443,500 fibers.

However, if you are going to implement the RSA algorithm, you can generate the random fibers in code.

What programming language can you use to implement the RSA algorithm?

The flowchart is very high level, do they have code also?

Can you provide the algorithm and equations to test if Generated fiber intersects with existing fibers in matrix?

Is it appropriate to cut the fiber and shift it to the opposite side when the fiber penetrates the boundary?

peteroznewman posted this 11 March 2018

Can you write the code to detect if these two fibers intersect?

Fiber 1

Start Point     XC =   -5.895375631    YC =    0.198437175     ZC =    6.292249981      

End Point      XC =    5.000000000     YC =    4.000000000    ZC =    3.000000000    


Fiber 2

Start Point     XC =    0.000000000     YC =    0.000000000     ZC =    0.000000000     

End Point       XC =    6.928203230     YC =    6.928203230     ZC =    6.928203230  


jacks3215 posted this 12 March 2018

Usually Matlab is used for RVE and the resultant is connected via python or excel with simulation softwares. The above mentioned reference does not provide the codings along with it. It will take a while for me to look for the codes and check the intersection which you have mentioned in your reply.

In meantime, if you could help to make the random distribution in excel spreadsheet, and we could run the simulation to check the workability. 

peteroznewman posted this 12 March 2018

Do you have access to matlab? If so, I will create a matlab script that generates random fibers in the beam volume and writes a text file for import into ANSYS. No need to use Excel.

You will also need access to a Research license for ANSYS since the Student license is limited to 50 bodies.

jacks3215 posted this 13 March 2018

Yes, I have access to Matlab. For the Ansys I can manage to use research licensed version 

peteroznewman posted this 13 March 2018

Attached is the matlab code to generate random fiber point coordinates. You can add the code to detect overlapping fibers.

Unfortunately, the limit for bringing in curves through DesignModeler is 2000 curves. This would have to be repeated 217 times to get the full number of curves imported.  I will investigate import into SpaceClaim next.

Attached Files

  • Liked by
  • jacks3215
peteroznewman posted this 14 March 2018

It seems SpaceClaim read all 433,500 curves.


Attached Files

  • Liked by
  • jacks3215
Ansysman posted this 28 March 2018

Please, Sir, can you tell me, how can I use your files 18.2 in my 18.1 version?

peteroznewman posted this 28 March 2018

@Ansysman, version 18.1 cannot open files saved by version 18.2.  However, much of this discussion concerned using tools such as Excel or matlab to create text files to read into Ansys.  You can read those text files into version 18.1.  Do you have matlab?

Ansysman posted this 29 March 2018

Thank you for your quick response!
Not yet, but what version of matlab should I get? Is it ok to use a free matlab trial to solve this problem?

Show More Posts