dolfin team mailing list archive
-
dolfin team
-
Mailing list archive
-
Message #10740
Re: SubDomains and SubSystems
On Mon, Nov 17, 2008 at 12:20:18PM +0100, Harish Narayanan wrote:
> Hello all,
>
> I'm trying to solve a coupled-physics problem in 3D and I've got a
> couple of questions.
>
> 1. Can (Dirichlet) boundary conditions not be set on edges (or points)
> when working in 3D? I get errors of the following form,
>
> *** Warning: Found no facets matching domain for boundary condition.
>
> though I can see that the corresponding SubDomain.inside returns valid
> points (which don't form facets).
Boundary conditions can normally only be set on facets (the thing with
dimension -1, so edges in 2D and faces in 3D).
But there is a possibility of setting "BCmethod" to "pointwise", which
should allow you to set boundary conditions anyhow you like (as long
as there's a degree of freedom nearby).
> 2. When working with multiple forms (including multiple FFC-generated .h
> files in C++), how do I use SubSystem correctly? With one form, say
> elasticity, I separate components of the displacement field via
>
> SubSystem u0(0); //etc.
>
> and apply boundary conditions specific to this component via something like:
>
> DirichletBC bc1(fix, mesh, left, u0);
>
> When I have an additional form, say the heat conduction problem, how do
> I now refer to its temperature field when setting boundary conditions?
If there's only one field (just a scalar temperature), the subsystem
variable should not be needed, so just
DirichletBC bc1(value, mesh, where);
should work.
The interface for this has been changed in the hg version of DOLFIN,
which has just converged so if you're mainly using the C++ interface
it should be "safe" now to upgrade (beta testers welcome... :-).
--
Anders
Attachment:
signature.asc
Description: Digital signature
Follow ups
References