OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
tforc3.F File Reference
#include "implicit_f.inc"
#include "mvsiz_p.inc"
#include "param_c.inc"
#include "parit_c.inc"
#include "com08_c.inc"

Go to the source code of this file.

Functions/Subroutines

subroutine tforc3 (mat_param, nummat, elbuf_str, jft, jlt, pm, geo, nct, x, f, v, partsav, bufmat, dt2t, neltst, ityptst, stifn, fsky, iadt, offset, ipartt, tani, fx1, fx2, fy1, fy2, fz1, fz2, nel, gresav, grth, igrth, mstr, dmeltr, ioutprt, ipm, npf, tf, itask, h3d_data, nft, mtn, jsms, igre, preld1, stf_f, dt, sensors)

Function/Subroutine Documentation

◆ tforc3()

subroutine tforc3 ( type (matparam_struct_), dimension(nummat), intent(in) mat_param,
integer, intent(in) nummat,
type (elbuf_struct_), target elbuf_str,
integer jft,
integer jlt,
pm,
geo,
integer, dimension(*) nct,
x,
f,
v,
partsav,
bufmat,
dt2t,
integer neltst,
integer ityptst,
stifn,
fsky,
integer, dimension(2,*) iadt,
integer offset,
integer, dimension(*) ipartt,
tani,
fx1,
fx2,
fy1,
fy2,
fz1,
fz2,
integer nel,
gresav,
integer, dimension(*) grth,
integer, dimension(*) igrth,
mstr,
dmeltr,
integer ioutprt,
integer, dimension(npropmi,*) ipm,
integer, dimension(*) npf,
tf,
integer itask,
type(h3d_database) h3d_data,
integer, intent(in) nft,
integer, intent(in) mtn,
integer, intent(in) jsms,
integer, intent(in) igre,
intent(in) preld1,
intent(in) stf_f,
type (dt_), intent(in) dt,
type (sensors_), intent(inout) sensors )

Definition at line 47 of file tforc3.F.

