OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
weighting_cell_nodes.F File Reference
#include "implicit_f.inc"
#include "inter22.inc"
#include "comlock.inc"

Go to the source code of this file.

Functions/Subroutines

subroutine weighting_cell_nodes (nin, ib, icell, ires, idemerge)

Function/Subroutine Documentation

◆ weighting_cell_nodes()

subroutine weighting_cell_nodes ( integer, intent(in) nin,
integer, intent(in) ib,
integer, intent(in) icell,
integer, intent(inout) ires,
integer, intent(inout) idemerge )

Definition at line 30 of file weighting_cell_nodes.F.

32C-----------------------------------------------
33C D e s c r i p t i o n
34C-----------------------------------------------
35C Interface Type22 (/INTER/TYPE22) is an FSI coupling method based on cut cell method.
36C This experimental cut cell method is not completed, abandoned, and is not an official option.
37C
38! Get Nodes which is the farthest from intersection points
39! equivalent to calculating mean adjacent surface ratio.
40C-----------------------------------------------
41C M o d u l e s
42C-----------------------------------------------
43c USE INITBUF_MOD
45c USE I22TRI_MOD
46c USE ELBUFDEF_MOD
47C-----------------------------------------------
48C I m p l i c i t T y p e s
49C-----------------------------------------------
50#include "implicit_f.inc"
51C-----------------------------------------------
52C C o m m o n B l o c k s
53C-----------------------------------------------
54#include "inter22.inc"
55#include "comlock.inc"
56C-----------------------------------------------
57C D u m m y A r g u m e n t s
58C-----------------------------------------------
59 INTEGER,INTENT(IN) :: NIN,IB,ICELL
60 INTEGER,INTENT(INOUT) :: IRES, IDEMERGE
61C-----------------------------------------------
62C L o c a l V a r i a b l e s
63C-----------------------------------------------
64 INTEGER :: IsMain, N, IPOS, LEVEL, J, IFAC, I, NumNOD, ListNOD(8),K, NbCut
65 my_real :: alpha(8),tag(6),ratio(6), nfac(8)
66C-----------------------------------------------
67C P r e - C o n d i t i o n
68C-----------------------------------------------
69 !IF(INT22==0)RETURN !already checked
70C-----------------------------------------------
71C S o u r c e L i n e s
72C-----------------------------------------------
73
74 ires = 0
75 nfac(1:8) = zero
76 idemerge = 0
77
78 numnod = brick_list(nin,ib)%POLY(icell)%NumNOD
79 nbcut = brick_list(nin,ib)%NbCut
80 listnod(1:8) = brick_list(nin,ib)%POLY(icell)%ListNodID(1:8)
81 alpha(1:8) =zero
82
83 DO j=1,6
84 ratio(j) = brick_list(nin,ib)%POLY(icell)%FACE(j)%Surf / brick_list(nin,ib)%Face_Brick(j)
85 ENDDO
86
87 DO k=1,numnod
88 i = listnod(k)
89 DO j=1,3
90 ifac = int22_buf%iFacesFromNode(i,j)
91 !IF(RATIO(IFAC)==ZERO)CYCLE
92 nfac(i) = nfac(i) + one
93 alpha(i) = alpha(i) + ratio(ifac)
94 enddo!next J
95 IF(nfac(i)>zero)alpha(i) = alpha(i) / nfac(i)
96 IF(alpha(i)>critdvol22 .AND. brick_list(nin,ib)%NODE(i)%NodWasMain==0)idemerge=1
97 enddo!next K
98
99 IF(numnod>0) ires = maxloc(alpha(1:8),1)
100
101! IF(NumNOD==0)THEN
102! print *, "**error : inter22. Connectivity issue."
103! stop
104! ENDIF
105
106 RETURN
#define my_real
Definition cppsort.cpp:32
#define alpha
Definition eval.h:35
type(brick_entity), dimension(:,:), allocatable, target brick_list
type(int22_buf_t) int22_buf