OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
forani1.F File Reference
#include "implicit_f.inc"
#include "scr14_c.inc"
#include "scr16_c.inc"
#include "parit_c.inc"
#include "vectorize.inc"

Go to the source code of this file.

Functions/Subroutines

subroutine forani1 (output, a, nfia, nfea, nfoa, nodft, nodlt, fext, h3d_data)

Function/Subroutine Documentation

◆ forani1()

subroutine forani1 ( type(output_), intent(inout) output,
a,
integer nfia,
integer nfea,
integer nfoa,
integer nodft,
integer nodlt,
fext,
type (h3d_database) h3d_data )

Definition at line 31 of file forani1.F.

32C-----------------------------------------------
33C D e s c r i p t i o n
34C-----------------------------------------------
35C This subroutine is related to output of FINT and FEXT vectors.
36C When FORANI1 is called, A is containing: FEXT
37C When FORANI2 is called, A is containing: FEXT+FINT
38C When FORANI3 is called, A is containing:(FEXT+FINT+FGRAV)/m
39C
40C forani1 forani2 forani3
41C FANI(:,N+NFIA) = -FEXT +(FEXT+FINT) = FINT
42C FANI(:,N+NFEA) = +FEXT -(FEXT+FINT) + [(FEXT+FINT+FRAV)/m]*m = FEXT+FGRAV
43C
44C-----------------------------------------------
45C
46C ANIM_V(5) : /ANIM/VECT/FINT
47C OUTP_V(5) : /OUTP/VECT/FINT
48C H3D_DATA%N_VECT_FINT : /H3D/NODA/FINT
49C
50C ANIM_V(6) : /ANIM/VECT/FEXT
51C OUTP_V(6) : /OUTP/VECT/FEXT
52C H3D_DATA%N_VECT_FEXT : /H3D/NODA/FEXT
53C
54C-----------------------------------------------
55C M o d u l e s
56C-----------------------------------------------
57 USE h3d_mod
58 USE output_mod
59C-----------------------------------------------
60C I m p l i c i t T y p e s
61C-----------------------------------------------
62#include "implicit_f.inc"
63C-----------------------------------------------
64C C o m m o n B l o c k s
65C-----------------------------------------------
66!ANIM_V
67#include "scr14_c.inc"
68!OUTP_V
69#include "scr16_c.inc"
70!IPARIT
71#include "parit_c.inc"
72C-----------------------------------------------
73C D u m m y A r g u m e n t s
74C-----------------------------------------------
75 INTEGER NFIA,NFEA,NFOA,NODFT,NODLT
76 my_real a(3,*),fext(3,*)
77 TYPE(OUTPUT_), INTENT(INOUT) :: OUTPUT
78 TYPE (H3D_DATABASE) :: H3D_DATA
79C-----------------------------------------------
80C L o c a l V a r i a b l e s
81C-----------------------------------------------
82 INTEGER N
83C-----------------------------------------------
84C S o u r c e L i n e s
85C-----------------------------------------------
86
87C --- PARITH OFF CASE
88 IF(iparit == 0)THEN
89 IF(anim_v(5)+outp_v(5)+h3d_data%N_VECT_FINT > 0) THEN
90 !if FINT is requested (ANIM or OUTP or H3D)
91#include "vectorize.inc"
92 DO n=nodft,nodlt
93 output%DATA%VECT_FINT(1,n) = - a(1,n)
94 output%DATA%VECT_FINT(2,n) = - a(2,n)
95 output%DATA%VECT_FINT(3,n) = - a(3,n)
96 ENDDO
97 ENDIF
98 IF(anim_v(6)+outp_v(6)+h3d_data%N_VECT_FEXT > 0) THEN
99 !if FEXT is requested (ANIM or OUTP or H3D)
100#include "vectorize.inc"
101 DO n=nodft,nodlt
102 output%DATA%VECT_FEXT(1,n) = a(1,n)
103 output%DATA%VECT_FEXT(2,n) = a(2,n)
104 output%DATA%VECT_FEXT(3,n) = a(3,n)
105 ENDDO
106 ENDIF
107
108
109C --- PARITH ON CASE
110 ELSE
111 IF(anim_v(5)+outp_v(5)+h3d_data%N_VECT_FINT >0) THEN
112#include "vectorize.inc"
113 DO n=nodft,nodlt
114 output%DATA%VECT_FINT(1,n) = - fext(1,n)
115 output%DATA%VECT_FINT(2,n) = - fext(2,n)
116 output%DATA%VECT_FINT(3,n) = - fext(3,n)
117 ENDDO
118 ENDIF
119 IF(anim_v(6)+outp_v(6)+h3d_data%N_VECT_FEXT > 0) THEN
120#include "vectorize.inc"
121 DO n=nodft,nodlt
122 output%DATA%VECT_FEXT(1,n) = fext(1,n)
123 output%DATA%VECT_FEXT(2,n) = fext(2,n)
124 output%DATA%VECT_FEXT(3,n) = fext(3,n)
125 ENDDO
126 ENDIF
127 IF(anim_v(5)+outp_v(5)+h3d_data%N_VECT_FINT > 0 .OR. anim_v(6)+outp_v(6)+h3d_data%N_VECT_FEXT > 0) THEN
128#include "vectorize.inc"
129 DO n=nodft,nodlt
130 fext(1,n)=zero
131 fext(2,n)=zero
132 fext(3,n)=zero
133 ENDDO
134 ENDIF
135 ENDIF
136C-----------------------------------------------
137 RETURN
#define my_real
Definition cppsort.cpp:32