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

Go to the source code of this file.

Functions/Subroutines

subroutine objective_freq_cs (dgdx, df, vold, ndesi, iobject, mi, nactdofinv, jqs, irows, nk, nzss)
 

Function/Subroutine Documentation

◆ objective_freq_cs()

subroutine objective_freq_cs ( real*8, dimension(ndesi,*)  dgdx,
real*8, dimension(*)  df,
real*8, dimension(0:mi(2),*)  vold,
integer  ndesi,
integer  iobject,
integer, dimension(*)  mi,
integer, dimension(*)  nactdofinv,
integer, dimension(*)  jqs,
integer, dimension(*)  irows,
integer  nk,
integer  nzss 
)
22 !
23  implicit none
24 !
25  integer ndesi,iobject,mi(*),idesvar,j,idir,nk,nzss,
26  & jqs(*),irows(*),nactdofinv(*),node,idof,inode,mt
27 !
28  real*8 dgdx(ndesi,*),df(*),vold(0:mi(2),*)
29 !
30 ! ----------------------------------------------------------------
31 ! Calculation of the frequency sensitivity in the cyclic symmetric case
32 !
33 ! dgdx = -vold_R^T*df_R+vold_I^T*df_I
34 !
35 ! notice that df was calculated in mafillsmcsse as
36 ! - (K-lambda*M)*eigenvector
37 ! ----------------------------------------------------------------
38 !
39  mt=mi(2)+1
40 !
41  do idesvar=1,ndesi
42  do j=jqs(idesvar),jqs(idesvar+1)-1
43  idof=irows(j)
44  inode=nactdofinv(idof)
45  node=inode/mt+1
46  idir=inode-mt*(inode/mt)
47  dgdx(idesvar,iobject)=dgdx(idesvar,iobject)
48  & -vold(idir,node)*df(j)-vold(idir,nk+node)*df(nzss+j)
49  enddo
50  enddo
51 !
52  return
subroutine df(x, u, uprime, rpar, nev)
Definition: subspace.f:133
Hosted by OpenAircraft.com, (Michigan UAV, LLC)