add_element() adds a new element to an aem object.
remove_element() removes an element from an aem object based on its name or type.
Usage
add_element(aem, element, name = NULL, solve = FALSE, ...)
remove_element(aem, name = NULL, type = NULL, solve = FALSE, ...)Arguments
- aem
aemobject.- element
analytic element of class
element.- name
optional name of the element as character. Duplicate element names in
aemare not allowed..- solve
logical, should the model be solved after adding or removing the element? Defaults to
FALSE.- ...
ignored
- type
class of the element(s) to remove. Either
nameortypeshould be specified inremove_element().
Value
The aem model with the addition of element or with the removal of element(s). If solve = TRUE,
the model is solved using solve.aem(). The name of the new element is taken from the name argument,
the object name or set to element_1 with 1 being the index of the new element in the element list. See examples.
Examples
m <- aem(k = 10, top = 10, base = 0, n = 0.2)
mnew <- add_element(m, constant(xc = 0, yc = 1000, hc = 12), name = 'rf')
# if name not supplied, tries to obtain it from object name
rf <- constant(xc = 0, yc = 1000, hc = 12)
mnew <- add_element(m, rf)
# or else sets it sequentially from number of elements
mnew <- add_element(m, constant(xc = 0, yc = 1000, hc = 12))
# add_element() adn remove_element() are pipe-friendly
mnew <- aem(k = 10, top = 10, base = 0, n = 0.2) |>
add_element(rf, name = 'rf') |>
add_element(headwell(xw = 0, yw = 100, rw = 0.3, hc = 8),
name = 'headwell', solve = TRUE)
# removing elements
mnew <- remove_element(mnew, name = 'rf')
mnew <- remove_element(mnew, type = 'headwell')
