<html><head><style type='text/css'>p { margin: 0; }</style></head><body><div style='font-family: times new roman,new york,times,serif; font-size: 12pt; color: #000000'><br><br><hr id="zwchr"><blockquote style="border-left:2px solid #1010FF;margin-left:5px;padding-left:5px;color:#000;font-weight:normal;font-style:normal;text-decoration:none;font-family:Helvetica,Arial,sans-serif;font-size:12pt;"><p>
<font face="arial, helvetica, sans-serif"><font id="DWT330" size="2">So, as i can understand, any value of NEUMANN_SET tag corresponds to some certain rule implemented in solver</font></font></p></blockquote>the value is set by the user, but used by the solver. What solver do you use? for moab, the value is just an integer, and should be unique for each set, but it is not mandatory. It is really just a way to group and differentiate boundary conditions; <br><blockquote style="border-left:2px solid #1010FF;margin-left:5px;padding-left:5px;color:#000;font-weight:normal;font-style:normal;text-decoration:none;font-family:Helvetica,Arial,sans-serif;font-size:12pt;"><p><font face="arial, helvetica, sans-serif"><font size="2"></font></font>
</p>
<p>
 
</p>
<p id="DWT331">
I've got one more question - having only nodes and hexagonals in .h5m mesh file, what is the best way to find and store the opposite face from the neighbouring cell for each hexagonal's face?
</p></blockquote>hexagons? I assume you mean hexahedra, because you are asking about "faces". A hexagon is 2d, it has only one face, in moab terms.<br>a hexahedron has 6 faces.<br><br>a hexahedron can have though 6 neighbors, with which shares a face (unless it is on the boundary).<br>Again, I don't understand the  question, what do you need? <br>from each hexahedron, you get the connected vertices with get_connectivity; you can get adjacent faces with get_adjacencies method.<br><br>Opposing face to what? <br>A common face between 2 hexagons can be found with get_adjacencies method too, something like this:<br>         <font face="courier new,courier,monaco,monospace,sans-serif">std::vector<EntityHandle> adjacencies, from_entities = {hex1, hex2};<br>    // generate common face between these 2 hexas, if it exists<br>    mb->get_adjacencies( from_entities, 2, 2, true, adjacencies, Interface::INTERSECT);</font><br><br><font face="courier new,courier,monaco,monospace,sans-serif">// adjacencies.size() should be 1 (or 0, if the hexes for not share a face)</font><br><br>Iulian<br><br><blockquote style="border-left:2px solid #1010FF;margin-left:5px;padding-left:5px;color:#000;font-weight:normal;font-style:normal;text-decoration:none;font-family:Helvetica,Arial,sans-serif;font-size:12pt;"><p></p>
<p>
 
</p>
<p>
Thanks 
</p>
<p>
<br>
On Wed, 11 Dec 2013 15:25:00 -0600 (CST), Iulian Grindeanu  wrote:
</p>
<blockquote style="padding-left: 5px; border-left-color: #1010ff; border-left-width: 2px; border-left-style: solid; margin-left: 5px; width: 100%">
        p { margin: 0; }
        <div style="font-family: 'times new roman', 'new york', times, serif; font-size: 12pt; color: #000000">
        programmatically? <br>
        a neumann set in moab is usually a set of boundary faces (quads in a hexahedral mesh, or triangles in a tetrahedral mesh)<br>
        what kind of solver do you have? <br>
        if you know the tag value, you can obtain the set that has that tag value, with something like<br>
        <font face="courier new,courier,monaco,monospace,sans-serif">          Range neumann_sets;<br>
                  Tag neu_tag;<br>
                  int value_neumann_tag= 100; // your value, set it accordingly<br>
        <br>
                  mb->tag_get_handle(NEUMANN_SET_TAG_NAME, neu_tag, 1, MB_TYPE_INTEGER);<br>
                  mb->get_entities_by_type_and_tag(0, MBENTITYSET, &neu_tag, &value_neumann_tag, 1, neumann_sets);</font><br>
        <br>
        neumann_sets[0] should be your  set. <br>
        <br>
         then you can get entities from it with<br>
              <font face="courier new,courier,monaco,monospace,sans-serif">   Range entities;<br>
             mb->get_entities_by_handle(neumann_sets[0],    entities);<br>
        </font><br>
        Entities should be your quads or triangles. it is up to the specific solver syntax to set pressure on them (or other BCs)<br>
        <br>
        Maybe I didn't understand your question<br>
        <br>
        Iulian<br>
        <hr>
        <blockquote style="border-left-width: 2px; border-left-style: solid; border-left-color: #1010ff; margin-left: 5px; padding-left: 5px; color: #000000; font-weight: normal; font-style: normal; text-decoration: none; font-family: Helvetica, Arial, sans-serif; font-size: 12pt">
                Hello MOAB-dev,  <br>
                <br>
                Can you please explain how can i set a certain Neumann boundary condition<br>
                for selected set of faces via NEUMANN_SET tag?  <br>
                <br>
                For example the normal derivative of pressure <br>
                <br>
                Thanks<br>
                Anton<br>
                <br>
        </blockquote>
        <br>
        </div>
</blockquote>
<p>
 
</p>
</blockquote><br></div></body></html>