GModule electrohydro
1 0 GfsElectroHydro GfsBox GfsGEdge {} {
Global {
double gaussbell (double x, double y, double t) {
double alpha = (x*x + y*y)/2./a/a;
double beta = a*sqrt(2.*M_PI);
double te = perm/K;
return exp(-alpha)/beta*exp(-t/te);
}
}
VariableTracer Rhoe
Refine 7*(1. - 4.*(x*x + y*y))
Time { end = 6 dtmax = 1e-2 }
Init {} { Rhoe = gaussbell(x,y,0) }
SourceDiffusionExplicit Rhoe 1 Phi
OutputSimulation { start = 0 } {
awk '{ if ($1 != "#") print sqrt($1*$1+$2*$2),$11 > "t_0-SCHEME"; }'
} { format = text }
OutputSimulation { start = 2 } {
awk '{ if ($1 != "#") print sqrt($1*$1+$2*$2),$11 > "t_2-SCHEME"; }'
} { format = text }
OutputSimulation { start = 4 } {
awk '{ if ($1 != "#") print sqrt($1*$1+$2*$2),$11 > "t_4-SCHEME"; }'
} { format = text }
OutputSimulation { start = 6 } {
awk '{ if ($1 != "#") print sqrt($1*$1+$2*$2),$11 > "t_6-SCHEME"; }'
} { format = text }
OutputErrorNorm { istep = 10 } norms-SCHEME { v = Rhoe } { s = gaussbell(x,y,t) }
OutputLocation { istep = 10 } {
awk '
BEGIN {
a = 0.05
perm = 2.
K = 1.
rhoinic = 1./a/sqrt(2.*3.14159265358979)
}
{
if ($1 != "#")
print $1, rhoinic*exp(-$1*K/perm), $12;
}' > timevol-SCHEME
} { 0. 0. 0. }
} {
perm = 2
charge = Rhoe
GfsElectricProjectionParams { tolerance = 1e-7 }
}
GfsBox {
left = Boundary { BcDirichlet Phi 0 }
right = Boundary { BcDirichlet Phi 0 }
top = Boundary { BcDirichlet Phi 0 }
bottom = Boundary { BcDirichlet Phi 0 }
}