Author |
Message |
Moshe Olim (moshe_olim)
New member Username: moshe_olim
Post Number: 1 Registered: 07-2003
| Posted on Friday, July 25, 2003 - 03:01 pm: | |
Prior to starting work on a thermo-elastic problem, I wanted to understand the "errors" of the PDE solutions. So I created a cube and applied symmetric temperature boundary conditions to it. Looking at the deformations in all directions along the symmetry axes, the computed deformations are not zero, nor are they just random noise. The program is attached. Has anybody seen this problem? Any isea regarding solutions? Thanksthermoelastic symmetric problem cube.pde (4.0 k) |
|
Robert G. Nelson (rgnelson)
Member Username: rgnelson
Post Number: 9 Registered: 06-2003
| Posted on Saturday, July 26, 2003 - 08:32 pm: | |
There is an error in our example problem in the terms which remove rigid body rotation from the solutions. The displacement equations of elasticity deal only with derivatives of the displacements. If the boundaries are all free to move, then the system will allow any additive rotation and translation, and is therefore technically singular. In our 2D examples, we have imposed constraints to eliminate these ambiguous motions. In 3D, because of the larger number of nodes and variables, the constraint equations make the solution extremely costly. We therefore opted to solve the "singular" system and remove the rigid body motions after the fact. This works because FlexPDE uses the equivalent of a perturbation method to solve the system, computing only the changes necessary to satisfy the pdes. Unfortunately, we left a "0.5*" out of the definition of the rotation corrections. If a rigid body is rotated an angle theta about the z-axis, for example, this adds an amount Ur = x*(cos(theta)-1)-y*sin(theta) to the unrotated x-displacement, and Vr = x*sin(theta)+y((cos(theta)-1) to the unrotated y-displacement. Differentiating and combining terms shows that sin(theta)=0.5*(dx(v)-dy(u)). As long as theta is small, we can ignore (cos(theta)-1) and assert Ur = -y*sin(theta) = -y*0.5*<dx(v)-dy(u)>. Comparing this with our example problem and your test problem, you will see that the 0.5 is missing. In short, the solution to your problem is to change the definitions of the rotation angles ad follows: Rz = 0.5*integral(dx(V) - dy(U))/Vol Rx = 0.5*integral(dy(W) - dz(V))/Vol Ry = 0.5*integral(dz(U) - dx(W))/Vol Sorry for the mistake.
|
|