Continue to Site

Eng-Tips is the largest engineering community on the Internet

Intelligent Work Forums for Engineering Professionals

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

Compute derivatives from a FE model

Status
Not open for further replies.

Eddy83

Mechanical
Oct 22, 2006
5
Maybe somebody can help me out with this (theoretical) question:

When from a Finite Element model you want to calculate derivatives of a nodal displacement w.r.t. a parameter of your model (e.g. you have a simple beam and you want to calculate the derivative of the nodal displacement of the node at the free tip w.r.t. the length of the beam: dui/dL) then it turns out that the more elements you use for your model, the worse your results become.
This is of course quite peculiar since normally more elements make your results improve. When I use 10 elements the derivatives computed from the FE model correspond quite well with the exact results, but when I use 100 elements the computed derivatives get further off from the exact results.
I remember from a lecture that this "phenomenon" has been explained times ago by some person, but I don't know the explanation itself. Maybe anybody else knows?
 
Replies continue below

Recommended for you

Hi Eddy,
I think this is some how theoretical.

Usually the values of your independent variable are computed over the nodes during processsing and you get the derivatives by post processing (like strain is obtained as a derivative of displacements). The unknowns are continuous over elements. So the solution is continouous interms of U. But it is not differentiable. It is only piece-wise differentiable. So at a node which is at the intersectin of two or more elements, the spatial derivatives obtained from different elements can be different.

For example, in a solid mechanics problem once you get the dispalcements you take the derivative to find the strain. But the strains are the same at a node. So you can take the average at those points, or interpolate them from the strains at the interior of elements (Numerical integration points if you are using Gauss intergration). This is called 'strain averaging' in the technical literature, if I am not mistaken.

May be you can find some thing on this from a solid mechanics point of view on this page

 
Thanks Themesgen for your effort. However it's certainly true and useful what you are telling me, it's not what I'm actually looking for. I'm looking for derivatives w.r.t. parameters of my problem. For my simple beam problem these parameters are e.g. the length L of the beam, the cross-sectional area A of the beam, the moment of inertia I of the beam, etc. These derivatives are e.g. interesting if you want to know how much effect it has if you change one of your parameters.
For example: a clamped beam with a transversal load at the free tip of the beam will have a transversal displacement at the tip of the beam. If I change the length L of the beam, then the displacement at the free tip will increase, i.e. the nodal displacement of the node at the free tip in y-direction will increase, since a larger L makes the beam more flexible. Mathematically, dUi/dL>0 with Ui the nodal displacement of the node at the free tip in y-direction.
The question I asked thus is aimed at these derivatives w.r.t. parameters, not the spatial derivatives.
The question was:
When from a Finite Element model you want to calculate derivatives of a nodal displacement w.r.t. a parameter of your model then it turns out that the more elements you use for your model, the worse your results become. This is of course strange since normally the results improve when you increase the number of elements. I'm sure from my lectures that this phenomenon has been recognized and explained by other mechanical people, but my lecturer didn't go into any detail about this. So maybe somebody here knows the explanation?
 
What is the "exact result" ?

If you compare the FE result to a formula given by the strength of materials theory you have to keep in mind the assumptions based on which that formula has been derived anf the theory used for deriving the FE formulation.

The accuracy of the FE solution is influenced by the suitability of the element type you use. For example, Timoshenko beam elements and Bernoulli-Euler beam elements used for the same problem can give you quite different results (for Length/Depth ~<15).

The FE element solution using one or the other of the afore mentioned elements can converge (by increasing the number of elements) to a value which is different from the analytical one, depending on the suitability of that element to the problem it is used for. This will look like the accuracy degrades with the mesh refinement.

Btw: How do you compute the derivative du/dL from the finite element ?

 
With exact result, I refer to the derivatives of the analytical Timoshenko beam equations. The elements I use are also of the Timoshenko type, so the results of the FEA should be close to the analytical results. The derivatives I compute by two different methods: 1)Global Finite Differences and 2) Direct Semi-Analytical method (probably a person that can answer my question should at least be familiar with these techniques).
The results of both these FE analyses should should be close to the analytical results and indeed the results have all error of 1e-3% or smaller when using a moderate number of elements. However when I increase the number of elements also the error increases. I myself suspect that this has to do with only numerical aspects however I can't find a confirmation and explanation of this.
 
To my understanding your problem is related to designed sensitivity (?).

If I recall well, in design sensitivity analysis the
global finite difference approach refers to solving the equilibrium equations for a set of of configurations perturbed with respect to the designed parameter of interest. In the direct semi-analytical, the displacement sensitivities w.r.t. a design parameter p are obtained from
[K][du/dp]=-[dF/dp].

In both cases the finite difference interval is vital for the accuracy. (too small ->round-off errors, too large -> truncation errors)
 
Hi Eddy,
If you are taking derivatives w.r.t a parameter, a finer mesh may give you very wrong results unless you vary the parameter slowly too. That is, the finer your mesh the smaller the variation of your parameter should be. So take a very small dL say for the variation of length.

I have not worked with exactly your type of problems, but for time depenedent problems (taking time as parameter here) the solution in time can become completely wrong with finer meshes unless time steps are correspondingly reduced. Your mesh size constrains you from taking large steps in your parameter.

I will be happy to know your results.

Good luck
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor