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

Go to the source code of this file.

Functions/Subroutines

subroutine kmatinv3 (mat, ainv, nel)

Function/Subroutine Documentation

◆ kmatinv3()

subroutine kmatinv3 ( mat,
ainv,
integer nel )

Definition at line 31 of file kmatinv.F.

32C-----------------------------------------------
33C I m p l i c i t T y p e s
34C-----------------------------------------------
35#include "implicit_f.inc"
36C-----------------------------------------------
37
38 INTEGER I,NEL,N
39C-----------------------------------------------
40
41 my_real fac,deta, mat(nel,3,3),ainv(nel,3,3)
42C-----------------------------------------------
43C
44 DO i= 1,nel
45 deta=mat(i,1,1)*mat(i,2,2)*mat(i,3,3) -mat(i,1,1)*mat(i,2,3)*mat(i,3,2) -
46 . mat(i,3,3)*mat(i,1,2)*mat(i,2,1) +mat(i,1,2)*mat(i,2,3)*mat(i,3,1) +
47 . mat(i,2,1)*mat(i,3,2)*mat(i,1,3) -mat(i,2,2)*mat(i,3,1)*mat(i,1,3)
48 IF(deta == zero)deta = em20
49 fac=one/ deta
50 !transpose(comatrice)/det
51 ainv(i,1,1)=fac*(mat(i,2,2)*mat(i,3,3)-mat(i,2,3)*mat(i,3,2))
52 ainv(i,2,2)=fac*(mat(i,1,1)*mat(i,3,3)-mat(i,3,1)*mat(i,1,3))
53 ainv(i,3,3)=fac*(mat(i,1,1)*mat(i,2,2)-mat(i,1,2)*mat(i,2,1))
54 ainv(i,1,2)=fac*(mat(i,3,2)*mat(i,1,3)-mat(i,3,3)*mat(i,1,2))
55 ainv(i,2,3)=fac*(mat(i,2,1)*mat(i,1,3)-mat(i,1,1)*mat(i,2,3))
56 ainv(i,3,1)=fac*(mat(i,2,1)*mat(i,3,2)-mat(i,2,2)*mat(i,3,1))
57 ainv(i,2,1)=fac*(mat(i,2,3)*mat(i,3,1)-mat(i,3,3)*mat(i,2,1))
58 ainv(i,3,2)=fac*(mat(i,1,2)*mat(i,3,1)-mat(i,1,1)*mat(i,3,2))
59 ainv(i,1,3)=fac*(mat(i,1,2)*mat(i,2,3)-mat(i,2,2)*mat(i,1,3))
60
61 ENDDO
62C
63 RETURN
#define my_real
Definition cppsort.cpp:32