![]() |
ICFERST
22-06
Reservoir simulator based on DCVFEM, Dynamic Mesh optimisation and Surface-based modelling
|
Ncompositional_terms | This module contains all that is required to perform compositional modelling. NOTE THAT THIS FUNCTIONALITY HAS NEVER BEEN FULLY IMPLEMENTED ONLY INERT COMPOSITIONAL WORKS CURRENTLY |
Ncopy_outof_state | This module enables the multiphase prototype code to interact with state by copying everything required from state to ICFERST, adaptive time-stepping, outfluxes computation, tunneled BCs and Darcy velocity |
Ncv_advection | This module contains all the tools to assemble and solve the equations and fields associated with the CV mesh, i.e. transport equation, continuity equation, DCVFE gradient matrix and the Laplacian system for the zeta-potential |
Niphreeqc | IPHREEQC module from the PHREEQC project, needed to interact with PHREEQCRM |
Nmatrix_operations | This module contain subroutines to deal with the ICFERST matrices format. This includes MATVECS and MATMAT operations All of this should be replaced by PETSc |
Nmulti_data_types | This module contains all the ICFERST structures and associated subroutines (allocate/deallocate) Use it also to identify what a variable means since here they are described |
Nmulti_interpolation | This module contains the conservative mesh to mesh interpollation for DG fields, as described in Adam et al. 2016 doi: http://dx.doi.org/10.1016/j.jcp.2016.05.058 |
Nmulti_machine_learning | Module to load and call a XGBoost model |
Nmulti_phreeqc | All the subroutines required to handle the connection with PHREEQCRM |
Nmulti_pipes | This module contains all the subroutines to assemble and solve for pipes |
Nmulti_sp | This module contains all the necessary subroutines to deal with self Potential in ICFERST |
Nmulti_surface_tension | This module contains the subroutines to include surface tension. Currently only used for INERTIA |
Nmulti_tools | This module contains the generic subroutines required by ICFERST, for example quicksort |
Nmultiphase_1d_engine | This module contain all the necessary subroutines to deal with FE-wise equations and fields. Assembling and solving of the momentum equation and associated fields such as capillary pressure, hydrostatic pressure solver, and stabilisation techniques. Also includes the assembly and solving of a Laplacian system (for zeta potential mainly) |
Nmultiphase_eos | This module contains subroutines related to the equations of state and other properties such as relative permeabilities, capillary, flash, etc |
Nmultiphase_time_loop | Time-loop module of IC-FERST. This module contains the time-loop and the non-linear loop. The time-loop consists many steps: 1) Data initialisation including shape functions, memory allocation, sparsity, porous media properties, etc. 2) Initialisation of the actual time loop. 3) Non-linear loop. IC-FERST uses a modified Anderson-acceleration non-linear solver, which is based in a Picard iterative non-linear solver. In this way, the different equations are solved independently and coupled through the Anderson non-linear solver. First the momentum and continuity equations are assembled and solved for, next the different transport equations are solved, for example: saturation, temperature, concentration, etc. ActiveTracers and Species are solved within the non-linear solver while PassiveTracers are solved outside the non-linear solver. 4) Once the non-linear solver has converged, we proceed to jump to the next time-level but first we check if we need to adapt the mesh and/or generate a vtu file. etc |
Nphreeqcrm | Fortran Documentation for the geochemical reaction module PhreeqcRM |
Nsetbasicfortrancallbackf | |
Nshape_functions_linear_quadratic | Shape function subroutines for multi-dimensions for Quadrilaterals, Triangles, Hexaedra and Tetrahedra |
Nshape_functions_ndim | This module contains subroutines to generate the shape functions for multi dimensions |
Nshape_functions_prototype | SHAPE FUNCTIONS SUBRTS |
Nsolvers_module | All the subroutines associated to solving non-linear systems, Schur complement, etc |
Nspact | Sparsity for the Matrices? |
Nsparsity_1d | Subroutines associated with the CSR storage used for 1D |
Nsparsity_nd | Subroutines associated with the CSR storage used in ICFERST |
Nxgb_interface | Interface to call XGBoost library C API from fortran |