1 (edited by lixinkang 11-01-2012 03:20:20)

Topic: Isogeometric Analysis with OOFEM

Dear Borek,
I am working on isogeometric analysis with OOFEM. I read your article “From the finite element analysis to the isogeometric analysis in an object oriented computing environment” and make an imitation of the second example, the dome problem. I solve the problem in the following codes:


dome.out
dome problem
LinearStatic nsteps 1
domain 3d
OutputManager tstep_all dofman_all element_all
ndofman 18 nelem 1 ncrosssect 1 nmat 1 nbc 2 nic 0 nltf 1
node 1   coords 4  4.5826    2             0             1              bc 3 0 1 1
node 2   coords 4  4.5826    2            -4.5826    0.70711   bc 3 0 1 0
node 3   coords 4  0             2            -4.5826    1              bc 3 1 1 0
node 4   coords 4  3.5439    4.3796    0             0.8875     bc 3 0 0 1
node 5   coords 4  3.5439    4.3797   -3.5439    0.62756   bc 3 0 0 0
node 6   coords 4  0             4.3796   -3.5439    0.8875     bc 3 1 0 0
node 7   coords 4  1             4.899      0             1              bc 3 1 2 1
node 8   coords 4  1             4.899     -1             0.70711   bc 3 1 2 1
node 9   coords 4  0             4.899     -1             1              bc 3 1 2 1
node 10 coords 4  5.6569    2             0             1              bc 3 0 1 1
node 11 coords 4  5.6568    2            -5.6568    0.70711   bc 3 0 1 0
node 12 coords 4  0             2            -5.6569    1              bc 3 1 1 0
node 13 coords 4  4.3512    5.1742    0             0.8875     bc 3 0 0 1
node 14 coords 4  4.3511    5.1742   -4.3511    0.62756   bc 3 0 0 0
node 15 coords 4  0             5.1742   -4.3512    0.8875     bc 3 1 0 0
node 16 coords 4  1             5.9161    0             1              bc 3 1 2 1
node 17 coords 4  1             5.9161   -1             0.70711   bc 3 1 2 1
node 18 coords 4  0             5.9161   -1             1              bc 3 1 2 1
nurbs3delement 1 nodes 18 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 mat 1 crossSect 1 knotvectoru 2 0 1 knotmultiplicityu 2 3 3 knotvectorv 2 0 1 knotmultiplicityv 2 3 3 knotvectorw 2 0 1 knotmultiplicityw 2 2 2 degree 3 2 2 1 nip 64
#
SimpleCS 1
#
IsoLE 1 d 0. E 15.0e3 n 0.25 tAlpha 0.000012
BoundaryCondition  1 loadTimeFunction 1 prescribedvalue 0.0
BoundaryCondition  2 loadTimeFunction 1 prescribedvalue -1.0
ConstantFunction 1 f(t) 1.0


The followings are some of the contents in the "dome.out" file:


Node           1 (       1):
  dof 1   d  2.74486392e-01
  dof 2   d  0.00000000e+00
  dof 3   d  0.00000000e+00
Node           2 (       2):
  dof 1   d  2.74218982e-01
  dof 2   d  0.00000000e+00
  dof 3   d -2.74218982e-01
Node           3 (       3):
  dof 1   d  0.00000000e+00
  dof 2   d  0.00000000e+00
  dof 3   d -2.74486392e-01
   ……
   ……
element 1 (       1) :
  GP  0.1  :  strains   1.5911e-02 -9.1999e-02  5.7544e-02  6.2356e-04  8.5080e-03 -6.2483e-03
              stresses  7.9671e+01 -1.2153e+03  5.7927e+02  3.7413e+00  5.1048e+01 -3.7490e+01
  GP  0.2  :  strains   1.8127e-02 -5.9082e-02  5.4940e-02  3.3446e-03  7.5267e-03 -3.3329e-02
              stresses  3.0143e+02 -6.2507e+02  7.4319e+02  2.0068e+01  4.5160e+01 -1.9997e+02
  GP  0.3  :  strains   2.0544e-02 -2.3147e-02  5.1953e-02  6.3152e-03  6.4264e-03 -6.2893e-02
              stresses  5.4263e+02  1.8344e+01  9.1954e+02  3.7891e+01  3.8558e+01 -3.7736e+02
    ……
    ……
    R E A C T I O N S  O U T P U T:
    _______________________________


    Node        1 iDof  2 reaction  0.0000e+00    [bc-id: 1]
    Node        1 iDof  3 reaction  0.0000e+00    [bc-id: 1]
    Node        2 iDof  2 reaction  0.0000e+00    [bc-id: 1]
    Node        3 iDof  1 reaction  0.0000e+00    [bc-id: 1]
    Node        3 iDof  2 reaction  0.0000e+00    [bc-id: 1]
    Node        4 iDof  3 reaction  0.0000e+00    [bc-id: 1]
    Node        6 iDof  1 reaction  0.0000e+00    [bc-id: 1]


