FrontISTR  5.7.0
Large-scale structural analysis program with finit element method
m_irjc_matrix.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 !-------------------------------------------------------------------------------
5 
7 
8  use hecmw_util
9 
10  ! Handle irow, jcol type sparse matrix information.
11  ! Eqch matrix element have ndeg*ndeg small matrix.
12  ! The number of non-zero elements are stored in nttbr.
13 
15  ! number of equations
16  integer(kind=kint) :: neqns
17 
18  ! number of non-zero elements
19  integer(kind=kint) :: nttbr
20 
21  ! degree of freedom of each element
22  integer(kind=kint) :: ndeg
23  integer, pointer :: irow(:), jcol(:) ! irow(nttbr_t), jcol(nttbr_t) location of i'th element
24  real(kind=kreal), pointer :: val(:,:) ! val(ndeg*ndeg, nttbr_t) concrete value of nonzero elements. small matrix is expanded as ndeg*ndeg.
25  end type irjc_square_matrix
26 
27  type irjc_mn_matrix !m*n matrix
28  ! number of rows.
29  integer(kind=kint) :: nrows
30 
31  ! number of columns.
32  integer(kind=kint) :: ncols
33 
34  ! number of non-zero elements
35  integer(kind=kint) :: nttbr
36 
37  ! degree of freedom of each element
38  integer(kind=kint) :: ndeg
39  integer(kind=kint), pointer :: irow(:), jcol(:) ! irow(nttbr_t), jcol(nttbr_t) location of i'th element
40  real(kind=kreal), pointer :: val(:,:) ! val(ndeg*ndeg, nttbr_t) concrete value of nonzero elements. small matrix is expanded as ndeg*ndeg.
41  end type irjc_mn_matrix
42 end module m_irjc_matrix
m_irjc_matrix
Definition: m_irjc_matrix.f90:6
hecmw_util
I/O and Utility.
Definition: hecmw_util_f.F90:7
m_irjc_matrix::irjc_square_matrix
Definition: m_irjc_matrix.f90:14
hecmw_util::kreal
integer(kind=4), parameter kreal
Definition: hecmw_util_f.F90:16
m_irjc_matrix::irjc_mn_matrix
Definition: m_irjc_matrix.f90:27