# calling function TPFA for example 01.2

library(rMRST)

Grid <- makeGrid()

Grid$Nx = 32; Grid$hx = 1 / Grid$Nx
Grid$Ny = 32; Grid$hy = 1 / Grid$Ny
Grid$Nz = 1; Grid$hz = 1 / Grid$Nz

#  Grid.K=exp(5∗smooth3(smooth3(randn(3,Grid.Nx,Grid.Ny))));
Grid$K = randn(3, Grid$Nx, Grid$Ny)
N <-  Grid$Nx * Grid$Ny * Grid$Nz

q <- zeros(N, 1)
q[c(N, 1)] = c(1, -1)


K = Grid$K

# call function TPFA
tpfa <- TPFA(Grid, K, q)   # returns a list of P, V
names(tpfa)
# Plot of pressure vs (x,y)
P <- tpfa$P

Nx = seq(0, 1, length.out = Grid$Nx)
Ny = seq(0, 1, length.out = Grid$Ny)

P <- matrix(P, nrow=Grid$Nx, ncol=Grid$Ny)
filled.contour(x = Nx, y = Ny, z = P, color = rainbow, 
               key.axes = axis(4, seq(0, 3, by = 0.2)))
# Flux in x
Nx = seq(0, 1, length.out = Grid$Nx)
Ny = seq(0, 1, length.out = Grid$Ny+1)


Vx <- matrix(tpfa$V$x, nrow=9, ncol=8)

filled.contour(x = Ny, y = Nx, z = Vx, color = rainbow )
               # key.axes = axis(4, seq(0, 3, by = 0.2)))
x <- -6:16
z <- outer(x, sqrt(abs(x)), FUN = "/")
length(x)
dim(z)


f0nzie/rMRST documentation built on May 14, 2019, 1:44 p.m.