60C-----------------------------------------------
61C M o d u l e s
62C-----------------------------------------------
63 USE elbufdef_mod
64 USE h3d_mod
65 USE preload_axial_mod
66 USE dt_mod
67 USE sensor_mod
68 use matparam_def_mod
69C-----------------------------------------------
70C I m p l i c i t T y p e s
71C-----------------------------------------------
72#include "implicit_f.inc"
73C-----------------------------------------------
74C G l o b a l P a r a m e t e r s
75C-----------------------------------------------
76#include "mvsiz_p.inc"
77C-----------------------------------------------
78C C o m m o n B l o c k s
79C-----------------------------------------------
80#include "param_c.inc"
81#include "parit_c.inc"
82#include "com08_c.inc"
83C-----------------------------------------------
84C D u m m y A r g u m e n t s
85C-----------------------------------------------
86 INTEGER, INTENT(IN) :: IGRE
87 INTEGER, INTENT(IN) :: NFT
88 INTEGER, INTENT(IN) :: MTN
89 INTEGER, INTENT(IN) :: NUMMAT
90 INTEGER, INTENT(IN) :: JSMS
91 INTEGER NCT(*),IADT(2,*),IPARTT(*),OFFSET,
92 . JFT,JLT,NELTST,ITYPTST,NEL,GRTH(*),IPM(NPROPMI,*),
93 . IGRTH(*),IOUTPRT,NPF(*),ITASK
94 my_real dt2t,
95 . bufmat(*),pm(*),geo(npropg,*),x(*),f(*),v(*),partsav(*),tf(*),
96 . stifn(*),fsky(*),tani(15,*),fx1(mvsiz),fy1(mvsiz),fz1(mvsiz),
97 . fx2(mvsiz),fy2(mvsiz),fz2(mvsiz),gresav(*),mstr(*),dmeltr(*)
98 my_real, INTENT(IN) :: preld1,stf_f
99C
100 TYPE (ELBUF_STRUCT_), TARGET :: ELBUF_STR
101 TYPE(H3D_DATABASE) :: H3D_DATA
102 TYPE (DT_), INTENT(IN) :: DT
103 type (sensors_),INTENT(INOUT) :: SENSORS
104 TYPE (MATPARAM_STRUCT_) ,DIMENSION(NUMMAT) ,INTENT(IN) :: MAT_PARAM
105C-----------------------------------------------
106C L o c a l V a r i a b l e s
107C-----------------------------------------------
108 INTEGER I,IMAT,LCO,NUVAR,NFUNC
109 INTEGER IFUNC(100)
110 INTEGER MAT(MVSIZ),PID(MVSIZ),NGL(MVSIZ),NC1(MVSIZ),NC2(MVSIZ)
111 my_real
112 . sti(mvsiz),off(mvsiz),
113 . eps(mvsiz),al(mvsiz),vx1(mvsiz),vx2(mvsiz),vy1(mvsiz),
114 . vy2(mvsiz),vz1(mvsiz),vz2(mvsiz),ex(mvsiz),ey(mvsiz),ez(mvsiz),
115 . x1(mvsiz),x2(mvsiz),y1(mvsiz),y2(mvsiz),z1(mvsiz),z2(mvsiz)
116C
117 my_real ,DIMENSION(:) ,POINTER :: uvar
118 TYPE(G_BUFEL_),POINTER :: GBUF
119C-----------------------------------------------
120C S o u r c e L i n e s
121C-----------------------------------------------
122 gbuf => elbuf_str%GBUF
123C
124 lco=1+5*nft
125 CALL tcoor3(
126 1 x, nct(lco),mat, pid,
127 2 ngl, nc1, nc2, x1,
128 3 x2, y1, y2, z1,
129 4 z2, nel)
130 CALL tdefo3(
131 1 v, gbuf%OFF,off, nc1,
132 2 nc2, eps, al, vx1,
133 3 vx2, vy1, vy2, vz1,
134 4 vz2, ex, ey, ez,
135 5 x1, x2, y1, y2,
136 6 z1, z2, nel)
137C------- activation only in compression in laws
138 imat = mat(1)
139 DO i=1,nel
140 IF (geo(2,pid(i))>zero .AND. gbuf%OFF(i)>zero) off(i)=zero
141 ENDDO
142 CALL tdlen3(
143 1 jft, jlt, pm, gbuf%OFF,
144 2 off, dt2t, neltst, ityptst,
145 3 mstr, dmeltr, gbuf%DT, nel,
146 4 gbuf%G_DT,mat, ngl, al,
147 5 jsms)
148!
149 IF (mtn == 1) THEN
150 CALL m1lawt(
151 1 pm, geo, off, gbuf%FOR,
152 2 gbuf%EINT, gbuf%AREA, gbuf%LENGTH,sti,
153 3 mat, pid, eps, al,
154 4 nel)
155c
156 ELSEIF (mtn == 2) THEN
157 CALL m2lawt(mat_param(imat) ,
158 1 geo, off, gbuf%FOR,
159 2 gbuf%EINT, gbuf%AREA, gbuf%LENGTH,gbuf%PLA,
160 3 sti, pid, ngl,
161 4 eps, al, nel)
162c
163 ELSEIF (mtn == 34) THEN
164 nuvar = gbuf%G_NUVAR
165 uvar => gbuf%VAR
166 CALL sigeps34t(nel ,ngl ,mat ,pid ,bufmat ,
167 . ipm ,geo ,off ,gbuf%FOR ,sti ,
168 . gbuf%EINT,gbuf%AREA,gbuf%LENGTH,al ,eps ,
169 . nuvar ,uvar )
170c
171c
172 ELSEIF (mtn == 44) THEN
173 nuvar = gbuf%G_NUVAR
174 uvar => gbuf%VAR
175 nfunc = ipm(10,mat(1))
176 DO i=1,nfunc
177 ifunc(i) = ipm(10+i,mat(1))
178 ENDDO
179 CALL sigeps44t(nel ,ngl ,mat ,pid ,bufmat ,
180 . ipm ,geo ,off ,gbuf%FOR ,sti ,
181 . gbuf%PLA ,gbuf%EINT,gbuf%AREA,gbuf%LENGTH,al ,
182 . eps ,nuvar ,uvar ,npf ,tf ,
183 . nfunc ,ifunc )
184c
185 ENDIF ! IF (MTN)
186C------- activation for GBUF%OFF + save the strain in buffer
187 DO i=1,nel
188 IF (geo(2,pid(i))>zero) THEN
189 IF (gbuf%OFF(i)==zero.AND.off(i)==one) gbuf%OFF(i)=one
190 END IF
191 gbuf%STRA(i) = gbuf%STRA(i) + eps(i)*dt1
192 ENDDO
193C--------------------------
194C BALANCES BY MATERIAL
195C--------------------------
196 IF (ioutprt>0) THEN
197 CALL tbilan(
198 1 pm, v, gbuf%EINT,gbuf%AREA,
199 2 partsav, ipartt, tani, gbuf%FOR,
200 3 gresav, grth, igrth, mat,
201 4 al, vx1, vx2, vy1,
202 5 vy2, vz1, vz2, x1,
203 6 x2, y1, y2, z1,
204 7 z2, itask, h3d_data, nel,
205 8 igre, sensors)
206 END IF !(IOUTPRT>0) THEN
207C-------------------------
208C /PRELOAD/AXIAL
209C-------------------------
210 IF (preld1>zero) THEN
211 CALL preload_axial(nel,preld1,gbuf%BPRELD,eps,stf_f,gbuf%FOR)
212 END IF
213C-------------------------
214C ASSEMBLE
215C-------------------------
216 IF (iparit == 0) THEN
217 CALL tfcum3(
218 1 f, gbuf%FOR,stifn, sti,
219 2 fx1, fx2, fy1, fy2,
220 3 fz1, fz2, gbuf%OFF,off,
221 4 nc1, nc2, ex, ey,
222 5 ez, nel)
223 ELSE
224 CALL tfcum3p(
225 1 gbuf%FOR,sti, fsky, fsky,
226 2 iadt, fx1, fx2, fy1,
227 3 fy2, fz1, fz2, gbuf%OFF,
228 4 off, nc1, nc2, ex,
229 5 ey, ez, nel, nft)
230 ENDIF
231C-----------------------------------------------
232 RETURN
#define my_real
Definition cppsort.cpp:32
subroutine m1lawt(pm, geo, off, for, eint, area, al0, sti, mat, mgm, eps, al, nel)
Definition m1lawt.F:33
subroutine m2lawt(mat_param, geo, off, for, eint, area, al0, pla, sti, mgm, ngl, eps, al, nel)
Definition m2lawt.F:34
subroutine sigeps34t(nel, ngl, mat, pid, uparam, ipm, geo, off, for, sti, eint, area, al0, al, epsp, nuvar, uvar)
Definition sigeps34t.F:32
subroutine sigeps44t(nel, ngl, mat, pid, uparam, ipm, geo, off, for, sti, pla, eint, area, al0, al, epsp, nuvar, uvar, npf, tf, nfunc, ifunc)
Definition sigeps44t.F:35
subroutine tbilan(pm, v, eint, area, partsav, ipartt, tani, for, gresav, grth, igrth, mat, al, vx1, vx2, vy1, vy2, vz1, vz2, x1, x2, y1, y2, z1, z2, itask, h3d_data, nel, igre, sensors)
Definition tbilan.F:43
subroutine tcoor3(x, ncc, mat, mgm, ngl, nc1, nc2, x1, x2, y1, y2, z1, z2, nel)
Definition tcoor3.F:33
subroutine tdefo3(v, offg, off, nc1, nc2, eps, al, vx1, vx2, vy1, vy2, vz1, vz2, ex, ey, ez, x1, x2, y1, y2, z1, z2, nel)
Definition tdefo3.F:35
subroutine tdlen3(jft, jlt, pm, offg, off, dt2t, neltst, ityptst, mstr, dmeltr, dtel, nel, g_dt, mat, ngl, al, jsms)
Definition tdlen3.F:34
subroutine tfcum3(f, for, stifn, sti, fx1, fx2, fy1, fy2, fz1, fz2, offg, off, nc1, nc2, ex, ey, ez, nel)
Definition tfcum3.F:34
subroutine tfcum3p(for, sti, fsky, fskyv, iadt, fx1, fx2, fy1, fy2, fz1, fz2, offg, off, nc1, nc2, ex, ey, ez, nel, nft)
Definition tfcum3p.F:34