Boundary conditions
The following tables list all possible boundary condition labels.
Boundary conditions bcx
Module boundcond.f90
Variable |
Meaning |
|---|---|
0 |
zero value in ghost zones, free value on boundary |
p |
periodic |
s |
symmetry, \(f_{N+i}=f_{N-i}\) ; implies \(f'(x_N)=f'''(x_0)=0\) |
sf |
symmetry with respect to interface |
ss |
symmetry, plus function value given |
sds |
symmetric-derivative-set |
s0d |
symmetry, function value such that df/dx=0 |
a |
antisymmetry, \(f_{N+i}=-f_{N-i}\) ; implies \(f(x_N)=f''(x_0)=0\) |
af |
antisymmetry with respect to interface |
a2 |
antisymmetry relative to boundary value, \(f_{N+i}=2 f_{N}-f_{N-i}\) ; implies \(f''(x_0)=0\) |
a2v |
set boundary value and antisymmetry relative to it \(f_{N+i}=2 f_{N}-f_{N-i}\) ; implies \(f''(x_0)=0\) |
a2r |
sets \(d^2f/dr^2 +2df/dr- 2f/r^2 = 0\) This is the replacement of zero second derivative in spherical coordinates, in radial direction. |
cpc |
cylindrical perfect conductor implies \(f''+f'/R=0\) |
cpp |
cylindrical perfect conductor for Aphi implies \(RA''+A'=0\) |
cpz |
cylindrical perfect conductor for Az implies \(R(RA)''-(RA)'=0\) |
spr |
spherical perfect conductor implies \(f''+2f'/R=0\) and \(f(x_N)=0\) |
v |
vanishing third derivative |
cop |
copy value of last physical point to all ghost cells |
1s |
onesided |
d1s |
onesided for 1st/2nd derivative in two first inner points, Dirichlet in boundary point |
n1s |
onesided for 1st/2nd derivative in two first inner points, Neumann in boundary point |
1so |
onesided |
cT |
constant temperature (implemented as condition for entropy \(s\) or temperature \(T\) ) |
c1 |
constant conductive flux |
Fgs |
black body: - chi_t*rho*T*grad(s) - K*grad(T) = sigmaSBt*T**4 |
Fct |
Fbot = - K*grad(T) - chi_t*rho*T*grad(s) |
Fcm |
\(Fbot = - K*grad(\overline{T})\) :math:` - chi_t*overline{rho}*overline{T}*grad(overline{s})` |
sT |
symmetric temperature, \(T_{N-i}=T_{N+i}\) ; implies \(T'(x_N)=T'''(x_0)=0\) |
asT |
select entropy for uniform ghost temperature matching fluctuating boundary value, \(T_{N-i}=T_{N}=\) ; implies \(T'(x_N)=T'(x_0)=0\) |
db |
low-order one-sided derivatives (``no boundary condition’’) for density |
f |
``freeze’’ value, i.e. maintain initial value; antisymm wrt boundary |
fg |
``freeze’’ value, i.e. maintain initial value at boundary, also mantaining the ghost zones at the initial coded value, i.e., keep the gradient frozen as well |
1 |
\(f=1\) (for debugging) |
set |
set boundary value to var{fbcx} |
st |
set boundary value to value generated by function bc_st. Special time-dependent boundary condition to model temporal changes. |
st2 |
set boundary value to value generated by function bc_st. Special time-dependent boundary condition to model temporal changes. |
der |
set derivative on boundary to var{fbcx} |
slo |
set slope at the boundary = var{fbcx} |
slp |
set slope at the boundary and in ghost cells = var{fbcx} |
shx |
set shearing boundary proportional to x with slope=var{fbcx} and abscissa=var{fbcx2} |
shy |
set shearing boundary proportional to y with slope=var{fbcx} and abscissa=var{fbcx2} |
shz |
set shearing boundary proportional to z with slope=var{fbcx} and abscissa=var{fbcx2} |
dr0 |
set boundary value [really??] |
ovr |
overshoot boundary condition ie \((d/dx-1/\mathrm{dist}) f = 0.\) |
out |
allow outflow, but no inflow forces ghost cells and boundary to not point inwards |
e1o |
allow outflow, but no inflow uses the e1 extrapolation scheme |
ant |
stops and prompts for adding documentation |
e1 |
extrapolation [describe] |
e2 |
extrapolation [describe] |
e2h |
extrapolation [describe] |
e3 |
extrapolation in log [maintain a power law] |
el |
linear extrapolation from last two active cells |
pl |
extrapolate using power law with the power index specified by fbcx |
hat |
top hat jet profile in spherical coordinate. |
jet |
top hat jet profile in cartezian coordinate. |
spd |
sets \(d(rA_{\alpha})/dr = \mathtt{fbcx(j)}\) |
sfr |
stress-free boundary condition for spherical coordinate system. |
sr1 |
Stress-free bc for spherical coordinate system. Implementation with one-sided derivative. |
nfr |
Normal-field bc for spherical coordinate system. Some people call this the ``(angry) hedgehog bc’’. |
nr1 |
Normal-field bc for spherical coordinate system. Some people call this the ``(angry) hedgehog bc’’. Implementation with one-sided derivative. |
sa2 |
\((d/dr)(r B_{\phi}) = 0\) imposes boundary condition on 2nd derivative of \(r A_{\phi}\) . Same applies to \(\theta\) component. |
pfc |
perfect-conductor in spherical coordinate: \(d/dr( A_r) + 2/r = 0\) . |
fix |
set boundary value [really??] |
fil |
set boundary value from a file |
cfb |
radial centrifugal balance |
g |
set to given value(s) or function |
ioc |
inlet/outlet on western/eastern hemisphere in cylindrical coordinates |
tay |
|
exp |
exponentiate x ghost zone of other variable |
slc |
set x ghost zones from slice. |
density_wind |
‘wind’ bc for lnrho |
nil, ‘’, no |
do nothing; assume that everything is set |
Module boundcond_alt.f90
Variable |
Meaning |
|---|---|
0 |
do nothing; assume that everything is set zero value in ghost zones, free value on boundary |
p |
periodic |
s |
symmetry, \(f_{N+i}=f_{N-i}\) ; implies \(f'(x_N)=f'''(x_0)=0\) |
ss |
symmetry, plus function value given |
s0d |
symmetry, function value such that df/dx=0 |
a |
antisymmetry, \(f_{N+i}=-f_{N-i}\) ; implies \(f(x_N)=f''(x_0)=0\) |
a2 |
antisymmetry relative to boundary value, \(f_{N+i}=2 f_{N}-f_{N-i}\) ; implies \(f''(x_0)=0\) |
a2r |
sets \(d^2f/dr^2 +2df/dr- 2f/r^2 = 0\) This is the replacement of zero second derivative in spherical coordinates, in radial direction. |
cpc |
cylindrical perfect conductor implies \(f''+f'/R=0\) |
cpp |
cylindrical perfect conductor implies \(f''+f'/R=0\) |
cpz |
cylindrical perfect conductor implies \(f''+f'/R=0\) |
spr |
spherical perfect conductor implies \(f''+2f'/R=0\) and \(f(x_N)=0\) |
v |
vanishing third derivative |
cop |
copy value of last physical point to all ghost cells |
1s |
onesided |
1so |
onesided |
cT |
constant temperature (implemented as condition for entropy \(s\) or temperature \(T\) ) |
c1 |
constant temperature (or maybe rather constant conductive flux??) |
Fgs |
Fconv = - chi_t*rho*T*grad(s) |
Fct |
Fbot = - K*grad(T) - chi_t*rho*T*grad(s) |
Fcm |
\(Fbot = - K*grad(\overline{T})\) :math:` - chi_t*overline{rho}*overline{T}*grad(overline{s})` |
sT |
symmetric temperature, \(T_{N-i}=T_{N+i}\) ; implies \(T'(x_N)=T'''(x_0)=0\) |
asT |
select entropy for uniform ghost temperature matching fluctuating boundary value, \(T_{N-i}=T_{N}=\) ; implies \(T'(x_N)=T'(x_0)=0\) |
db |
|
f |
``freeze’’ value, i.e. maintain initial |
fg |
``freeze’’ value, i.e. maintain initial |
1 |
\(f=1\) (for debugging) |
set |
set boundary value to var{fbcx12} |
der |
set derivative on boundary to var{fbcx12} |
slo |
set slope at the boundary = var{fbcx12} |
dr0 |
set boundary value [really??] |
ovr |
overshoot boundary condition ie \((d/dx-1/\mathrm{dist}) f = 0.\) |
out |
allow outflow, but no inflow forces ghost cells and boundary to not point inwards |
e1o |
allow outflow, but no inflow uses the e1 extrapolation scheme |
ant |
stops and prompts for adding documentation |
e1 |
extrapolation [describe] |
e2 |
extrapolation [describe] |
e3 |
extrapolation in log [maintain a power law] |
hat |
top hat jet profile in spherical coordinate. |
jet |
top hat jet profile in cartezian coordinate. |
spd |
sets \(d(rA_{\alpha})/dr = \mathtt{fbcx12(j)}\) |
sfr |
stress-free boundary condition for spherical coordinate system. |
nfr |
Normal-field bc for spherical coordinate system. Some people call this the ``(angry) hedgehog bc’’. |
sa2 |
\((d/dr)(r B_{\phi}) = 0\) imposes boundary condition on 2nd derivative of \(r A_{\phi}\) . Same applies to \(\theta\) component. |
pfc |
perfect-conductor in spherical coordinate: \(d/dr( A_r) + 2/r = 0\) . |
fix |
set boundary value [really??] |
fil |
set boundary value from a file |
g |
set to given value(s) or function |
ioc |
do nothing; assume that everything is set inlet/outlet on western/eastern hemisphere in cylindrical coordinates |
tay |
Boundary conditions bcz
Module boundcond.f90
Variable |
Meaning |
|---|---|
in |
allow inflow, but no outflow forces ghost cells and boundary to not point outwards |
0 |
zero value in ghost zones, free value on boundary |
p |
periodic |
yy |
Yin-Yang grid |
s |
symmetry |
sf |
symmetry with respect to interface |
s0d |
symmetry, function value such that df/dz=0 |
0ds |
symmetry, function value such that df/dz=0 |
a |
antisymmetry |
a2 |
antisymmetry relative to boundary value |
a2v |
set boundary value and antisymmetry relative to it |
af |
antisymmetry with respect to interface |
a0d |
antisymmetry with zero derivative |
v |
vanishing third derivative |
v3 |
vanishing third derivative |
1s |
one-sided |
d1s |
onesided for 1st and 2nd derivative in two first inner points, Dirichlet in boundary point |
n1s |
onesided for 1st and 2nd derivative in two first inner points, Neumann in boundary point |
a1s |
special for perfect conductor with const alpha and etaT when A considered as B; one-sided for 1st and 2nd derivative in two first inner points |
fg |
``freeze’’ value, i.e. maintain initial value at boundary, also mantaining the ghost zones at the initial coded value, i.e., keep the gradient frozen as well |
c1 |
special boundary condition for \(\ln\rho\) and \(s\) : constant heat flux through the boundary |
c1s |
complex |
Fgs |
black body: - chi_t*rho*T*grad(s) - K*grad(T) = sigmaSBt*T**4 |
Fct |
Fbot = - K*grad(T) - chi_t*rho*T*grad(s) |
c3 |
constant flux at the bottom with a variable hcond |
pfe |
potential field extrapolation |
p1D |
potential field extrapolation in 1D |
pot |
potential magnetic field |
pwd |
a variant of ‘pot’ for nprocx=1 |
d2z |
|
hds |
hydrostatic equilibrium with a high-frequency filter |
cT |
constant temperature. If used for lnrho, sets both lnrho and ss (in which case the BC for ss should be set to ‘nil’) If used for ss, sets only ss. |
cT1 |
constant temperature using one-sided derivatives |
cT2 |
constant temp. (keep lnrho) |
cT3 |
constant temp. (keep lnrho) |
hs |
hydrostatic equilibrium |
hse |
hydrostatic extrapolation rho or lnrho is extrapolated linearily and the temperature is calculated in hydrostatic equilibrium. |
cp |
constant pressure |
sT |
symmetric temp. |
ctz |
for interstellar runs copy T |
cdz |
for interstellar runs limit rho |
ism |
exponential decay/growth in rho/T by scale height |
asT |
select entropy for uniform ghost temperature matching fluctuating boundary value, \(T_{N-i}=T_{N}=\) ; implies \(T'(x_N)=T'(x_0)=0\) |
c2 |
special boundary condition for s: constant temperature at the boundary — requires boundary condition ‘a2’ for \(\ln\rho\) |
db |
low-order one-sided derivatives (``no boundary condition’’) for density |
ce |
complex |
e1 |
extrapolation |
e2 |
extrapolation |
ex |
simple linear extrapolation in first order |
exf |
simple linear extrapolation in first order |
exd |
simple linear extrapolation in first order |
exm |
simple linear extrapolation in first order |
b1 |
extrapolation with zero value (improved ‘a’) |
b2 |
extrapolation with zero value (improved ‘a’) |
b3 |
extrapolation with zero value (improved ‘a’) |
f, fa |
freeze value + antisymmetry |
fs |
freeze value + symmetry |
fBs |
frozen-in B-field (s) |
fB |
frozen-in B-field (a2) |
g |
set to given value(s) or function |
gs |
|
1 |
f=1 (for debugging) |
StS |
solar surface boundary conditions |
set |
set boundary value |
sep |
set boundary value |
der |
set derivative on the boundary |
div |
set the divergence of \(\uv\) to a given value use bc = ‘div’ for iuz |
ovr |
set boundary value |
inf |
allow inflow, but no outflow |
ouf |
allow outflow, but no inflow |
out |
allow outflow, but no inflow forces ghost cells and boundary to not point inwards |
crk |
no-inflow: copy value of last physical point to all ghost cells, but suppressing any inflow |
in0 |
allow inflow, but no outflow forces ghost cells and boundary to not point outwards relaxes to vanishing 1st derivative at boundary |
ou0 |
allow outflow, but no inflow forces ghost cells and boundary to not point inwards relaxes to vanishing 1st derivative at boundary |
ind |
allow inflow, but no outflow forces ghost cells and boundary to not point outwards creates inwards pointing or zero 1st derivative at boundary |
oud |
allow outflow, but no inflow forces ghost cells and boundary to not point inwards creates outwards pointing or zero 1st derivative at boundary |
ubs |
copy boundary outflow, reduce inflow speed outside the boundary |
win |
forces massflux given as \(\Sigma \rho_i ( u_i + u_0)=\textrm{fbcz1/2}(\rho)\) |
cop |
copy value of last physical point to all ghost cells |
str |
|
tay |
|
exp |
exponentiate z ghost zone of other variable |
slc |
set z ghost zones from slice. |
nil, ‘’, no |
do nothing; assume that everything is set |
Module boundcond_alt.f90
Variable |
Meaning |
|---|---|
cfb |
radial centrifugal balance |
fBs |
frozen-in B-field (s) |
fB |
frozen-in B-field (a2) |
0 |
zero value in ghost zones, free value on boundary |
p |
periodic |
s |
symmetry |
sf |
symmetry with respect to interface |
s0d |
symmetry, function value such that df/dz=0 |
0ds |
symmetry, function value such that df/dz=0 |
a |
antisymmetry |
a2 |
antisymmetry relative to boundary value |
af |
antisymmetry with respect to interface |
a0d |
antisymmetry with zero derivative |
v |
vanishing third derivative |
v3 |
vanishing third derivative |
1s |
one-sided |
fg |
``freeze’’ value, i.e. maintain initial |
c1 |
complex |
Fgs |
Fconv = - chi_t*rho*T*grad(s) |
Fct |
Fbot = - K*grad(T) - chi_t*rho*T*grad(s) |
c3 |
constant flux at the bottom with a variable hcond |
pfe |
potential field extrapolation |
p1D |
potential field extrapolation in 1D |
pot |
potential magnetic field |
pwd |
a variant of ‘pot’ for nprocx=1 |
d2z |
|
hds |
hydrostatic equilibrium with a high-frequency filter |
cT |
constant temp. |
cT2 |
constant temp. (keep lnrho) |
cT3 |
constant temp. (keep lnrho) |
hs |
hydrostatic equilibrium |
hse |
hydrostatic extrapolation rho or lnrho is extrapolated linearily and the temperature is calculated in hydrostatic equilibrium. |
cp |
constant pressure |
sT |
symmetric temp. |
ctz |
for interstellar runs copy T |
cdz |
for interstellar runs limit rho |
asT |
select entropy for uniform ghost temperature matching fluctuating boundary value, \(T_{N-i}=T_{N}=\) ; implies \(T'(x_N)=T'(x_0)=0\) |
c2 |
complex |
db |
complex |
ce |
complex |
e1 |
extrapolation |
e2 |
extrapolation |
ex |
simple linear extrapolation in first order |
exf |
simple linear extrapolation in first order |
exd |
simple linear extrapolation in first order |
exm |
simple linear extrapolation in first order |
b1 |
extrapolation with zero value (improved ‘a’) |
b2 |
extrapolation with zero value (improved ‘a’) |
b3 |
extrapolation with zero value (improved ‘a’) |
f, fa |
freeze value + antisymmetry |
fs |
freeze value + symmetry |
g |
set to given value(s) or function |
gs |
|
1 |
f=1 (for debugging) |
StS |
solar surface boundary conditions |
set |
set boundary value |
der |
set derivative on the boundary |
div |
set the divergence of \(\uv\) to a given value use bc = ‘div’ for iuz |
ovr |
set boundary value |
inf |
allow inflow, but no outflow |
ouf |
allow outflow, but no inflow |
in |
allow inflow, but no outflow forces ghost cells and boundary to not point outwards |
out |
allow outflow, but no inflow forces ghost cells and boundary to not point inwards |
in0 |
allow inflow, but no outflow forces ghost cells and boundary to not point outwards relaxes to vanishing 1st derivative at boundary |
ou0 |
allow outflow, but no inflow forces ghost cells and boundary to not point inwards relaxes to vanishing 1st derivative at boundary |
ind |
allow inflow, but no outflow forces ghost cells and boundary to not point outwards creates inwards pointing or zero 1st derivative at boundary |
oud |
allow outflow, but no inflow forces ghost cells and boundary to not point inwards creates outwards pointing or zero 1st derivative at boundary |
ubs |
copy boundary outflow, |
win |
forces massflux given as \(\Sigma \rho_i ( u_i + u_0)=\textrm{fbcz1/2}(\rho)\) |
cop |
copy value of last physical point to all ghost cells |
nil |
do nothing; assume that everything is set |
Boundary conditions bcy
Module boundcond.f90
Variable |
Meaning |
|---|---|
0 |
zero value in ghost zones, free value on boundary |
p |
periodic |
pp |
periodic across the pole |
yy |
Yin-Yang grid |
ap |
anti-periodic across the pole |
s |
symmetry, \(f_{N+i}=f_{N-i}\) ; implies \(f'(y_N)=f'''(y_0)=0\) |
sf |
symmetry with respect to interface |
ss |
symmetry, plus function value given |
sds |
symmetric-derivative-set |
cds |
complex symmetric-derivative-set |
s0d |
symmetry, function value such that df/dy=0 |
a |
antisymmetry |
af |
antisymmetry with respect to interface |
a2 |
antisymmetry relative to boundary value |
v |
vanishing third derivative |
v3 |
vanishing third derivative |
out |
allow outflow, but no inflow forces ghost cells and boundary to not point inwards |
1s |
onesided |
d1s |
onesided for 1st and 2nd derivative in two first inner points, Dirichlet in boundary point |
n1s |
onesided for 1st and 2nd derivative in two first inner points, Neumann in boundary point |
cT |
constant temp. |
sT |
symmetric temp. |
asT |
select entropy for uniform ghost temperature matching fluctuating boundary value, \(T_{N-i}=T_{N}=\) ; implies \(T'(x_N)=T'(x_0)=0\) |
f |
freeze value |
s+f |
freeze value |
fg |
``freeze’’ value, i.e. maintain initial |
fBs |
frozen-in B-field (s) |
fB |
frozen-in B-field (a2) |
1 |
f=1 (for debugging) |
set |
set boundary value |
sse |
symmetry, set boundary value |
sep |
set boundary value |
e1 |
extrapolation |
e2 |
extrapolation |
e3 |
extrapolation in log [maintain a power law] |
der |
set derivative on the boundary |
cop |
outflow: copy value of last physical point to all ghost cells |
c+k |
no-inflow: copy value of last physical point to all ghost cells, but suppressing any inflow |
sfr |
stress-free boundary condition for spherical coordinate system. |
nfr |
Normal-field bc for spherical coordinate system. Some people call this the ``(angry) hedgehog bc’’. |
spt |
spherical perfect conducting boundary condition along \(\theta\) boundary \(f''+\cot\theta f'=0\) and \(f(x_N)=0\) |
pfc |
perfect conducting boundary condition along \(\theta\) boundary |
str |
|
tay |
|
exp |
exponentiate y ghost zone of other variable |
slc |
set x ghost zones from slice. |
nil, ‘’, no |
do nothing; assume that everything is set |
Module boundcond_alt.f90
Variable |
Meaning |
|---|---|
sds |
symmetric-derivative-set |
p |
periodic |
pp |
periodic across the pole |
ap |
anti-periodic across the pole |
s |
symmetry symmetry, \(f_{N+i}=f_{N-i}\) ; implies \(f'(y_N)=f'''(y_0)=0\) |
ss |
symmetry, plus function value given |
cds |
complex symmetric-derivative-set |
s0d |
symmetry, function value such that df/dy=0 |
a |
antisymmetry |
a2 |
antisymmetry relative to boundary value |
v |
vanishing third derivative |
v3 |
vanishing third derivative |
out |
allow outflow, but no inflow forces ghost cells and boundary to not point inwards |
1s |
onesided |
cT |
constant temp. |
sT |
symmetric temp. |
asT |
select entropy for uniform ghost temperature matching fluctuating boundary value, \(T_{N-i}=T_{N}=\) ; implies \(T'(x_N)=T'(x_0)=0\) |
f |
freeze value |
s+f |
freeze value |
fg |
``freeze’’ value, i.e. maintain initial |
1 |
f=1 (for debugging) |
set |
set boundary value |
sse |
symmetry, set boundary value |
sep |
set boundary value |
e1 |
extrapolation |
e2 |
extrapolation |
e3 |
extrapolation in log [maintain a power law] |
der |
set derivative on the boundary |
cop |
outflow: copy value of last physical point to all ghost cells |
c+k |
no-inflow: copy value of last physical point to all ghost cells, but suppressing any inflow |
sfr |
stress-free boundary condition for spherical coordinate system. |
nfr |
Normal-field bc for spherical coordinate system. Some people call this the ``(angry) hedgehog bc’’. |
spt |
spherical perfect conducting boundary condition along \(\theta\) boundary \(f''+\cot\theta f'=0\) and \(f(x_N)=0\) |
pfc |
perfect conducting boundary condition along \(\theta\) boundary |
str |
|
nil, ‘’ |
do nothing; assume that everything is set |