View source: R/pistonSimulation.R
pistonSimulation | R Documentation |
A simulator of a piston moving whithin a cylinder. The piston's performance is measured by the time it takes to complete one cycle, in seconds. Several factors can affect the piston's performance, they are listed in the arguments section.
pistonSimulation(m = 60, s = 0.02, v0 = 0.01, k = 5000, p0 = 110000, t = 296, t0 = 360, each = 50, seed = NA, check = TRUE)
m |
the impact pressure determined by the piston weight (kg). A single value or a vector of length n. |
s |
the piston surface area (m^2). A single value or a vector. |
v0 |
the initial volume of the gas inside the piston (m^3). A single value or a vector of length n. |
k |
the spring coefficient (N/m^3). A single value or a vector of length n. |
p0 |
the atmospheric pressure (N/m^2). A single value or a vector of length n. |
t |
the surrounding ambient temperature (K). A single value or a vector of length n. |
t0 |
the filling gas temperature (K). A single value or a vector of length n. |
each |
non-negative integer. Each element of previous parameters is repeated |
seed |
a single value, interpreted as an integer. If specified make the simulation replicable. |
check |
if |
Factors affect the Cycle Time s via a chain of nonlinear equations:
seconds = 2π sqrt(m/(k + s^2 ((p0 v0)/t0) (t/v^2)))
where
v = (s/2k) (sqrt(a^2 + 4k (p0 v0)/t0 t) - a)
and
a = p0 s + 19.62m - (k v0)/s
A data frame, a matrix-like structure, with each
* n rows and with columns:
m | numeric | value of m |
s | numeric | value of s |
v0 | numeric | value of v0 |
k | numeric | value of k |
p0 | numeric | value of p0 |
t | numeric | value of t |
t0 | numeric | value of t0 |
seconds | numeric | time to complete one cycle (s) |
Daniele Amberti
Kenett, R., Zacks, S. with contributions by Amberti, D. Modern Industrial Statistics: with applications in R, MINITAB and JMP. Wiley.
powerCircuitSimulation
,
simulationGroup
,
LATHYPPISTON
Ps <- pistonSimulation( m = rep(60, 100), s = rep(0.02, 100), v0 = rep(0.01, 100), k = rep(5000, 100), p0 = rep(110000, 100), t = c(rep(296,35), 296*1.1^(1:65)), t0 = rep(360, 100), each = 1, seed = 123, check = FALSE) head(Ps) tail(Ps) plot(Ps$seconds)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.