ICFERST
22-06
Reservoir simulator based on DCVFEM, Dynamic Mesh optimisation and Surface-based modelling
|
Subroutines associated with the CSR storage used in ICFERST. More...
Functions/Subroutines | |
subroutine | getfinele (totele, nloc, snloc, nonods, ndglno, mx_nface_p1, mxnele, ncolele, finele, colele, midele) |
This sub caluculates COLELE the element connectivitiy list in order of faces. More... | |
subroutine | exten_sparse_multi_phase_old (nonods, mxnele, finm, colm, nphase, npha_nonods, ncolm_pha, finm_pha, colm_pha, midm_pha) |
Extend the sparsity to a multiphase sparsity. More... | |
subroutine | exten_sparse_multi_phase (nonods, mxnele, finm, colm, nphase, npha_nonods, ncolm_pha, finm_pha, colm_pha, midm_pha) |
Extend the sparsity to a multiphase sparsity. More... | |
subroutine | form_dgm_pha_sparsity (totele, nphase, u_nloc, u_pha_nonods, ndim, mx_ncoldgm_pha, ncoldgm_pha, coldgm_pha, findgm_pha, middgm_pha, finele, colele, ncolele) |
Form the sparsity of the phase coupled DG discretised matrix from the element-wise multi-phase sparsity matrix. More... | |
subroutine | pousinmc2 (totele, nloc1, nonods2, nloc2, nimem, ndglno1, ndglno2, lencolm, findrm, colm, centrm) |
subroutine | conv_ct2c (cv_nonods, nct, findct, colct, u_nonods, mx_nc, findc, colc) |
subroutine | poscmc (totele, nonods, nimem, nct, findct, colct, ncmc, fincmc, colcmc, midcmc, noinod, presym) |
This subroutine forms the matrix operating on the pressure vector. It is found from C1T ML C1 + C2T ML C2 In the first part of COLCMC contains the pressure nodes surrounding a given node. More... | |
subroutine | cv_neighboor_sparsity (Mdims, cv_ele_type, cv_ndgln, x_ndgln, ncolele, finele, colele, ncolm, mxnacv_loc, findm, colm, ncolacv_loc, finacv_loc, colacv_loc, midacv_loc) |
Subroutines associated with the CSR storage used in ICFERST.
subroutine sparsity_nd::conv_ct2c | ( | integer, intent(in) | cv_nonods, |
integer, intent(in) | nct, | ||
integer, dimension( cv_nonods + 1 ), intent(in) | findct, | ||
integer, dimension( nct ), intent(in) | colct, | ||
integer, intent(in) | u_nonods, | ||
integer, intent(in) | mx_nc, | ||
integer, dimension( u_nonods + 1 ), intent(inout) | findc, | ||
integer, dimension( mx_nc ), intent(inout) | colc | ||
) |
subroutine sparsity_nd::cv_neighboor_sparsity | ( | type(multi_dimensions), intent(in) | Mdims, |
integer, intent(in) | cv_ele_type, | ||
integer, dimension( mdims%totele * mdims%cv_nloc ), intent(in) | cv_ndgln, | ||
integer, dimension( mdims%totele * mdims%x_nloc ), intent(in) | x_ndgln, | ||
integer, intent(in) | ncolele, | ||
integer, dimension( mdims%totele + 1 ), intent(in) | finele, | ||
integer, dimension( ncolele ), intent(in) | colele, | ||
integer, intent(in) | ncolm, | ||
integer, intent(in) | mxnacv_loc, | ||
integer, dimension( mdims%cv_nonods + 1 ), intent(in) | findm, | ||
integer, dimension( ncolm ), intent(in) | colm, | ||
integer, intent(inout) | ncolacv_loc, | ||
integer, dimension( mdims%cv_nonods + 1 ), intent(inout) | finacv_loc, | ||
integer, dimension( mxnacv_loc ), intent(inout) | colacv_loc, | ||
integer, dimension( mdims%cv_nonods ), intent(inout) | midacv_loc | ||
) |
subroutine sparsity_nd::exten_sparse_multi_phase | ( | integer, intent(in) | nonods, |
integer, intent(in) | mxnele, | ||
integer, dimension( nonods + 1 ), intent(in) | finm, | ||
integer, dimension( mxnele ), intent(in) | colm, | ||
integer, intent(in) | nphase, | ||
integer, intent(in) | npha_nonods, | ||
integer, intent(in) | ncolm_pha, | ||
integer, dimension( npha_nonods + 1 ), intent(inout) | finm_pha, | ||
integer, dimension( ncolm_pha ), intent(inout) | colm_pha, | ||
integer, dimension( npha_nonods ), intent(inout) | midm_pha | ||
) |
Extend the sparsity to a multiphase sparsity.
subroutine sparsity_nd::exten_sparse_multi_phase_old | ( | integer, intent(in) | nonods, |
integer, intent(in) | mxnele, | ||
integer, dimension( nonods + 1 ), intent(in) | finm, | ||
integer, dimension( mxnele ), intent(in) | colm, | ||
integer, intent(in) | nphase, | ||
integer, intent(in) | npha_nonods, | ||
integer, intent(in) | ncolm_pha, | ||
integer, dimension( npha_nonods + 1 ), intent(inout) | finm_pha, | ||
integer, dimension( ncolm_pha ), intent(inout) | colm_pha, | ||
integer, dimension( npha_nonods ), intent(inout) | midm_pha | ||
) |
Extend the sparsity to a multiphase sparsity.
subroutine sparsity_nd::form_dgm_pha_sparsity | ( | integer, intent(in) | totele, |
integer, intent(in) | nphase, | ||
integer, intent(in) | u_nloc, | ||
integer, intent(in) | u_pha_nonods, | ||
integer, intent(in) | ndim, | ||
integer, intent(in) | mx_ncoldgm_pha, | ||
integer, intent(inout) | ncoldgm_pha, | ||
integer, dimension( mx_ncoldgm_pha ), intent(inout) | coldgm_pha, | ||
integer, dimension( u_pha_nonods + 1 ), intent(inout) | findgm_pha, | ||
integer, dimension( u_pha_nonods ), intent(inout) | middgm_pha, | ||
integer, dimension( totele + 1 ), intent(in) | finele, | ||
integer, dimension( ncolele ), intent(in) | colele, | ||
integer, intent(in) | ncolele | ||
) |
Form the sparsity of the phase coupled DG discretised matrix from the element-wise multi-phase sparsity matrix.
subroutine sparsity_nd::getfinele | ( | integer, intent(in) | totele, |
integer, intent(in) | nloc, | ||
integer, intent(in) | snloc, | ||
integer, intent(in) | nonods, | ||
integer, dimension( totele * nloc ), intent(in) | ndglno, | ||
integer, intent(in) | mx_nface_p1, | ||
integer, intent(in) | mxnele, | ||
integer, intent(inout) | ncolele, | ||
integer, dimension( totele + 1 ), intent(inout) | finele, | ||
integer, dimension( mxnele ), intent(inout) | colele, | ||
integer, dimension( totele ), intent(inout) | midele | ||
) |
This sub caluculates COLELE the element connectivitiy list in order of faces.
subroutine sparsity_nd::poscmc | ( | integer, intent(in) | totele, |
integer, intent(in) | nonods, | ||
integer, intent(in) | nimem, | ||
integer, intent(in) | nct, | ||
integer, dimension( totele + 1 ), intent(in) | findct, | ||
integer, dimension( nct ), intent(in) | colct, | ||
integer, intent(inout) | ncmc, | ||
integer, dimension( totele + 1 ), intent(inout) | fincmc, | ||
integer, dimension(:), intent(inout), pointer | colcmc, | ||
integer, dimension( totele ), intent(inout) | midcmc, | ||
integer, dimension( nonods ), intent(inout) | noinod, | ||
logical, intent(inout) | presym | ||
) |
This subroutine forms the matrix operating on the pressure vector. It is found from C1T ML C1 + C2T ML C2 In the first part of COLCMC contains the pressure nodes surrounding a given node.
subroutine sparsity_nd::pousinmc2 | ( | integer, intent(in) | totele, |
integer, intent(in) | nloc1, | ||
integer, intent(in) | nonods2, | ||
integer, intent(in) | nloc2, | ||
integer, intent(in) | nimem, | ||
integer, dimension( totele * nloc1 ), intent(in) | ndglno1, | ||
integer, dimension( totele * nloc2 ), intent(in) | ndglno2, | ||
integer, intent(inout) | lencolm, | ||
integer, dimension( nonods2 + 1 ), intent(inout) | findrm, | ||
integer, dimension( nimem ), intent(inout) | colm, | ||
integer, dimension( nonods2 ), intent(inout) | centrm | ||
) |