Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
type(FEMDomainp_), | public, | allocatable | :: | femdomains(:) | |||
integer(kind=int32), | public, | allocatable | :: | DomainIDs(:) | |||
real(kind=real64), | public, | allocatable | :: | IfaceElemConnectivity(:,:) | |||
real(kind=real64), | public, | allocatable | :: | IfaceElemDomainID(:,:) | |||
logical, | public | :: | initialized | = | .false. | ||
logical, | public | :: | InterfaceExist | = | .false. | ||
logical, | public | :: | debug | = | .false. | ||
real(kind=real64), | public, | allocatable | :: | CRS_val(:) | |||
integer(kind=int32), | public, | allocatable | :: | CRS_Index_Col(:) | |||
integer(kind=int64), | public, | allocatable | :: | CRS_Index_Row(:) | |||
real(kind=real64), | public, | allocatable | :: | CRS_RHS(:) | |||
integer(kind=int32), | public, | allocatable | :: | number_of_element_per_domain(:) | |||
integer(kind=int32), | public, | allocatable | :: | number_of_point_per_domain(:) | |||
real(kind=real64), | public, | allocatable | :: | A_CRS_val(:) |
General Eigen Value Problem [A]{x} = (lambda)[B]{x} |
||
integer(kind=int32), | public, | allocatable | :: | A_CRS_Index_Col(:) | |||
integer(kind=int64), | public, | allocatable | :: | A_CRS_Index_Row(:) | |||
logical, | public | :: | A_empty | = | .true. | ||
real(kind=real64), | public, | allocatable | :: | B_CRS_val(:) | |||
integer(kind=int32), | public, | allocatable | :: | B_CRS_Index_Col(:) | |||
integer(kind=int64), | public, | allocatable | :: | B_CRS_Index_Row(:) | |||
logical, | public | :: | B_empty | = | .true. | ||
integer(kind=int32), | public, | allocatable | :: | fix_eig_IDs(:) | |||
logical, | public, | allocatable | :: | fix_lin_exists(:) | |||
real(kind=real64), | public, | allocatable | :: | fix_lin_exists_Values(:) | |||
real(kind=real64), | public, | allocatable | :: | CRS_x(:) | |||
integer(kind=int32), | public, | allocatable | :: | CRS_ID_Starts_From(:) | |||
real(kind=real64), | public, | allocatable | :: | A_dense(:,:) | |||
integer(kind=int32), | public, | allocatable | :: | Num_nodes_in_Domains(:) | |||
type(MPI_), | public, | pointer | :: | MPI_target | => | null() | |
type(M_Link_Item_), | public, | allocatable | :: | Link_Table(:) | |||
integer(kind=int32), | public | :: | LINK_TABLE_INIT_SIZE | = | 1000 | ||
integer(kind=int32), | public | :: | Link_num | = | 0 | ||
type(CRS_), | public | :: | ILU_MATRIX | ||||
integer(kind=int32), | public | :: | itrmax | = | 100000 | ||
real(kind=real64), | public | :: | er0 | = | dble(1.0e-10) | ||
real(kind=real64), | public | :: | relative_er | = | dble(1.0e-10) | ||
logical, | public | :: | use_LOBPCG | = | .false. | ||
integer(kind=int32), | public | :: | LOBPCG_MAX_ITR | = | 100000 | ||
real(kind=real64), | public | :: | LOBPCG_TOL | = | dble(1.0e-6) | ||
integer(kind=int32), | public | :: | LOBPCG_NUM_MODE | = | 5 |
! stack for CRS matrices |
|
type(CRS_), | public, | allocatable | :: | CRS_matrix_stack(:) | |||
type(Dictionary_), | public | :: | CRS_matrix_stack_key | ||||
integer(kind=int32), | public | :: | LAST_CRS_MATRIX_STACK | = | 0 | ||
integer(kind=int32), | public | :: | MAXSIZE_CRS_MATRIX_STACK | = | 10 |
General Eigen Value Problem [A]{x} = (lambda)[B]{x}
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(FEMSolver_), | intent(inout) | :: | this | |||
integer(kind=int32), | intent(in), | optional | :: | numDomain | ||
type(FEMDomain_), | intent(in), | optional | :: | FEMDomains(:) | ||
integer(kind=int32), | intent(in), | optional | :: | DomainIDs(:) | ||
integer(kind=int32), | intent(in), | optional | :: | DOF | ||
type(MPI_), | intent(in), | optional, | target | :: | MPI_target | |
integer(kind=int32), | intent(in), | optional | :: | NUM_CRS_MATRIX_STACK |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(FEMSolver_), | intent(inout) | :: | this | |||
type(FEMDomain_), | intent(in), | optional, | target | :: | FEMDomain | |
type(FEMDomain_), | intent(in), | optional, | target | :: | FEMDomains(:) | |
type(FEMDomainp_), | intent(in), | optional, | target | :: | FEMDomainPointers(:) | |
integer(kind=int32), | intent(in), | optional | :: | DomainID | ||
integer(kind=int32), | intent(in), | optional | :: | DomainIDs(:) |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(FEMSolver_), | intent(inout) | :: | this | |||
type(FEMDomain_), | intent(in), | optional, | target | :: | FEMDomain | |
type(FEMDomain_), | intent(in), | optional, | target | :: | FEMDomains(:) | |
type(FEMDomainp_), | intent(in), | optional, | target | :: | FEMDomainPointers(:) | |
integer(kind=int32), | intent(in), | optional | :: | DomainID | ||
integer(kind=int32), | intent(in), | optional | :: | DomainIDs(:) |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(FEMSolver_), | intent(inout) | :: | this | |||
type(CRS_), | intent(in) | :: | CRS |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(FEMSolver_), | intent(inout) | :: | this | |||
integer(kind=int32), | intent(in) | :: | DOF | |||
logical, | intent(in), | optional | :: | debug |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(FEMSolver_), | intent(inout) | :: | this | |||
real(kind=real64), | intent(in) | :: | RHS(:) |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(FEMSolver_), | intent(inout) | :: | this | |||
integer(kind=int32), | intent(in) | :: | DOF | |||
logical, | intent(in), | optional | :: | debug |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(FEMSolver_), | intent(inout) | :: | this | |||
type(CRS_), | intent(in) | :: | CRS |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(FEMSolver_), | intent(in) | :: | this | |||
character(len=*), | intent(in), | optional | :: | name |
$OMP atomic $OMP atomic
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(FEMSolver_), | intent(inout) | :: | this | |||
integer(kind=int32), | intent(in) | :: | DomainID | |||
integer(kind=int32), | intent(in) | :: | ElementID | |||
integer(kind=int32), | intent(in) | :: | DOF | |||
real(kind=real64), | intent(in), | optional | :: | Matrix(:,:) | ||
real(kind=real64), | intent(in), | optional | :: | Vector(:) | ||
logical, | intent(in), | optional | :: | as_Dense |
$OMP atomic $OMP atomic
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(FEMSolver_), | intent(inout) | :: | this | |||
integer(kind=int32), | intent(in) | :: | DomainID | |||
integer(kind=int32), | intent(in) | :: | ElementID | |||
integer(kind=int32), | intent(in) | :: | DOF | |||
real(kind=real64), | intent(in), | optional | :: | Matrix(:,:) | ||
real(kind=real64), | intent(in), | optional | :: | Vector(:) | ||
logical, | intent(in), | optional | :: | as_Dense |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(FEMSolver_), | intent(inout) | :: | this | |||
integer(kind=int32), | intent(in) | :: | row_id | |||
integer(kind=int32), | intent(in) | :: | col_id | |||
real(kind=real64), | intent(in) | :: | SingleValue | |||
logical, | intent(in), | optional | :: | as_Dense |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(FEMSolver_), | intent(inout) | :: | this | |||
integer(kind=int32), | intent(in) | :: | DomainID | |||
integer(kind=int32), | intent(in) | :: | ElementID | |||
integer(kind=int32), | intent(in) | :: | DOF | |||
real(kind=real64), | intent(in) | :: | Matrix(:,:) | |||
logical, | intent(in), | optional | :: | as_Dense |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(FEMSolver_), | intent(inout) | :: | this | |||
integer(kind=int32), | intent(in) | :: | DomainID | |||
integer(kind=int32), | intent(in) | :: | ElementID | |||
integer(kind=int32), | intent(in) | :: | DOF | |||
real(kind=real64), | intent(in) | :: | Vector(:) |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(FEMSolver_), | intent(inout) | :: | this | |||
character(len=*), | intent(in) | :: | As |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(FEMSolver_), | intent(inout) | :: | this | |||
integer(kind=int32), | intent(in), | optional | :: | DomainID | ||
integer(kind=int32), | intent(in) | :: | IDs(:) | |||
real(kind=real64), | intent(in), | optional | :: | FixValue | ||
real(kind=real64), | intent(in), | optional | :: | FixValues(:) |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(FEMSolver_), | intent(inout) | :: | this | |||
integer(kind=int32), | intent(in) | :: | IDs(:) |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(FEMSolver_), | intent(inout) | :: | this | |||
type(CRS_), | intent(in) | :: | CRS |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(FEMSolver_), | intent(inout) | :: | this | |||
type(CRS_), | intent(in) | :: | CRS |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(FEMSolver_), | intent(in) | :: | this | |||
character(len=*), | intent(in) | :: | name | |||
logical, | intent(in), | optional | :: | CRS_as_dense | ||
logical, | intent(in), | optional | :: | if_dense_exists | ||
logical, | intent(in), | optional | :: | zero_or_nonzero |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(FEMSolver_), | intent(inout) | :: | this | |||
character(len=1), | intent(in) | :: | from |
INPUT INPUT/OUTPUT INPUT OUTPUT
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(FEMSolver_), | intent(inout) | :: | this | |||
integer(kind=int32), | intent(in), | optional | :: | num_eigen | ||
real(kind=real64), | intent(inout), | allocatable | :: | eigen_value(:) | ||
real(kind=real64), | intent(inout), | allocatable | :: | eigen_vectors(:,:) |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(FEMSolver_), | intent(inout) | :: | this | |||
character(len=*), | intent(in), | optional | :: | algorithm | ||
character(len=*), | intent(in), | optional | :: | preconditioning | ||
real(kind=real64), | intent(in), | optional | :: | x0(:) |
Type | Intent | Optional | Attributes | Name | ||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
class(FEMSolver_), | intent(inout) | :: | this | |||||||||||||||||||||||||||||||||||||||||||||
public subroutine LinearSolver(row_ptr, col_idx, val, rhs, x)Arguments
|
||||||||||||||||||||||||||||||||||||||||||||||||
real(kind=real64), | intent(in), | optional | :: | x0(:) |
Type | Intent | Optional | Attributes | Name | ||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
class(FEMSolver_), | intent(inout) | :: | this | |||||||||||||||||||||||||||||||||||||||||||||
public function LinearSolver(row_ptr, col_idx, val, rhs, x0) result(x)Arguments
Return Value real(kind=real64), allocatable, (:) |
||||||||||||||||||||||||||||||||||||||||||||||||
real(kind=real64), | intent(in) | :: | x0(:) |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(FEMSolver_), | intent(inout) | :: | this | |||
character(len=*), | intent(in), | optional | :: | algorithm | ||
character(len=*), | intent(in), | optional | :: | preconditioning | ||
real(kind=real64), | intent(in), | optional | :: | x0(:) |
Type | Intent | Optional | Attributes | Name | ||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
class(FEMSolver_), | intent(inout) | :: | this | |||||||||||||||||||||||||||||||||||||||||||||
public subroutine LinearSolver(row_ptr, col_idx, val, rhs, x)Arguments
|
||||||||||||||||||||||||||||||||||||||||||||||||
real(kind=real64), | intent(in), | optional | :: | x0(:) |
Type | Intent | Optional | Attributes | Name | ||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
class(FEMSolver_), | intent(inout) | :: | this | |||||||||||||||||||||||||||||||||||||||||||||
public function LinearSolver(row_ptr, col_idx, val, rhs, x0) result(x)Arguments
Return Value real(kind=real64), allocatable, (:) |
||||||||||||||||||||||||||||||||||||||||||||||||
real(kind=real64), | intent(in) | :: | x0(:) |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(FEMSolver_), | intent(in) | :: | this |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(FEMSolver_), | intent(inout) | :: | this |
diag is diagonal component of n x n matrix
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(FEMSolver_), | intent(inout) | :: | this | |||
real(kind=real64), | intent(in) | :: | diagMat(:) |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(FEMSolver_), | intent(in) | :: | this | |||
logical, | intent(in), | optional | :: | cell_centered |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(FEMSolver_), | intent(inout) | :: | this | |||
real(kind=real64), | intent(in) | :: | penalty | |||
integer(kind=int32), | intent(in) | :: | DOF |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(FEMSolver_), | intent(in) | :: | this | |||
integer(kind=int32), | intent(in) | :: | DOF | |||
real(kind=real64), | intent(in) | :: | X(:) |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(FEMSolver_), | intent(in) | :: | this | |||
integer(kind=int32), | intent(in) | :: | DOF | |||
real(kind=real64), | intent(in) | :: | lambda(:) |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(FEMSolver_), | intent(in) | :: | this |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(FEMSolver_), | intent(in) | :: | this |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(FEMSolver_), | intent(in) | :: | this |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(FEMSolver_), | intent(inout) | :: | this | |||
integer(kind=int32), | intent(in) | :: | rank_and_rowID_1(1:2) | |||
integer(kind=int32), | intent(in) | :: | rank_and_rowID_2(1:2) |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(FEMSolver_), | intent(in) | :: | this | |||
real(kind=real64), | intent(in) | :: | a(:) | |||
real(kind=real64), | intent(in) | :: | b(:) |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(FEMSolver_), | intent(in) | :: | this | |||
type(CRS_), | intent(in), | optional | :: | A | ||
real(kind=real64), | intent(in) | :: | b(:) |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(FEMSolver_), | intent(inout) | :: | this | |||
real(kind=real64), | intent(inout), | allocatable | :: | x(:) |
General Eigen Value Problem [A]{x} = (lambda)[B]{x}
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(FEMSolver_), | intent(inout) | :: | this | |||
logical, | intent(in), | optional | :: | only_matrices |