[FLASH-USERS] Dirichlet boundary condition
Klaus Weide
klaus at flash.uchicago.edu
Mon May 9 15:23:28 EDT 2016
On Mon, 9 May 2016, Mercadier, Laurent wrote:
> I am a beginner and I am trying to solve the ConductionDelta problem and I would like to have a fixed temperature boundary condition (Dirichlet).
>
> I modified the ConductionDelta example with a point source in 3D to have
> fixed density and pressure at the boundaries, by following the
> implementation in 1) WindTunnel and 2) ShuOsher examples, but was so far
> unsuccessful. I also tried to use 'dirichlet' boundary conditions but I
> don't know how to set the boundary temperature, and I get WARNING after
> gc filling: min. unk(DENS_VAR)=-0.37799999999E-2
It seems the most straightforward way to implement a (non-homogeneous)
Dirichlet boundary condition for thermal conduction would involve mdifying
the implementation of diff_advanceTherm. See
source/physics/Diffuse/DiffuseMain/Unsplit/diff_advanceTherm ;
basically, together with specifying bcTypes as GRID_PDE_BND_DIRICHLET,
you need to set bcValues(:) for each boundary to the desired temperature
value, before calling Diffuse_solveScalar.
According to comments in diff_advanceTherm.F90, DIRICHLET boundary
conditions are "untested" here for thermal conduction. However, they are
supported and tested for Radiation diffusion, and thus should also work
for thermal conduction. You may want to refer to the code in
source/physics/RadTrans/RadTransMain/MGD/RadTrans
(and related files) to see how the setting of bcValues is handled.
HTH,
Klaus
More information about the flash-users
mailing list