[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