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

Go to the source code of this file.

Functions/Subroutines

subroutine add_sm_st_corio (au, ad, jq, irow, i, j, value, i0, i1)
 

Function/Subroutine Documentation

◆ add_sm_st_corio()

subroutine add_sm_st_corio ( real*8, dimension(*)  au,
real*8, dimension(*)  ad,
integer, dimension(*)  jq,
integer, dimension(*)  irow,
integer  i,
integer  j,
real*8  value,
integer  i0,
integer  i1 
)
20 !
21 ! stores the stiffness coefficient (i,j) with value "value"
22 ! in the stiffness matrix stored in spare matrix format
23 !
24 ! modification for Coriolis: the Coriolis matrix is antisymmetric,
25 ! i.e. the transpose is the negative matrix: A^T=-A
26 !
27  implicit none
28 !
29  integer jq(*),irow(*),i,j,ii,jj,ipointer,id,i0,i1
30  real*8 ad(*),au(*),value,valuenew
31 !
32  if(i.eq.j) then
33 c if(i0.eq.i1) then
34 c ad(i)=ad(i)+value
35 c else
36 c ad(i)=ad(i)+2.d0*value
37 c endif
38  return
39  elseif(i.gt.j) then
40  ii=i
41  jj=j
42  valuenew=value
43  else
44  ii=j
45  jj=i
46  valuenew=-value
47  endif
48 !
49  call nident(irow(jq(jj)),ii,jq(jj+1)-jq(jj),id)
50 !
51  ipointer=jq(jj)+id-1
52 !
53  if(irow(ipointer).ne.ii) then
54  write(*,*) '*ERROR in add_sm_st: coefficient should be 0'
55  call exit(201)
56  else
57  au(ipointer)=au(ipointer)+valuenew
58  endif
59 !
60  return
subroutine nident(x, px, n, id)
Definition: nident.f:26
Hosted by OpenAircraft.com, (Michigan UAV, LLC)