FrontISTR  5.7.1
Large-scale structural analysis program with finit element method
m_irjc_matrix_lag.f90
Go to the documentation of this file.
1 !-------------------------------------------------------------------------------
2 ! Copyright (c) 2019 FrontISTR Commons
3 ! This software is released under the MIT License, see LICENSE.txt
4 !-------------------------------------------------------------------------------
6 
8 
9  ! Handle irow, jcol type sparse matrix information.
10  ! Eqch matrix element have ndeg*ndeg small matrix.
11  ! The number of non-zero elements are stored in nttbr.
12 
14  ! number of equations
15  integer(kind=kint) :: neqns
16 
17  ! number of non-zero elements
18  integer(kind=kint) :: nttbr
19 
20  ! degree of freedom of each element
21  integer(kind=kint) :: ndeg
22  integer, pointer :: irow(:), jcol(:) ! irow(nttbr_t), jcol(nttbr_t) location of i'th element
23  real(kind=kreal), pointer :: val(:,:) ! val(ndeg*ndeg, nttbr_t) concrete value of nonzero elements. small matrix is expanded as ndeg*ndeg.
24  end type irjc_square_matrix
25 
26  type irjc_mn_matrix !m*n matrix
27  ! number of rows.
28  integer(kind=kint) :: nrows
29 
30  ! number of columns.
31  integer(kind=kint) :: ncols
32 
33  ! number of non-zero elements
34  integer(kind=kint) :: nttbr
35 
36  ! degree of freedom of each element
37  integer(kind=kint) :: ndeg
38  integer(kind=kint), pointer :: irow(:), jcol(:) ! irow(nttbr_t), jcol(nttbr_t) location of i'th element
39  real(kind=kreal), pointer :: val(:,:) ! val(ndeg*ndeg, nttbr_t) concrete value of nonzero elements. small matrix is expanded as ndeg*ndeg.
40  end type irjc_mn_matrix
41 end module m_irjc_matrix_lag
integer(kind=4), parameter kreal