|
subroutine | multiphase_eos::calculate_all_rhos (state, packed_state, Mdims, get_RhoCp) |
| : Computes the density for the phases and the derivatives of the density More...
|
|
subroutine | multiphase_eos::cap_bulk_rho (state, ncomp, nphase, cv_nonods, Density_Component, Density, Density_Cp, compute_rhoCP) |
| : Computes the bulk density for components and the derivatives of the density More...
|
|
subroutine | multiphase_eos::calculate_component_rho (state, packed_state, Mdims) |
| : Computes the density for the components and the derivatives of the density This is were the action is actually done, the other calculate rhos are wrappers More...
|
|
subroutine | multiphase_eos::calculate_rho_drhodp (state, packed_state, iphase, icomp, nphase, ncomp, eos_option_path, rho, drhodp) |
| : Computes the density and the derivative of the density More...
|
|
subroutine | linear_eos_formula (rho_internal) |
|
subroutine | multiphase_eos::calculate_porous_rho_drhop (state, packed_state, Mdims, cv_ndgln, drhodp_porous) |
| In this subroutine we calculate and update the density of the porous media based on the compressibility given in Diamond (ele-wise). We also calculate the drho/dp term for the porous media which then goes into the DERIV term in the continuity equation (cv-wise). More...
|
|
subroutine | multiphase_eos::density_polynomial (eos_coefs, pressure, temperature, Density_Field) |
| : Define de density as a polynomial More...
|
|
subroutine | multiphase_eos::assign_equation_of_state (eos_option_path_out) |
| : Read from diamond and decide which sort of density representation do we have More...
|
|
subroutine | multiphase_eos::calculate_porousmedia_absorptionterms (nphase, state, packed_state, PorousMedia_absorp, Mdims, CV_funs, CV_GIdims, Mspars, ndgln, upwnd, suf_sig_diagten_bc) |
| : Here we compute the absorption for porous media This is the sigma term defined in the papers and contains The permeability, the relative permeability, the viscosity and the saturation More...
|
|
subroutine | calculate_porousmedia_adv_terms (nphase, state, packed_state, PorousMedia_absorp, Mdims, ndgln, upwnd, viscosities) |
| : Computes the absorption and its derivatives against the saturation More...
|
|
subroutine | calculate_suf_sig_diagten_bc (nphase, packed_state, suf_sig_diagten_bc, Mdims, CV_funs, CV_GIdims, Mspars, ndgln, PorousMedia_absorp, state, inv_perm, viscosities) |
| : Computes the absorption and its derivatives against the saturation on the boundary More...
|
|
subroutine | set_viscosity (nphase, Mdims, state, visc_phases) |
| : For porous media, just sets the viscosity as a scalar More...
|
|
subroutine | multiphase_eos::calculate_absorption2 (nphase, packed_state, PorousMedia_absorp, Mdims, ndgln, SATURA, viscosities, inv_PorousMedia_absorp) |
| : Subroutine where the absorption for the porous media is actually computed More...
|
|
subroutine | multiphase_eos::get_material_absorption (nphase, iphase, material_absorption, sat, visc, CV_Immobile_fract, Corey_exponent, Endpoint_relperm) |
| :Calculates the relative permeability for 1, 2 (Brooks-corey) or 3 (stone's model) phases More...
|
|
subroutine | multiphase_eos::get_relperm (nphase, iphase, sat, CV_Immobile_fract, Corey_exponent, Endpoint_relperm, Kr) |
| :Calculates the relative permeability for 1, 2 (Brooks-corey) or 3 (stone's model) phases More...
|
|
subroutine | relperm_corey_epsilon (Kr) |
| : Brooks corey model of relperm. This subroutine add a small quantity to the corey function to avoid getting a relperm=0 that may give problems when dividing it to obtain the sigma. More...
|
|
subroutine | relperm_stone (Kr) |
| :This subroutine calculates the relative permeability for three phases First phase has to be water, second oil and the third gas We use Stone's model II adapted, and for the two phases we use the Corey model Model explained in: Aziz, K. And Settari, T.:“Petroleum Reservoir Simulation” Applied Science Publishers, London, 30-38, 1979. More...
|
|
subroutine | multiphase_eos::calculate_capillary_pressure (packed_state, NDGLN, totele, cv_nloc, CV_funs) |
| : In this subroutine the capilalry pressure is computed based on the saturation and the formula used More...
|
|
pure real function | get_cappressure (sat, Pe, a, CV_Immobile_Fraction, Imbibition_term, iphase) |
| :This functions returns the capillary pressure for a certain input saturation More...
|
|
real function | multiphase_eos::get_devcappressure (sat, Pe, a, CV_Immobile_Fraction, iphase, nphase) |
| :This functions returns the derivative of the capillary pressure with respect to the saturation More...
|
|
subroutine | multiphase_eos::calculate_u_source_cv (Mdims, state, packed_state, den, u_source_cv) |
| : This subroutine computed the gravity effect, i.e. rho * g More...
|
|
subroutine | multiphase_eos::calculate_diffusivity (state, packed_state, Mdims, ndgln, ScalarAdvectionField_Diffusion, TracerName, divide_by_rho_CP) |
| : Here we compute component/solute/thermal diffusion coefficient More...
|
|
subroutine | multiphase_eos::calculate_solute_dispersity (state, packed_state, Mdims, ndgln, density, SoluteDispersion) |
| : Dispersion for porous media For thermal, the field density needs to be passed down, which ensures that even for boussinesq a reference density is still used More...
|
|
subroutine | multiphase_eos::calculate_viscosity (state, Mdims, ndgln, Momentum_Diffusion, Momentum_Diffusion2) |
| : Computes the viscosity effect as a momemtum diffusion, this is zero for porous media More...
|
|
subroutine | multiphase_eos::update_velocity_absorption (states, ndim, nphase, velocity_absorption) |
| :<INERTIA ONLY>Computes velocity absorption from diamond information More...
|
|
subroutine | multiphase_eos::update_velocity_absorption_coriolis (states, ndim, nphase, velocity_absorption) |
| :Computes velocity absorption associated to coriolis forces from diamond information More...
|
|
subroutine | multiphase_eos::update_velocity_source (states, Mdims, u_source) |
| :Computes velocity source from diamond information More...
|
|
real function | multiphase_eos::saturation_temperature (pressure) |
| : ???? More...
|
|
subroutine | multiphase_eos::get_rockfluidprop (state, packed_state, Mdims, ndgln, current_time, update_only) |
| :Gets the relperm max, the relperm exponent and the immobile fractions and stores them into packed state By index this is: 1) immobile fraction, 2) relperm max, 3)relperm exponent 4)Capillary entry pressure 5) Capillary exponent 6) Capillary imbition term The effective inmobile fraction is the min(inmobile,saturation_flipping formula), being the saturation the value after a succesful non-linear solver convergence! This NEEDS to be called after a succesful non-linear solver (with update_only) More...
|
|
subroutine | update_saturation_flipping (sat_flip, sat, old_Sat) |
| : This internal subroutine checks the if we are flipping from drainage to imbibition, or the other way round, and updates if required the value stored in Saturation_flipping Saturation_flipping stores both the value and the history, being positive if the phase is increasing and negative if the phase is decreasing. Therefore its minimum absolute value is non-zero NOTE: Currently the trapping can only increase, i.e. no thermal effects have been considered More...
|
|
real function | multiphase_eos::jwl (A, B, w, R1, R2, E0, p, roe, ro) |
| JWL equation functions. More...
|
|
real function | multiphase_eos::diffjwl (A, B, w, R1, R2, E0, roe, ro) |
| Diff of JWL equation functions. More...
|
|
real function, dimension(jwln) | multiphase_eos::jwldensity (eos_coefs, pressure, ro0, JWLn) |
| Density of JWL equation functions. More...
|
|
subroutine | multiphase_eos::initialise_porous_media (Mdims, ndgln, packed_state, state, exit_initialise_porous_media) |
| : Initialising porous media models Given a free water level (FWL) we simulate capillary gravity equilibration, control volumes below FWL is kept at residual lighter phase saturation This subroutine is called after each timestep and saturations overidden below FWL with the heavier phase More...
|
|
real function | multiphase_eos::retrieve_reference_density (state, packed_state, iphase, icomp, nphase) |
| : For boussinesq porous media we need the reference density to ensure consistency when mixing with the porous density/Cp etc. In this subroutine we retrieve the value given a phase, component. More...
|
|
subroutine | multiphase_eos::flash_gas_dissolution (state, packed_state, Mdims, ndgln) |
| : subroutine to dissolv phase2 into phase1. Currently only for system for phase 1 = water, phase 2 = gas Dissolve instantaneously the amount introduced in diamond in mol/m3 for CO2 a reference number is 38 mol/m3. Requires the first phase to have a concentration field More...
|
|