boundary conditions

Hello all,

I need some help on this. I have written a bit of code that has to go into a program that simulates the interior of a solid rocket motor. It basically follows the regressing surface of the combustible. The way I coded this is taht I have a solid that describes the interior of the empty motor and several solids that describe the blocks of propellent. At every time step I shrink the blocks and cut them from the motor solid. The resulting solids is fed to a mesher and the mesh than goes to a solver. This all works fine except for the fact that I can't find a way to tag the different faces of the resulting solid to apply boundary conditions (Wall everywhere except for the faces resulting from the cutting out the propellent, these face have another tag). All ideas are more than welcome.
I tried to find the faces connected to the list of edges that result from BRepAlgoAPI_Cut.SectionEdges() but I can't find how to do this.

Thanks in advance,

Jouke

Bearloga's picture

Use the method Modified() to get the faces in the result that correspond to a face in the operand.

hylkema's picture

hi Bearloga,

Thanks for your quick response. I tried Modified (const TopoDS_Shape &aS) withe aS being the remaining solid but it returns a TopTools_ListOfShape that contains a Solid, leaving me stuck a bit.

Jouke

Bearloga's picture

You incorrectly understand the usage of Modified(). You give there a face (!) by face from your input shape (example your solid of interior of engine), and it will return the list of faces corresponding to the input face in the result solid. Such way you can sort the faces in the result on two groups corresponding to operands of the boolean operation.