Author Topic: Modelling two different material laws which have different degree of freedoms  (Read 5156 times)

HuyThai

  • New Member
  • *
  • Posts: 3
Dear all,
I'm currently using FEAP 8.2 and I'd like to use two different material laws which I created for my simulation. Two materials are linked at the contact area.   

But there are different number of degree of freedoms(dofs) in each material laws. For example, first material is purely mechanics with displacement field as dofs and second material is defined with both displacement field and temperature field as dofs.

In the input file for FEAP, there always start with

"FEAP **
NUMNP NUMEL NUMMAT NDIM NDOF NEN"

where NDOF declares number of degree of freedoms of the elements. If I put the maximum NDOF as my second material laws which have higher dofs, my first material which have less dofs can not work.

Does anyone have experience about this situation in FEAP? Or any idea or suggestion?

My best regards,
Huy Thai       


luc

  • Full Member
  • ***
  • Posts: 53
You can declare ndof as the maximum for your two material so 3 displacements + 1 temperature = 4.
Then in the user element that you have for the displacement only, you can set masks to remove the equations for the temperature.
The masking of dofs is done in isw.eq.1 where you have to set ix(ndf,nen) to 1 to active dof and 0 to deactivate dof, see below

do i = 1,nen
   do j = 1,3
      ix(j,i) = 1   <--- activate u_x,u_y,u_x
   enddo
   ix(4,i) = 0    <--- deactivate T
enddo

This works assuming that you use user elements if you use feap's element I don't know how you can do it.

HuyThai

  • New Member
  • *
  • Posts: 3
Thank you LUC for your useful reply! Yes I am using my user element. By the way, do I also need to change the size my stiffness matrix for the materials with purely displacement (3x3 per Gauss point) to 4x4 per Gauss point? 
 
My regards,
Huy Thai

Prof. R.L. Taylor

  • Administrator
  • FEAP Guru
  • *****
  • Posts: 2649
You should look at how we code our elements.  We always assume that the elements are blocked as ndof x ndof units related to each node.  ndof = NDF the maximum number of dofs/node.  In this way the elements always work no matter how many dof's are specified.  We also provide for a way to mask off unused dofs in each element (see programmers manual for details).  This avoids having zero entries in the global stiffness matrix.

HuyThai

  • New Member
  • *
  • Posts: 3
Thank Prof Taylor for your information.

Huy Thai