generate_image_wells: Generate image wells across rectangular boundaries

Description Usage Arguments Details Value Method Examples

View source: R/anem_imaging.R

Description

Mirror wells across 2 parallel bounds, then the two perpendicular bounds

Usage

1
generate_image_wells(wells, aquifer, include_image_columns = FALSE)

Arguments

wells

Wells with columns Q, R, diam, x, y

aquifer

Aquifer object with bounds defined including columns for bID, bound_type, m, b

include_image_columns

If FALSE, no new columns are added. If TRUE, columns for well imaging are included in the result.

Details

The function requires that the wells are labeled with a column of identifiers, wID. If it is not present, the function generates them. The image well wID's are always generated automatically. not present.

Value

A tibble containing original and mirrored wells, with the following columns: x, y, Q, diam, path, orig_wID, transform (boundary type), source_bound. For image wells that generated, NA values are used to fill fields for columns that are not generated by this function.

If include_image_columns is TRUE, the following additional columns are included in the results:

Method

The original wells are labelled L0. These wells are mirrored across a set of parallel boundaries. Each mirrored well (L1) has a source well (L0) and source boundary (the bound across which it was mirrored). The L1 wells then need to be mirrored across the other parallel boundary. The wells from level Lx are mirrored across the other boundary (ie, not the source boundary), and each mirror well (L+) has a source well (Lx) and source boundary (the bound across which it was mirrored). This is done for a first set of parallel boundaries, then repeated for the other two perpendicular boundaries.

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
well1 <- define_wells(x=50,y=50,Q=20,R=100,diam=1)
well2 <- define_wells(x=25,y=75,Q=20,R=100,diam=1)
wells <- define_wells(rbind(well1,well2))
bounds <- define_bounds(data.frame(bound_type=c("CH","NF","NF","NF"),
  m=c(Inf,0,Inf,0),b=c(0,0,100,100)))
aquifer <- define_aquifer("unconfined",Ksat=1e-4,bounds=bounds)
image_wells <- generate_image_wells(wells,bounds)

bounds <- data.frame(bound_type=c("PB","PB","CH","NF"),m=c(Inf,0,Inf,0),b=c(0,0,100,100))
aquifer <- define_aquifer("unconfined",Ksat=1e-4,bounds=bounds)
image_wells <- generate_image_wells(well1,aquifer,include_image_columns=TRUE)

library(ggplot2)
ggplot() +
  geom_segment(data=aquifer$bounds,aes(x1,y1,xend=x2,yend=y2)) +
  geom_point(data=image_wells,aes(x,y,color=as.factor(orig_wID))) +
  scale_shape_manual(values=c(1,16)) +
  coord_equal()

gopalpenny/anem documentation built on Dec. 20, 2020, 5:27 a.m.