1! 2! CalculiX - A 3-dimensional finite element program 3! Copyright (C) 1998-2021 Guido Dhondt 4! 5! This program is free software; you can redistribute it and/or 6! modify it under the terms of the GNU General Public License as 7! published by the Free Software Foundation(version 2); 8! 9! 10! This program is distributed in the hope that it will be useful, 11! but WITHOUT ANY WARRANTY; without even the implied warranty of 12! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13! GNU General Public License for more details. 14! You should have received a copy of the GNU General Public License 15! along with this program; if not, write to the Free Software 16! Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 17! 18 subroutine rcavi2(node1,node2,nodem,nelem,lakon,kon,ipkon, 19 & nactdog,identity,ielprop,prop,iflag,v,xflow,f, 20 & nodef,idirf,df,cp,R,physcon,dvi,numf,set,mi,ttime,time, 21 & iaxial,iplausi) 22! 23! rotating cavity element 24! 25! author: Yannick Muller 26! 27 implicit none 28! 29 logical identity 30 character*8 lakon(*) 31 character*81 set(*) 32! 33 integer nelem,nactdog(0:3,*),node1,node2,nodem,numf, 34 & ielprop(*),nodef(*),idirf(*),index,iflag,mi(*), 35 & inv,ipkon(*),kon(*),kgas,nelem_in,nelem_out,iaxial, 36 & element0,node10,node20,node11,node21,node12,node22,node_cav, 37 & node_main,node_main2,node_in1,node_out1,node_in2,node_out2, 38 & iplausi 39! 40 real*8 prop(*),v(0:mi(2),*),xflow,f,df(*),kappa,R,a,d, 41 & p1,p2,T1,T2,Aeff,C1,C2,C3,cd,cp,physcon(*),p2p1,km1,dvi, 42 & kp1,kdkm1,tdkp1,km1dk,x,y,ca1,cb1,ca2,cb2,dT1,alambda, 43 & reynolds,pi,xflow_oil,s,Tcav,pcav,pmin,pmax,ttime,time, 44 & Tref,Alpha1, Alpha2, Alpha3, GF,kf,MRTAP_ref_ein, 45 & MRTAP_ref_aus, m_ref_ein, m_ref_aus,maus_zu_mref, 46 & mein_zu_mref, A_aus, A_ein, A_ges,m_aus, m_ein, m_sperr 47! 48! 49! 50 pi=4.d0*datan(1.d0) 51! 52 if (iflag.eq.0) then 53 identity=.true. 54! 55 if(nactdog(2,node1).ne.0)then 56 identity=.false. 57 elseif(nactdog(2,node2).ne.0)then 58 identity=.false. 59 elseif(nactdog(1,nodem).ne.0)then 60 identity=.false. 61 endif 62! 63 elseif (iflag.eq.1) then 64 if(v(1,nodem).ne.0.d0) return 65! 66 p1=v(2,node1) 67 call rcavi_cp_lt(xflow) 68 69 call rcavi_cp_nt(xflow) 70 elseif (iflag.eq.2) then 71! 72 elseif (iflag.eq.3) then 73! 74 endif 75 return 76 end 77