OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
alelec.F File Reference
#include "implicit_f.inc"
#include "com01_c.inc"
#include "com04_c.inc"
#include "param_c.inc"

Go to the source code of this file.

Functions/Subroutines

subroutine alelec (icode, ixs, ixq, ixc, ixt, ixtg, pm, igeo, itab, geo, nale_r2r, flag_r2r, multi_fvm, ale_connectivity, itherm, ishadow)

Function/Subroutine Documentation

◆ alelec()

subroutine alelec ( integer, dimension(*), intent(in) icode,
integer, dimension(3,numnod), intent(in) ixs,
integer, dimension(nixq,numelq), intent(in) ixq,
integer, dimension(nixc,numelc), intent(in) ixc,
integer, dimension(nixt,numelt), intent(in) ixt,
integer, dimension(nixtg,numeltg), intent(in) ixtg,
dimension(npropm,nummat), intent(in) pm,
integer, dimension(npropgi,numgeo), intent(in) igeo,
integer, dimension(numnod), intent(in) itab,
dimension(npropg,numgeo), intent(in) geo,
integer, dimension(*), intent(in) nale_r2r,
integer, intent(in) flag_r2r,
type(multi_fvm_struct), intent(in) multi_fvm,
type(t_ale_connectivity), intent(inout) ale_connectivity,
integer, intent(in) itherm,
logical, intent(in) ishadow )
Parameters
[in]ishadowshadowing option for detonators (Eikonal equation solver)

Definition at line 36 of file alelec.F.

40C-----------------------------------------------
41C D e s c r i p t i o n
42C-----------------------------------------------
43C This subroutine is building ALE connectivities
44C 'NN' stands for Node/Node
45C 'NE' stands for Node/Elem
46C 'EE' stands for Elem/Elem
47C In addition to that the subroutine is also marking ALE nodes
48C-----------------------------------------------
49C M o d u l e s
50C-----------------------------------------------
51 USE message_mod
52 USE multi_fvm_mod
54C-----------------------------------------------
55C I m p l i c i t T y p e s
56C-----------------------------------------------
57#include "implicit_f.inc"
58C-----------------------------------------------
59C C o m m o n B l o c k s
60C-----------------------------------------------
61#include "com01_c.inc"
62#include "com04_c.inc"
63#include "param_c.inc"
64C-----------------------------------------------
65C D u m m y A r g u m e n t s
66C-----------------------------------------------
67 INTEGER,INTENT(IN) :: ITHERM
68 LOGICAL,INTENT(IN) :: ISHADOW !< shadowing option for detonators (Eikonal equation solver)
69 INTEGER,INTENT(IN) :: ICODE(*),IXS(3,NUMNOD),IXQ(NIXQ,NUMELQ),IXC(NIXC,NUMELC),IXT(NIXT,NUMELT),IXTG(NIXTG,NUMELTG)
70 INTEGER,INTENT(IN) :: ITAB(NUMNOD), NALE_R2R(*),FLAG_R2R,IGEO(NPROPGI,NUMGEO)
71 my_real,INTENT(IN) :: pm(npropm,nummat), geo(npropg,numgeo)
72 TYPE(MULTI_FVM_STRUCT), INTENT(IN) :: MULTI_FVM
73 TYPE(t_ale_connectivity), INTENT(INOUT) :: ALE_CONNECTIVITY
74C-----------------------------------------------
75C L o c a l V a r i a b l e s
76C-----------------------------------------------
77 INTEGER :: I
78C-----------------------------------------------
79C S o u r c e L i n e s
80C-----------------------------------------------
81 CALL ale_connectivity%ALE_COMPUTE_EE_CONNECTIVITY(
82 . pm , igeo,
83 . npropgi, numgeo, npropm, nummat , numnod , numelq, numeltg, numels, n2d,
84 . iale , ieuler, itherm, ialelag, ishadow,
85 . nixq , nixtg , nixs ,
86 . ixq , ixtg , ixs )
87
88 IF (ale_connectivity%has_ne_connect .OR. ale_connectivity%has_nn_connect) THEN
89 CALL ale_connectivity%ALE_COMPUTE_CONNECTIVITY(
90 . numnod, numelq, numeltg, numels,
91 . nixq , nixtg , nixs ,
92 . ixq , ixtg , ixs)
93 ENDIF
94
95 CALL ale_check_lag(ale_connectivity%NALE,ixs,ixq,ixc,ixt,ixtg,pm,itab,nale_r2r,flag_r2r,igeo)
96
97 IF (ale_connectivity%has_nn_connect) THEN
98 CALL alesop(ale_connectivity%NALE, ale_connectivity%NN_CONNECT, icode, itab)
99 ENDIF
100
101
102 !ALE NODES ARE HERE MARKED
103 IF (n2d == 0)THEN
104 CALL aleso3(ale_connectivity,pm,ixs,geo,igeo)
105 ELSEIF( .NOT. multi_fvm%IS_USED .OR. numelq /= 0) THEN
106 CALL aleso2(ale_connectivity,pm,ixq,igeo)
107 ELSE
108 CALL aleso2t(ale_connectivity, pm, ixtg,igeo)
109 ENDIF
110
111 !SPECIFIC MARKER FOR COLOCATED SCHEME (LAW51)
112 IF(multi_fvm%IS_USED)THEN
113 DO i=1,numnod
114 IF( ale_connectivity%NALE(i)==151)THEN
115 ale_connectivity%NALE(i)=-1
116 ELSEIF(ale_connectivity%NALE(i)==152)THEN
117 ale_connectivity%NALE(i)=-2
118 ENDIF
119 ENDDO
120 ENDIF
121C-----------------------------------------------
122 RETURN
subroutine ale_check_lag(nale, ixs, ixq, ixc, ixt, ixtg, pm, itab, nale_r2r, flag_r2r, igeo)
subroutine aleso2(ale_connectivity, pm, ixq, igeo)
Definition aleso2.F:31
subroutine aleso2t(ale_connectivity, pm, ixtg, igeo)
Definition aleso2t.F:30
subroutine aleso3(ale_connectivity, pm, ixs, geo, igeo)
Definition aleso3.F:30
subroutine alesop(nale, ale_nn_connect, icode, itab)
Definition alesop.F:30
#define my_real
Definition cppsort.cpp:32