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

Go to the source code of this file.

Functions/Subroutines

subroutine nodalp (ifunc, wa4, wa4_fvm, iflow, rflow, iparg, elbuf_tab, ix, nix, numel, itab, nv46, monvol, volmon, airbags_total_fvm_in_h3d, is_written_node, is_written_node_fvm, ispmd, fvdata_p, swa4, airbags_node_id_shift)

Function/Subroutine Documentation

◆ nodalp()

subroutine nodalp ( integer, intent(in) ifunc,
real, dimension(swa4), intent(inout) wa4,
real, dimension(airbags_total_fvm_in_h3d), intent(inout) wa4_fvm,
integer, dimension(*), intent(in) iflow,
dimension(*), intent(in) rflow,
integer, dimension(nparg,ngroup), intent(in) iparg,
type (elbuf_struct_), dimension(ngroup), intent(in), target elbuf_tab,
integer, dimension(nix,numel), intent(in) ix,
integer, intent(in) nix,
integer, intent(in) numel,
integer, dimension(numnod), intent(in) itab,
integer, intent(in) nv46,
integer, dimension(smonvol), intent(in) monvol,
dimension(svolmon), intent(in) volmon,
integer, intent(in) airbags_total_fvm_in_h3d,
integer, dimension(numnod), intent(inout) is_written_node,
integer, dimension(airbags_total_fvm_in_h3d), intent(inout) is_written_node_fvm,
integer, intent(in) ispmd,
type(fvbag_data), dimension(nfvbag), intent(in) fvdata_p,
integer, intent(in) swa4,
integer, intent(in) airbags_node_id_shift )

Definition at line 38 of file nodalp.F.

43C-----------------------------------------------
44C D e s c r i p t i o n
45C-----------------------------------------------
46C This subroutine defines & writes nodal pressure requested by Engine keywords /ANIM/NODA/P or /H3D/NODA/P
47C /BEM/FLOW (nodal Pressure & nodal Potential).
48C /INTER/TYPE22 (nodal Pressure from polyhedra, specific buffer).
49C /MONVOL/FVMBAG* (nodal Pressure from polyhedra, specific buffer).
50C DEFAULT (nodal Pressure from adjacent elems)
51C-----------------------------------------------
52C P r e - C o n d i t i o n s
53C-----------------------------------------------
54C none
55C-----------------------------------------------
56C M o d u l e s
57C-----------------------------------------------
58 USE initbuf_mod
59 USE elbufdef_mod
60 USE fvbag_mod , only:fvbag_data,nfvbag
61 USE groupdef_mod , only:group_
62C-----------------------------------------------
63C I m p l i c i t T y p e s
64C-----------------------------------------------
65#include "implicit_f.inc"
66C-----------------------------------------------
67C C o m m o n B l o c k s
68C-----------------------------------------------
69#include "com01_c.inc"
70#include "com04_c.inc"
71#include "vect01_c.inc"
72#include "param_c.inc"
73#include "tabsiz_c.inc"
74C-----------------------------------------------
75C D u m m y A r g u m e n t s
76C-----------------------------------------------
77 INTEGER,INTENT(IN) :: NUMEL, IFUNC, NIX, NV46,ITAB(NUMNOD),ISPMD, SWA4, AIRBAGS_NODE_ID_SHIFT
78 INTEGER,INTENT(IN) :: IFLOW(*),IPARG(NPARG,NGROUP),IX(NIX,NUMEL)
79 my_real,INTENT(IN) :: rflow(*)
80 INTEGER, INTENT(IN) :: AIRBAGS_TOTAL_FVM_IN_H3D
81 REAL,INTENT(INOUT) :: WA4(SWA4), WA4_FVM(AIRBAGS_TOTAL_FVM_IN_H3D)
82 TYPE (ELBUF_STRUCT_), INTENT(IN), DIMENSION(NGROUP), TARGET :: ELBUF_TAB
83 INTEGER,INTENT(IN) :: MONVOL(SMONVOL)
84 my_real,INTENT(IN) :: volmon(svolmon)
85 INTEGER,INTENT(INOUT) :: IS_WRITTEN_NODE_FVM(AIRBAGS_TOTAL_FVM_IN_H3D), IS_WRITTEN_NODE(NUMNOD)
86 TYPE(FVBAG_DATA),INTENT(IN) :: FVDATA_P(NFVBAG)
87C-----------------------------------------------
88C L o c a l V a r i a b l e s
89C-----------------------------------------------
90 INTEGER IADI, IADR, I, ITYP, NINOUT, NNO, NEL, NELv,II1, II2,
91 . IR1, IR2, J, JJ, NNO_L, NNI_L, II3, II4, JJJ, NNI,
92 . IALEL,NNOD,IPOS,IV,NGv,IDLOCv,J1,J2,IBV
93 INTEGER MLW, NG, KCVT, II(6), NBF, NBL, IB, ICELL, NIN, MCELL
94 TYPE(G_BUFEL_) ,POINTER :: GBUF,GBUFv
95 my_real, ALLOCATABLE, DIMENSION(:) :: count_vol
96 my_real p,v
97 INTEGER,DIMENSION(:,:), POINTER :: pAdjBRICK
98C-----------------------------------------------
99C S o u r c e L i n e s
100C-----------------------------------------------
101
102C------------------------------------------------------------------
103C DEFAULT - ALL ELEMS (HEXA,PENTA, SHELL, QUAD, ..)
104C expand elem pressure to elem nodes
105C------------------------------------------------------------------
106 CALL anim_nodal_p_elems(ifunc, wa4, iparg, elbuf_tab, ix, nix, numel, itab, nv46, is_written_node)
107
108C------------------------------------------------------------------
109C /MONVOL/FVMBAG*
110C set pressure from polyhedra centroids
111C------------------------------------------------------------------
112 IF(nfvbag > 0 .AND. ispmd == 0 .AND. airbags_total_fvm_in_h3d > 0)THEN
113 CALL anim_nodal_contour_fvmbags('PRES', wa4_fvm, monvol , volmon , fvdata_p ,
114 . nfvbag, smonvol, svolmon, airbags_total_fvm_in_h3d, is_written_node_fvm,
115 . airbags_node_id_shift)
116
117 ENDIF
118
119C------------------------------------------------------------------
120C /BEM/FLOW
121C set pressure from specific data structure
122C------------------------------------------------------------------
123 IF(nflow > 0) CALL aninflow(ifunc,wa4,iflow,rflow)
124
125C-----------------------------------------------
126 RETURN
subroutine anim_nodal_contour_fvmbags(key, wa4, monvol, volmon, fvdata_p, nfvbag, smonvol, svolmon, airbags_total_fvm, is_written_node_fvm, airbags_node_id_shift)
subroutine anim_nodal_p_elems(ifunc, wa4, iparg, elbuf_tab, ix, nix, numel, itab, nv46, is_written_node)
subroutine aninflow(ifunc, wa4, iflow, rflow)
Definition aninflow.F:29
#define my_real
Definition cppsort.cpp:32
integer airbags_total_fvm_in_h3d
Definition fvbag_mod.F:191
integer nfvbag
Definition fvbag_mod.F:127