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! 15! You should have received a copy of the GNU General Public License 16! along with this program; if not, write to the Free Software 17! Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 18! 19 subroutine extrapolate_u(yi,yn,ipkon,inum,kon,lakon,nfield,nk, 20 & ne,mi,ndim,orab,ielorien,co,iorienloc,cflag, 21 & vold,force,ielmat,thicke,ielprop,prop,i) 22! 23! extrapolates nfield values at the integration points to the 24! nodes for user element i 25! 26 implicit none 27! 28 logical force 29! 30 character*1 cflag 31 character*8 lakon(*) 32! 33 integer ipkon(*),inum(*),kon(*),mi(*),ne,nfield,nk,i,ndim, 34 & iorienloc,ielorien(mi(3),*),ielmat(mi(3),*),ielprop(*) 35! 36 real*8 yi(ndim,mi(1),*),yn(nfield,*),orab(7,*),co(3,*),prop(*), 37 & vold(0:mi(2),*),thicke(mi(3),*) 38! 39 if(lakon(i)(2:3).eq.'1 ') then 40 call extrapolate_u1(yi,yn,ipkon,inum,kon,lakon,nfield,nk, 41 & ne,mi,ndim,orab,ielorien,co,iorienloc,cflag, 42 & vold,force,ielmat,thicke,ielprop,prop,i) 43 elseif(lakon(i)(2:3).eq.'S3') then 44 call extrapolate_us3(yi,yn,ipkon,inum,kon,lakon,nfield,nk, 45 & ne,mi,ndim,orab,ielorien,co,iorienloc,cflag, 46 & vold,force,ielmat,thicke,ielprop,prop,i) 47 elseif(lakon(i)(2:4).eq.'S45') then 48 call extrapolate_us45(yi,yn,ipkon,inum,kon,lakon,nfield,nk, 49 & ne,mi,ndim,orab,ielorien,co,iorienloc,cflag, 50 & vold,force,ielmat,thicke,ielprop,prop,i) 51 endif 52! 53 return 54 end 55