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 identifytransform(nelement,label,nelemload,sideload,
20     &  nload,loadid)
21!
22!     checks whether a transformation was applied to a given face,
23!     and if so, which one (only for CFD)
24!
25      implicit none
26!
27      character*20 label,sideload(*)
28!
29      integer nelemload(2,*),nelement,nload,id,loadid
30!
31      loadid=0
32!
33      call nident2(nelemload,nelement,nload,id)
34      if(id.gt.0) then
35!
36!        it is possible that several *DLOAD, *FILM or
37!        *RADIATE boundary conditions are applied to one
38!        and the same element
39!
40         if(nelemload(1,id).eq.nelement) then
41            do
42               if (sideload(id).eq.label) then
43                  loadid=id
44               elseif(sideload(id).lt.label) then
45                  exit
46               endif
47               id=id-1
48               if((id.eq.0).or.(nelemload(1,id).ne.nelement)) then
49                  exit
50               endif
51            enddo
52         endif
53      endif
54!
55      return
56      end
57
58