← Back to team overview

dolfin team mailing list archive

Re: zero normal velocities / corrupted vtk output

 



On 17/05/10 08:50, Patrick Riesen wrote:
Anders Logg wrote:
On Fri, May 07, 2010 at 02:39:41PM +0200, Patrick Riesen wrote:
hello,

i want to zero the normal velocity on a boundary part of my
2D-domain, so i used something like

n = cell.n
a = ... + inner(w,dot(v,n)*n)*ds(2) + ...

in my form-file (w=testfunction, v=trialfunction).

i marked the boundary part using the "exterior facet domains"
meshfunction, which will be picked up in assemble(..):

MeshFunction< uint >* _ext_facet_domains =
mesh.data().create_mesh_function("exterior facet domains", 1)

*_ext_facet_domains = 5;
boundary.mark(*_ext_facet_domains, 2)

can i do this? or what is wrong with the above way? because i don't
get zero velocities...

thank your for help,

patrick

What if you add a (big) parameter in front of that term? Does it have
any effect at all on the solution?

I would also suggest writing the term as

dot(w, n)*dot(v, n)*ds(2)

thank you for the help anders,

so i noticed the following:
without parameter in front, i could see no effect at all. if i add a
parameter C in front and increase it stepwise until C is about 10^6 i
can observe how the velocities cancel out on that boundary.

i guess this approach works, but there is something else:
looking at the (time-dependent) solution (*pvd file set or single vtu
files) in paraview, i ran into several

ERROR: In
/home/kitware/Dashboard/MyTests/ParaView-3-8/ParaView-3.8/ParaView/VTK/IO/vtkXMLDataReader.cxx,
line 509
vtkXMLUnstructuredGridReader (0x1398ce0): Cannot read point data array
"U" from PointData in piece 0. The data array in the element may be too
short.

I noticed that the reader crashes on some absurd numbers appearing in
PointData "U" as

[...]
-3.949617e-105 9.769857e-104 0.000000e+00
[...]

If i set those to zero, there is no problem. but the appearance of such
'almost-zero' numbers is clearly connected to using the parameter C.

do you suggest me another way how to do this?

or do you think that the VTK output writing should check for numbers <
DOLFIN_EPS to avoid such corrupted output, and the approach is ok?



I've just committed a fix for this.

Garth

best regards and thanks for the support,
patrick


--
Anders


_______________________________________________
Mailing list: https://launchpad.net/~dolfin
Post to : dolfin@xxxxxxxxxxxxxxxxxxx
Unsubscribe : https://launchpad.net/~dolfin
More help : https://help.launchpad.net/ListHelp




References