% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/cyclone.R
\name{funCyclone}
\alias{funCyclone}
\title{Objective function - Cyclone Simulation: Barth/Muschelknautz}
\usage{
funCyclone(x, deterministic = c(T, T, T), cyclone = list(Da = 1260, H =
  2500, Dt = 420, Ht = 650, He = 600, Be = 200), fluid = list(Mu = 18.5 *
  10^(-6), Vp = 5000, Rhop = 2000, Rhof = 1.204, Croh = 50),
  noiseLevel = list(Vp = 0.1, Rhop = 0.05))
}
\arguments{
\item{x}{vector of length at least one and up to six, specifying non-default geometrical parameters: Da, H, Dt, Ht, He, Be}

\item{deterministic}{binary vector. First element specifies whether volume flow is deterministic or not. Second element specifies whether particle density is deterministic or not. Third element specifies whether particle diameters are deterministic or not. Default: All are deterministic (TRUE).}

\item{cyclone}{list of a default cyclone's geometrical parameters: fluid$Da, fluid$H, fluid$Dt, fluid$Ht, fluid$He and fluid$Be}

\item{fluid}{list of default fluid parameters: fluid$Mu, fluid$Vp, fluid$Rhop, fluid$Rhof and fluid$Croh}

\item{noiseLevel}{list of noise levels for volume flow (noiseLevel$Vp) and particle density (noiseLevel$Rhop), only used if non-deterministic.}
}
\value{
returns a function that calculates the fractional efficiency for the specified diameter, see example.
}
\description{
Calculate cyclone collection efficiency according to Barth/Muschelknautz,
as well as pressure loss.
}
\examples{
funCyclone(c(1260,2500))
##target funcion, vectorized, both objectives
tfunvec <-function(x){apply(x,1,funCyclone)}
##target function, vectorized, first objective
tfunvecF1 <-function(x){apply(x,1,funCyclone)[1,]}
##target function, vectorized, sec. objective
tfunvecF2 <-function(x){apply(x,1,funCyclone)[2,]}
funCyclone(c(1260,2500)) #two parameters
funCyclone(c(12602,2500)) #different parameter values
funCyclone(c(1260,2500,100)) #three parameters
funCyclone(c(1260,10)) #invalid?
tfunvec(rbind(c(1260,2500),c(1000,2000))) #evaluate multiple geometries (two)
tfunvec(rbind(c(1260,2500),c(1000,2000),c(800,1000))) #evaluate multiple geometries (three)
tfunvecF1(rbind(c(1260,2500),c(1000,2000),c(800,1000))) #only 1. objective (pressure drop)
tfunvecF2(rbind(c(1260,2500),c(1000,2000),c(800,1000))) #only 2. objective (efficiency)

}
\references{
TODO: Barth/Muschelknautz, Gecco paper, oder so.
}

