Eng-Tips is the largest engineering community on the Internet

Intelligent Work Forums for Engineering Professionals

  • Congratulations waross on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Simulating microstructures in a reasonable time frame

Status
Not open for further replies.

jongyonkim

Electrical
Aug 3, 2006
24
0
0
US
Hi, I'm considering ANSYS to simulate stretching of a silicon coil that measures 2um~200um (micron) for my lab.

It should be a 3D model with at least 10,000 nodes.

Has anyone tried running micron-scale simulations with success?

Can ANSYS run such a small-scale simulation in a reasonable time frame (~hours)?

I've tried ABAQUS, but I haven't been able to do it in a reasonable time frame (taking weeks)...what other FEA software is recommended?

Thank you.
 
Replies continue below

Recommended for you

Hi,
as the measurement units are arbitrary in Ansys, as long as you keep consistent of course, there is absolutely no limitation in the size of the "real" object: if you create a cube 1x1x1, this can be 1 cubic meter, or 1 cubic micron, and so on. Of course then you will have to VERY carefully match force units, time units, and dependently density, velocity, acceleration, pressure...
Consider also that nowadays 10000 elements are considered a small model, but it depends on how many DOFs you have. I'll give you two "extreme" examples taken from my job: 12000 elements, 19500 nodes w/ 3 DOFs/node, linear static cyclic-symmetric analysis (thus the elems, nodes, and DOFs, are multiplied by 2), solved in 4 mn on a P4 3.2GHz w/ 3GB RAM; 552000 elements, 631000 nodes w/ 3 DOFs/node, non-linear analysis full of contacts (16 contact pairs whose stiffness was updated at each equilibrium iteration, involving a total of 32000 elements), solved in 26 hours on the same machine. Be careful, though: you are speaking about transient analyses, and my examples are refered to static ones. So, if you need thousands of timesteps this would generate VERY huge results files and take a lot of time. As a last example, 8500 elements, 12000 nodes w/ 3 DOFs/node, transient non-linear analysis w/ 1000 timesteps, solved in 25 hours on a P4 1.6 GHz w/ 1 GB RAM.

Regards
 
Thank you cbrn for a detailed reply.

More specifically, I am to run a "dynamic, explicit" nonlinear analysis of a flat, round silicon cylinder with two thin arms coiling around it. The ends of the two arms are subject to force that stretches the spiral arms and thus uncoils the structure. 15k nodes, 9k elements.

My machine is has dual 3.2Ghz processors with 2GB RAM.

You mentioned for most FEA programs, there is no limitation to the size of the object, as long as other variables are properly scaled.

With ABAQUS, I have the following conversion:

I made the structure with part size "200" for 200um, which translates to 1 unit = 10^(-6)m. I also made appropriate scaling to density and Young's Modulus.

real life value -> scaled value
Density : 2.329E3 kg/m^3 -> 2.329E-15 units
Young's Modulus : 1.124E11 Pa -> 1.124E5 units

It seems like, however, these small values are what's causing the slow computation time. If I increase the density by a million, computation time decreases by a thousandfold. (strange)

Also, I tried constraining the DOFs of the entire structure to 3 (transX, transY, rotZ) with boundary conditions, but it still gave me "weeks" of computation time. The timesteps are calculated automatically, and they reach "millions"

I understand that this is an ANSYS forum, but I believe this is a general question for any FEA problems. I'm also waiting for reply in the ABAQUS forum.

I greatly appreciate your help.
 
Hi,
the problem you are experiencing with ABAQUS is a convergence problem: you have automatic bisection (or however they call it) activated, so the solver diminishes the timestep each time it isn't able to converge. Most probably there is still something out-of-scale, Forces and density in particular. In fact, the convertion is a bit tricky because it involves acceleration (F=Ma...). For example, if 1 length unit is 1 mm, 1 force unit is 1 N, 1 time unit is 1 s, then you have pressures and stresses in MPa, which is obvious, but 1 mass unit is 1000 kg and this is a bit less immediate to find out! Again, 1 density unit will be 10^9 tons/mm^3, and the acceleration will be in mm/s^2...
I believe this is not a numerical roundoff problem, because 32-bits solvers are perfectly able to handle numbers down to (theoretically) 10^-31 and up to 10^31, and practically from 10^-24 to 10^24. But, if you have out-of-scale quantities, dividing 10^-15 by something else which is, for example, 10^9 too big, will dangerously approach the lower-edge of the indexing capacity of the solver, and this could happen during the system matrix factorization.

Hope this helps...

Regards
 
Hi,

Thanks for all the help. I noticed that I could have incorrectly scaled numbers. Could you just look at my scaling calculations and see if there's anything wrong with it? It'll just take a minute.

-> Scale only length: 1 unit = 1E-6 m.

Then,

Density = 2.329E3 kg/m^3 = 2.329E3 x (1E-6)^3 = 2.329E-15

Young's Modulus = 1.124E11 = 1.124E11 x 1E-6 = 1.124E5

where YM's unit Pa has been broken down to N/m^2 = kg*m/(s^2*m^2) = kg/(m*s^2)

Please tell me if I've made any mistakes, or if there is a better scaling standard than this.

Thanks.
 
Hi,
let's see... you don't tell how you scale the force unit and the time unit, so I can't tell you if you are completely coherent or not. In the doubt, I give you my own scaling procedure: it may or may not be appropriate for you, as it scales the mass and not the force unit:
[L]=[micron]=10^-6[m]; [F]=[N]; [t]=; [p]=[sigma]=[E]=[N/(micron^2)]=10^6[N/(mm^2)]=10^6[MPa]=10^12[Pa]; [a]=[micron/s^2]=10^-6[m/s^2]; [M]=[N/(micron/s^2)]=[Ns^2/micron]=10^6[Ns^2/m]=10^6[kg]; [density]=[mass/volume]=[M/L^3]=10^6[kg]/(10^-6[m])^3=10^24[kg/m^3]
So, in your example:
density=2329[kg/m^3]=2.329*10^3*10^-24[density-unit]=2.329E-21[density-unit]; [YM]=1.124E11[Pa]=1.124E-1[pressure-unit]; [gravity]=9.81E6[accel-unit];[force]=[Newton]=[force-unit] (this is because of the convention I used); [time]==[time-unit] (once again, because of my convention).
Of course, if you prefer keeping the [kg] and scaling the [N], this can be done without problems. You may have seen that my convertion is a bit critical as regards density, so scaling the force-unit is a good idea! If it isn't still enough, you also can scale the time-unit.
Hope this helps, and I hope not to have made a mistake with my own convertions! ;-)

Regards
 
This is a general problem with numeric calculations - if your matrix has a big spread of values - some are very big while some are very small, you will eventually get roundoff errors which prevent or hurt convergence. In this case, it might be useful to manipulate the convergence parameters (In nastran it's nlparam), and see if specifying a looser convergene hurts the solution or helps it.


good luck.

Jake.
 
Status
Not open for further replies.
Back
Top