CalculiX  2.13
A Free Software Three-Dimensional Structural Finite Element Program
e_c3d_u.f File Reference

Go to the source code of this file.

Functions/Subroutines

subroutine e_c3d_u (co, kon, lakonl, p1, p2, omx, bodyfx, nbody, s, sm, ff, nelem, nmethod, elcon, nelcon, rhcon, nrhcon, alcon, nalcon, alzero, ielmat, ielorien, norien, orab, ntmat_, t0, t1, ithermal, vold, iperturb, nelemload, sideload, xload, nload, idist, sti, stx, iexpl, plicon, nplicon, plkcon, nplkcon, xstiff, npmat_, dtime, matname, mi, ncmat_, mass, stiffness, buckling, rhsi, intscheme, ttime, time, istep, iinc, coriolis, xloadold, reltime, ipompc, nodempc, coefmpc, nmpc, ikmpc, ilmpc, veold, ne0, ipkon, thicke, integerglob, doubleglob, tieset, istartset, iendset, ialset, ntie, nasym, ielprop, prop)
 

Function/Subroutine Documentation

◆ e_c3d_u()

subroutine e_c3d_u ( real*8, dimension(3,*), intent(in)  co,
integer, dimension(*), intent(in)  kon,
character*8, intent(in)  lakonl,
real*8, dimension(3), intent(in)  p1,
real*8, dimension(3), intent(in)  p2,
real*8, intent(in)  omx,
real*8, dimension(3), intent(in)  bodyfx,
integer, intent(in)  nbody,
real*8, dimension(60,60), intent(inout)  s,
real*8, dimension(60,60), intent(inout)  sm,
real*8, dimension(60), intent(inout)  ff,
integer, intent(in)  nelem,
integer, intent(inout)  nmethod,
real*8, dimension(0:ncmat_,ntmat_,*), intent(in)  elcon,
integer, dimension(2,*), intent(in)  nelcon,
real*8, dimension(0:1,ntmat_,*), intent(in)  rhcon,
integer, dimension(*), intent(in)  nrhcon,
real*8, dimension(0:6,ntmat_,*), intent(in)  alcon,
integer, dimension(2,*), intent(in)  nalcon,
real*8, dimension(*), intent(in)  alzero,
integer, dimension(mi(3),*), intent(in)  ielmat,
integer, dimension(mi(3),*), intent(in)  ielorien,
integer, intent(in)  norien,
real*8, dimension(7,*), intent(in)  orab,
integer, intent(in)  ntmat_,
real*8, dimension(*), intent(in)  t0,
real*8, dimension(*), intent(in)  t1,
integer, intent(in)  ithermal,
real*8, dimension(0:mi(2),*), intent(in)  vold,
integer, dimension(*), intent(in)  iperturb,
integer, dimension(2,*), intent(in)  nelemload,
character*20, dimension(*), intent(in)  sideload,
real*8, dimension(2,*), intent(inout)  xload,
integer, intent(in)  nload,
integer, intent(in)  idist,
real*8, dimension(6,mi(1),*), intent(in)  sti,
real*8, dimension(6,mi(1),*), intent(in)  stx,
integer, intent(in)  iexpl,
real*8, dimension(0:2*npmat_,ntmat_,*), intent(in)  plicon,
integer, dimension(0:ntmat_,*), intent(in)  nplicon,
real*8, dimension(0:2*npmat_,ntmat_,*), intent(in)  plkcon,
integer, dimension(0:ntmat_,*), intent(in)  nplkcon,
real*8, dimension(27,mi(1),*), intent(in)  xstiff,
integer, intent(in)  npmat_,
real*8, intent(in)  dtime,
character*80, dimension(*), intent(in)  matname,
integer, dimension(*), intent(in)  mi,
integer, intent(in)  ncmat_,
integer, dimension(*), intent(in)  mass,
integer, intent(in)  stiffness,
integer, intent(in)  buckling,
integer, intent(in)  rhsi,
integer, intent(in)  intscheme,
real*8, intent(in)  ttime,
real*8, intent(in)  time,
integer, intent(in)  istep,
integer, intent(in)  iinc,
integer, intent(in)  coriolis,
real*8, dimension(2,*), intent(in)  xloadold,
real*8, intent(in)  reltime,
integer, dimension(*), intent(in)  ipompc,
integer, dimension(3,*), intent(in)  nodempc,
real*8, dimension(*), intent(in)  coefmpc,
integer, intent(in)  nmpc,
integer, dimension(*), intent(in)  ikmpc,
integer, dimension(*), intent(in)  ilmpc,
real*8, dimension(0:mi(2),*), intent(in)  veold,
integer, intent(in)  ne0,
integer, dimension(*), intent(in)  ipkon,
real*8, dimension(mi(3),*), intent(in)  thicke,
integer, dimension(*), intent(in)  integerglob,
real*8, dimension(*), intent(in)  doubleglob,
character*81, dimension(3,*), intent(in)  tieset,
integer, dimension(*), intent(in)  istartset,
integer, dimension(*), intent(in)  iendset,
integer, dimension(*), intent(in)  ialset,
integer, intent(in)  ntie,
integer, intent(in)  nasym,
integer, dimension(*), intent(in)  ielprop,
real*8, dimension(*), intent(in)  prop 
)
31 !
32 ! computation of the element matrix and rhs for the user element
33 ! of type u1
34 !
35 ! This is a beam type element. Reference:
36 ! Yunhua Luo, An Efficient 3D Timoshenko Beam Element with
37 ! Consistent Shape Functions, Adv. Theor. Appl. Mech., Vol. 1,
38 ! 2008, no. 3, 95-106
39 !
40 ! special case for which the beam axis goes through the
41 ! center of gravity of the cross section and the 1-direction
42 ! corresponds with a principal axis
43 !
44  implicit none
45 !
46  integer mass(*),stiffness,buckling,rhsi,coriolis
47 !
48  character*8 lakonl
49  character*20 sideload(*)
50  character*80 matname(*),amat
51  character*81 tieset(3,*)
52 !
53  integer konl(26),nelemload(2,*),nbody,nelem,mi(*),kon(*),
54  & ielprop(*),null,index,mattyp,ithermal,iperturb(*),nload,idist,
55  & i,j,i1,nmethod,kk,nelcon(2,*),nrhcon(*),nalcon(2,*),
56  & ielmat(mi(3),*),ielorien(mi(3),*),ipkon(*),indexe,
57  & ntmat_,nope,norien,ihyper,iexpl,kode,imat,iorien,istiff,
58  & ncmat_,intscheme,istep,iinc,iflag,ipompc(*),nodempc(3,*),
59  & nmpc,ikmpc(*),ilmpc(*),ne0,ndof,istartset(*),iendset(*),
60  & ialset(*),ntie,integerglob(*),nasym,nplicon(0:ntmat_,*),
61  & nplkcon(0:ntmat_,*),npmat_
62 !
63  real*8 co(3,*),xl(3,26),veold(0:mi(2),*),rho,s(60,60),bodyfx(3),
64  & ff(60),elconloc(21),coords(3),p1(3),elcon(0:ncmat_,ntmat_,*),
65  & p2(3),eth(6),rhcon(0:1,ntmat_,*),reltime,prop(*),
66  & alcon(0:6,ntmat_,*),alzero(*),orab(7,*),t0(*),t1(*),
67  & xloadold(2,*),vold(0:mi(2),*),xload(2,*),omx,e,un,um,tt,
68  & sm(60,60),sti(6,mi(1),*),stx(6,mi(1),*),t0l,t1l,coefmpc(*),
69  & elas(21),thicke(mi(3),*),doubleglob(*),dl,
70  & plicon(0:2*npmat_,ntmat_,*),plkcon(0:2*npmat_,ntmat_,*),
71  & xstiff(27,mi(1),*),plconloc(802),dtime,ttime,time,
72  & a,xi11,xi12,xi22,xk,e1(3),offset1,offset2,y1,y2,y3,z1,z2,z3
73 !
74  intent(in) co,kon,lakonl,p1,p2,omx,bodyfx,nbody,
75  & nelem,elcon,nelcon,rhcon,nrhcon,alcon,nalcon,alzero,
76  & ielmat,ielorien,norien,orab,ntmat_,
77  & t0,t1,ithermal,vold,iperturb,nelemload,
78  & sideload,nload,idist,sti,stx,iexpl,plicon,
79  & nplicon,plkcon,nplkcon,xstiff,npmat_,dtime,
80  & matname,mi,ncmat_,mass,stiffness,buckling,rhsi,intscheme,
81  & ttime,time,istep,iinc,coriolis,xloadold,reltime,
82  & ipompc,nodempc,coefmpc,nmpc,ikmpc,ilmpc,veold,
83  & ne0,ipkon,thicke,
84  & integerglob,doubleglob,tieset,istartset,iendset,ialset,ntie,
85  & nasym,ielprop,prop
86 !
87  intent(inout) s,sm,ff,xload,nmethod
88 !
89  if(lakonl(2:2).eq.'1') then
90  call e_c3d_u1(co,kon,lakonl,p1,p2,omx,bodyfx,nbody,s,sm,
91  & ff,nelem,nmethod,elcon,nelcon,rhcon,nrhcon,alcon,nalcon,
92  & alzero,ielmat,ielorien,norien,orab,ntmat_,
93  & t0,t1,ithermal,vold,iperturb,nelemload,
94  & sideload,xload,nload,idist,sti,stx,iexpl,plicon,
95  & nplicon,plkcon,nplkcon,xstiff,npmat_,dtime,
96  & matname,mi,ncmat_,mass,stiffness,buckling,rhsi,intscheme,
97  & ttime,time,istep,iinc,coriolis,xloadold,reltime,
98  & ipompc,nodempc,coefmpc,nmpc,ikmpc,ilmpc,veold,
99  & ne0,ipkon,thicke,integerglob,doubleglob,tieset,istartset,
100  & iendset,ialset,ntie,nasym,ielprop,prop)
101  else
102  write(*,*) '*ERROR in e_c3d_u.f: user element'
103  write(*,*) ' ',lakonl(1:5),' is not defined'
104  call exit(201)
105  endif
106 !
107  return
static double * z1
Definition: filtermain.c:48
static ITG * idist
Definition: radflowload.c:39
subroutine e_c3d_u1(co, kon, lakonl, p1, p2, omx, bodyfx, nbody, s, sm, ff, nelem, nmethod, elcon, nelcon, rhcon, nrhcon, alcon, nalcon, alzero, ielmat, ielorien, norien, orab, ntmat_, t0, t1, ithermal, vold, iperturb, nelemload, sideload, xload, nload, idist, sti, stx, iexpl, plicon, nplicon, plkcon, nplkcon, xstiff, npmat_, dtime, matname, mi, ncmat_, mass, stiffness, buckling, rhsi, intscheme, ttime, time, istep, iinc, coriolis, xloadold, reltime, ipompc, nodempc, coefmpc, nmpc, ikmpc, ilmpc, veold, ne0, ipkon, thicke, integerglob, doubleglob, tieset, istartset, iendset, ialset, ntie, nasym, ielprop, prop)
Definition: e_c3d_u1.f:31
Hosted by OpenAircraft.com, (Michigan UAV, LLC)