This type defines a data structure containing all the data related to a front. More...
Public Attributes | |
integer | num =0 |
the front number More... | |
integer | m =0 |
the number of rows in the front More... | |
integer | n =0 |
the number of columns in the front More... | |
integer | npiv =0 |
the number of pivots (fully assembled variables in the front More... | |
integer, dimension(:), allocatable | rows |
the list of row indices in the front More... | |
integer, dimension(:), allocatable | cols |
the list of column indices in the front More... | |
integer, dimension(:), allocatable | aiptr |
The pointer to the beginning of rows of coefficients from the original matrix. More... | |
integer, dimension(:), allocatable | ajcn |
The columns indices of coefficients from the original matrix. More... | |
real(kind(1.d0)), dimension(:), allocatable | aval |
The values of coefficients from original matrix. These coefficients will be assembled into the front at the moment of its activation. More... | |
integer | anrows |
The initial data from the problem matrix is stored in CSR format. This. More... | |
integer, dimension(:), allocatable | colmap |
this integer array of size frontn contains a mapping between the front's column indices and father front's column indices, i.e. colmap(i)=k means that column i of front goes into k-th column of its parent More... | |
integer, dimension(:), allocatable | rowmap |
this integer array is of size equal to the number of rows in the contribution block produced by this front and contains a mapping between the rows of the CB and the front of the parent, i.e., rowmap(i)=k means that i-th row of this contribution block goes into row k of the front of the father. More... | |
integer, dimension(:), allocatable | stair |
this array of size frontn will ultimately define the staircase structure of the front. stair(i)=k means that the lowest element in column i of the front is in row k More... | |
real(kind(1.d0)), dimension(:,:), allocatable | front |
a 2D array containing the front. This area will be dynamically allocated at front assembly time More... | |
real(kind(1.d0)), dimension(:), allocatable | r |
after the front is factorized, the corresponding elemnts of R will be copied into this array More... | |
real(kind(1.d0)), dimension(:), allocatable | h |
after the front is factorized, the corresponding elemnts of H will be copied into this array More... | |
real(kind(1.d0)), dimension(:), allocatable | cb |
in the case where the front is completely factorized but assembly has not yet started, memory can be saved by copying the contribution block in here are freeing the front matrix More... | |
real(kind(1.d0)), dimension(:), allocatable | tau |
this array holds the tau values resulting from the factorization. Its size is equal to the number of eliminations done in the front (i.e., the number of columns in H) More... | |
real(kind(1.d0)), dimension(:,:), allocatable | t |
this array holds the T matrices resulting from each panel factorization. If ib is the inner blocking size, then T is (ib,n). More... | |
real(kind(1.d0)), dimension(:,:), allocatable | b |
this 2-D array will be used to gather the elements of a vaector concerned by the application of Q' or Q More... | |
integer, dimension(:), allocatable | ptable |
this integer array contains a progress table for the factorization. Each element of the table tracks the status of a block-column like this: More... | |
integer | status |
this integer holds the status of the front. The status is coded like this: More... | |
integer | owner |
this field holds the id of the thread that owns the front. A thread becomes the owner of a front the moment it activates it More... | |
integer | lastpnl =0 |
an integer containing the index of the block-column that has been factorized last More... | |
integer | nb |
the block-column sizes for this panel More... | |
integer | ib |
integer | nc |
the number of block-columns in this front More... | |
integer | np |
the number of block-panel to be factorized More... | |
integer | ne |
the number of eliminations to be performed on the front. This basically corresponds to min(frontm,frontn) More... | |
integer(kind=8) | rsize |
the number of entries in R and H in this front More... | |
integer(kind=8) | hsize |
integer(kind=omp_lock_kind) | lock |
an openmp lock to prevent simultaneous access to critical data in the front More... | |
This type defines a data structure containing all the data related to a front.
Definition at line 55 of file dqrm_fdata_mod.F90.
integer, dimension(:), allocatable dqrm_fdata_mod::dqrm_front_type::aiptr |
The pointer to the beginning of rows of coefficients from the original matrix.
Definition at line 70 of file dqrm_fdata_mod.F90.
integer, dimension(:), allocatable dqrm_fdata_mod::dqrm_front_type::ajcn |
The columns indices of coefficients from the original matrix.
Definition at line 73 of file dqrm_fdata_mod.F90.
integer dqrm_fdata_mod::dqrm_front_type::anrows |
The initial data from the problem matrix is stored in CSR format. This.
Definition at line 80 of file dqrm_fdata_mod.F90.
real(kind(1.d0)), dimension(:), allocatable dqrm_fdata_mod::dqrm_front_type::aval |
The values of coefficients from original matrix. These coefficients will be assembled into the front at the moment of its activation.
Definition at line 77 of file dqrm_fdata_mod.F90.
real(kind(1.d0)), dimension(:,:), allocatable dqrm_fdata_mod::dqrm_front_type::b |
this 2-D array will be used to gather the elements of a vaector concerned by the application of Q' or Q
Definition at line 116 of file dqrm_fdata_mod.F90.
real(kind(1.d0)), dimension(:), allocatable dqrm_fdata_mod::dqrm_front_type::cb |
in the case where the front is completely factorized but assembly has not yet started, memory can be saved by copying the contribution block in here are freeing the front matrix
Definition at line 107 of file dqrm_fdata_mod.F90.
integer, dimension(:), allocatable dqrm_fdata_mod::dqrm_front_type::colmap |
this integer array of size frontn contains a mapping between the front's column indices and father front's column indices, i.e. colmap(i)=k means that column i of front goes into k-th column of its parent
Definition at line 84 of file dqrm_fdata_mod.F90.
integer, dimension(:), allocatable dqrm_fdata_mod::dqrm_front_type::cols |
the list of column indices in the front
Definition at line 67 of file dqrm_fdata_mod.F90.
real(kind(1.d0)), dimension(:,:), allocatable dqrm_fdata_mod::dqrm_front_type::front |
a 2D array containing the front. This area will be dynamically allocated at front assembly time
Definition at line 97 of file dqrm_fdata_mod.F90.
real(kind(1.d0)), dimension(:), allocatable dqrm_fdata_mod::dqrm_front_type::h |
after the front is factorized, the corresponding elemnts of H will be copied into this array
Definition at line 103 of file dqrm_fdata_mod.F90.
integer(kind=8) dqrm_fdata_mod::dqrm_front_type::hsize |
Definition at line 156 of file dqrm_fdata_mod.F90.
integer dqrm_fdata_mod::dqrm_front_type::ib |
Definition at line 147 of file dqrm_fdata_mod.F90.
integer dqrm_fdata_mod::dqrm_front_type::lastpnl =0 |
an integer containing the index of the block-column that has been factorized last
Definition at line 145 of file dqrm_fdata_mod.F90.
integer(kind=omp_lock_kind) dqrm_fdata_mod::dqrm_front_type::lock |
an openmp lock to prevent simultaneous access to critical data in the front
Definition at line 159 of file dqrm_fdata_mod.F90.
integer dqrm_fdata_mod::dqrm_front_type::m =0 |
the number of rows in the front
Definition at line 59 of file dqrm_fdata_mod.F90.
integer dqrm_fdata_mod::dqrm_front_type::n =0 |
the number of columns in the front
Definition at line 61 of file dqrm_fdata_mod.F90.
integer dqrm_fdata_mod::dqrm_front_type::nb |
the block-column sizes for this panel
Definition at line 147 of file dqrm_fdata_mod.F90.
integer dqrm_fdata_mod::dqrm_front_type::nc |
the number of block-columns in this front
Definition at line 149 of file dqrm_fdata_mod.F90.
integer dqrm_fdata_mod::dqrm_front_type::ne |
the number of eliminations to be performed on the front. This basically corresponds to min(frontm,frontn)
Definition at line 154 of file dqrm_fdata_mod.F90.
integer dqrm_fdata_mod::dqrm_front_type::np |
the number of block-panel to be factorized
Definition at line 151 of file dqrm_fdata_mod.F90.
integer dqrm_fdata_mod::dqrm_front_type::npiv =0 |
the number of pivots (fully assembled variables in the front
Definition at line 63 of file dqrm_fdata_mod.F90.
integer dqrm_fdata_mod::dqrm_front_type::num =0 |
the front number
Definition at line 57 of file dqrm_fdata_mod.F90.
integer dqrm_fdata_mod::dqrm_front_type::owner |
this field holds the id of the thread that owns the front. A thread becomes the owner of a front the moment it activates it
Definition at line 143 of file dqrm_fdata_mod.F90.
integer, dimension(:), allocatable dqrm_fdata_mod::dqrm_front_type::ptable |
this integer array contains a progress table for the factorization. Each element of the table tracks the status of a block-column like this:
Definition at line 127 of file dqrm_fdata_mod.F90.
real(kind(1.d0)), dimension(:), allocatable dqrm_fdata_mod::dqrm_front_type::r |
after the front is factorized, the corresponding elemnts of R will be copied into this array
Definition at line 100 of file dqrm_fdata_mod.F90.
integer, dimension(:), allocatable dqrm_fdata_mod::dqrm_front_type::rowmap |
this integer array is of size equal to the number of rows in the contribution block produced by this front and contains a mapping between the rows of the CB and the front of the parent, i.e., rowmap(i)=k means that i-th row of this contribution block goes into row k of the front of the father.
Definition at line 90 of file dqrm_fdata_mod.F90.
integer, dimension(:), allocatable dqrm_fdata_mod::dqrm_front_type::rows |
the list of row indices in the front
Definition at line 65 of file dqrm_fdata_mod.F90.
integer(kind=8) dqrm_fdata_mod::dqrm_front_type::rsize |
the number of entries in R and H in this front
Definition at line 156 of file dqrm_fdata_mod.F90.
integer, dimension(:), allocatable dqrm_fdata_mod::dqrm_front_type::stair |
this array of size frontn will ultimately define the staircase structure of the front. stair(i)=k means that the lowest element in column i of the front is in row k
Definition at line 94 of file dqrm_fdata_mod.F90.
integer dqrm_fdata_mod::dqrm_front_type::status |
this integer holds the status of the front. The status is coded like this:
Definition at line 140 of file dqrm_fdata_mod.F90.
real(kind(1.d0)), dimension(:,:), allocatable dqrm_fdata_mod::dqrm_front_type::t |
this array holds the T matrices resulting from each panel factorization. If ib is the inner blocking size, then T is (ib,n).
Definition at line 113 of file dqrm_fdata_mod.F90.
real(kind(1.d0)), dimension(:), allocatable dqrm_fdata_mod::dqrm_front_type::tau |
this array holds the tau values resulting from the factorization. Its size is equal to the number of eliminations done in the front (i.e., the number of columns in H)
Definition at line 110 of file dqrm_fdata_mod.F90.