marking curved boundary in dolfin by SubDomain
I am trying to mark a curved boundary which is a PHYSICAL boundary, but it seems
dolfin does not take the boundary into account.
my curved boundary is just a semi-circle with a radius 0.5 and the center locates at (0, 0)
What I do is below,
class Cboundary(
def inside(
return on_boundary and (abs(x[
bc = DirichletBC(
Changing the value of tol is not useful as I tried.
Question information
- Language:
- English Edit question
- Status:
- Solved
- For:
- DOLFIN Edit question
- Assignee:
- No assignee Edit question
- Solved by:
- tedlai
- Solved:
- 2010-03-03
- Last query:
- 2010-03-03
- Last reply:
- 2010-03-02
Anders Logg (logg) said : | #1 |
On Tue, Mar 02, 2010 at 08:09:35PM -0000, tedlai wrote:
> New question #102995 on DOLFIN:
> https:/
>
> I am trying to mark a curved boundary which is a PHYSICAL boundary, but it seems
> dolfin does not take the boundary into account.
>
> my curved boundary is just a semi-circle with a radius 0.5 and the center locates at (0, 0)
>
> What I do is below,
>
> class Cboundary(
> def inside(
> return on_boundary and (abs(x[
>
> bc = DirichletBC(
>
> Changing the value of tol is not useful as I tried.
Try changing to
return abs(x[0]*x[0] + x[1]*x[1] - 0.25) < tol
on_boundary will only be True on the actual boundary of the mesh and
as I understand it your "boundary" is inside the domain.
--
Anders
tedlai (lailai) said : | #2 |
Thank you so much for your answer,
I worked it out with your fomulation, anyway, actually, this curved boundary is not insed the domain,
but is a classical boundary.