Hello,
Hello,I found my bug: The indices of the points are offseted in the
function DMPlexCreateFromCellList.
Using the correct indicices in the DMPlexSetLabelValue leads to the
expected behaviour.
Thanks you.
Olivier B
Quoting [email protected]:
Hello,
Ok, I did it:
ierr =
DMPlexCreateFromCellList(comm,dim,8,9,3,0,obcells,2,obvertex,dm);CHKERRQ(ierr);
for (i=0;i<obNbBound;i++){
ierr =DMPlexSetLabelValue(*dm, "marker", obboundary[i],
1);CHKERRQ(ierr);
}
but, it is not efficient: The degree of freedom are still present in the
linear system.
In the source of DMPlexCreateSquareBoundary, the label is set for the
edges and for the points.
Do I have to do something like this ?
Thanks,
Olivier B
Quoting Matthew Knepley <[email protected]>:
On Tue, Aug 20, 2013 at 10:16 AM, Olivier Bonnefon
<[email protected]> wrote:
Hello,
Thank-you, I'm using DMPlexCreateFromCellList(), and it works except
for the boundary conditions.
I'm using Dirichlet boundary conditions, and the corresponding degree
of freedom are not substituted (like when I use DMPlexCreateBoxMesh).
So, I do have missing a step to define the boundary ?
Yes. For the other formats, it translates boundary markers to
DMLabels. With the CellList you will have to label your boundary.
If you want it to work exactly as in the example, for every point
p on your boundary,
DMPlexSetLabelValue(dm, "marker", p, 1);
You can avoid the string lookup by using
DMPlexCreateLabel(dm, "marker");
DMPlexGetLabel(dm, "marker", &label);
DMLabelSetValue(label, p, 1);
Obviously, if you have multiple BC, you can use a label for each
condition.
Thanks,
Matt
Olivier B
On 08/20/2013 03:08 PM, Matthew Knepley wrote:
On Tue, Aug 20, 2013 at 7:50 AM, Olivier Bonnefon
<[email protected]> wrote:
Hello,
I have modify the ex12.c example for a like diffusive problem
(FEM+unstructured mesh+SNES).
The next step, is to replace the square mesh by my own mesh.
I want import my mesh from a simple file, and after distributed it
with DMPlexDistribute.
Is it the good way ?
Is it possible to import a mesh in petsc ? I didn't find the answer
in the documentation. Is there an example ?
There are a few formats supported:
1) Cell-vertex: DMPlexCreateFromCellList()
2) Exodus: DMPlexCreateExodus()
3) CGNS: DMPlexCreateCGNS()
Thanks,
Matt
Thanks
Olivier Bonnefon
--
Olivier Bonnefon
INRA PACA-Avignon, Unité BioSP
Tel: +33 (0)4 32 72 21 58[1]
--
What most experimenters take for granted before they begin their
experiments is infinitely more interesting than any results to which
their experiments lead.
-- Norbert Wiener
-- Olivier Bonnefon INRA PACA-Avignon, Unité BioSP Tel: +33 (0)4 32
72 21 58[1]
--
What most experimenters take for granted before they begin their
experiments is infinitely more interesting than any results to which
their experiments lead.
-- Norbert Wiener
Links:
------
[1] tel:%2B33%20%280%294%2032%2072%2021%2058