Then, I have some questions to ask:
1. Every control node has a weight, when the weight is 1, the control node lay on the geometry, and when the weight is not 1, the control node doesn’t lay on the geometry. So my first question is how to add boundary conditions. In the dome example, control nodes 7, 8, 9, 16, 17, 18 form the surface that subjected to a vertical displacement, is it right to set their bc conditions all to” bc 3 1 2 1”?
2. Then I use "./oofem –f dome.in –c" and get "dome.out" and "dome.out.1.0.osf". Part of the contents of dome.out is shown above, which means that a nonzero result that changing with integration point is obtained. However, when I use oofeg to make it become visible, the geometry and deformed geometry can be seen in oofeg. When I try to display variable plot, such as Sxx,Syy, the whole geometry has the same color and I cannot figure out why. Is this because I only use one element? My operating process of oofeg is "Active step-->NextStep, Mesh Plot-->Geom Plot, View-->Render-->Normal, Variable plot-->Scalar plot-->Stress/Force plot-->Sxx Stress/Force plot".
In input file "dome.in", we can see that oofem consider a single patch as one nurbs3delement. I want to know in the process of analysis in oofem, an element is a single patch or a single knot span?
3. I want to use IGA to solve vibration problems. Is oofem able to get the vibration mode of geometries using IGAElements and can oofeg do the visualization?
4. At last, I notice that IGAElement is the unsupported element geometry type that can do a VTK export. So I recommend to add the function which can export the IGA geometry and the variable plot to VTK export.

Post's attachments

dome.in 1.8 kb, 11 downloads since 2012-01-10 

You don't have the permssions to download the attachments of this post.

Re: Isogeometric Analysis with OOFEM

I can only help you with the last question
4. The VTK format only supports a limited set of elements (first and second order elements or the usual kind, tris, quads, tets, hexas).
The only thing I could even see as possible would be to split these into several ordinary elements and plot it as such, which would be quite complicated to say the least. In other words, don't expect it soon unless you are willing to add it yourself, if so, feel free.

Re: Isogeometric Analysis with OOFEM

Thanks for your reply.
I am a new to oofem so adding the functions myself seems impossible now.  If oofeg can do the visulization correctly, VTK export of IGAElement can be replaced.

Re: Isogeometric Analysis with OOFEM

It might not be that simple. There is no guarantee that VTK must be able to handle everything OOFEG can.
I'm not disagreeing with you that beeing able to export to VTK is usefull, it's just not that straight forward.
This is what is offered by VTK:
http://www.vtk.org/doc/nightly/html/classvtkCell.html

5

Re: Isogeometric Analysis with OOFEM

The are some partial answers to your questions (partially taken from Daniel reply to your e-mail), I will try to resolve some issues soon (as time permits):
1) If you prescribe uniform Dirichlet BC then it is correct to presribe the same bc (eg. bc 3 1 2 1) to all relevant control points. Should the BC be not uniform you must firstly calculate values of prescribed displacement at individual control points to best approximate(!) the desired BC and then use generally different bc for each control point.
2) At present the  implementation of graphics related to IGA in oofeg is moreless  "just to see somehow the results" and was not done generally enough to work in any case. The display of stresses and strains was hard-wired in the code (this means that always the same stress or strain value is shown regardless menu selection). This can be fixed easily in the code. Also there were also some other hacks to be able to see only relevant part of the geometry otherwise the figure generated by oofeg (using Elixir) was awfull. Sorry about that. We will try to improve oofeg.
3) The export to VTK is not straightforward, as the nurbs and t-splines are not supported directly, so each element has to be sampled using basic VTK primitives.  (In fact the same "trick" is done in oofeg)
All these features are relatively simple to implement, however, there is (at least at present) no time on our side to implement that. We plan to do that in future, so you can stay tuned or try to implement yourself. I can give you hints, if interested.

Re: Isogeometric Analysis with OOFEM

Dear bq,
Thank you for your answers. I was spending my winter holiday these days home so I am sorry for my late reply.
I am trying to solve eigenvalue problems with isogeometric method, however, it seems that oofem cannot solve these problems using IGAElements. So I want to ask you what kinds of problems can oofem solve with IGAElements. Is there only linear elasticity static problem it can solve at the present stage? Can you talk about the future direction you want to develop in oofem with IGA method in the following days?

Re: Isogeometric Analysis with OOFEM

As far as i can see, any element that supports the StiffnessMatrix and MassMatrix matrices are supported for eigenvalue analysis.
Seems the structural element evaluator (which the iga elements use) doesn't support mass matrices. It would probably not be very difficult to add mass matrices to the structural evaluator.
(On a side note, I don't quite see the reason for these evaluators.)