Assigning block ID to sideset

261 views
Skip to first unread message

Shohei Ogawa

unread,
Jun 14, 2017, 7:32:49 PM6/14/17
to moose-users
Hi all,

 I have a question on applying a Kernel to a surface domain in 3D. I have a mesh with 5 materials and 4 interfaces between two materials. I would like to apply a kernel, for which I have a residual expression already. The residual doesn't include any spatial derivative, but I would like to find a scaler solution which makes the residual close to 0. Then the solution can be used to evaluate other residual values in adjacent volumes. In other words, I would like to couple several variables which are defined either on a surface or in a volume.

As far as I worked with MeshModifiers, I was able to define sidesets of faces between subdomains. But I am not sure how to apply my kernels to one of the surface sidesets. In some previous threads, I can do that once I define a block which consists of surface elements. Could anyone give a suggestion to generate block from sidesets if possible?



Thank you,
Shohei Ogawa

Daniel Schwen

unread,
Jun 14, 2017, 9:42:39 PM6/14/17
to moose-users

Look into InterfaceKernels


--
You received this message because you are subscribed to the Google Groups "moose-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to moose-users...@googlegroups.com.
Visit this group at https://groups.google.com/group/moose-users.
To view this discussion on the web visit https://groups.google.com/d/msgid/moose-users/cfe02791-7259-4a83-945b-9b6c9ca77048%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Shohei Ogawa

unread,
Jun 14, 2017, 10:14:17 PM6/14/17
to moose-users
The InterfaceKernels might be different from what I want to look into. This is because I would like to solve three different equations using three kernels when I have two blocks and one interface domain between the two blocks. In my understanding, the InterfaceKernels enables us to relate the solution between two blocks adjacent to each other. 

What I to do is, for example, solving diffusion problem on block 1, solving for electric potential on block 2, and solving an equation on surface 12 to determine a reaction rate. The surface 12 is the interface between the block 1 and 2. The solution for the diffusion problem and the conduction problem are not directly related.

I am wondering if I can apply one of the Kernel to the interface elements (set of triangles), it would be working. 

Thank you,
Shohei

Wang, Yaqi

unread,
Jun 20, 2017, 7:07:24 PM6/20/17
to moose-users
Is it possible for you to replace the equation and variable on surface 12 with an interface condition, which can be implemented with InterfaceKernel? There is something called Constraint for mortar FEM, but it is really preliminary and you do not want use it at this moment.

To unsubscribe from this group and stop receiving emails from it, send an email to moose-users+unsubscribe@googlegroups.com.

Derek Gaston

unread,
Jun 22, 2017, 10:59:58 AM6/22/17
to moose-users
To use Kernels on lower dimensional surfaces you need to have those lower dimensional elements in the mesh and have a separate "element block" (subdomain) for those elements (those elements _can_ share the nodes of the higher dimensional elements).  This is not something we currently have a MeshModifier for (although it's technically possible).  You can dial this up in Cubit and Exodus supports having a mix of higher / lower dimensional elements in the same mesh.

Like I say: we don't have a MeshModifier for it... but it is technically possible... and would definitely be a good addition to the framework if you were to make one :-)

Derek

--
You received this message because you are subscribed to the Google Groups "moose-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to moose-users...@googlegroups.com.
Visit this group at https://groups.google.com/group/moose-users.

Shohei Ogawa

unread,
Jun 22, 2017, 12:58:37 PM6/22/17
to moose...@googlegroups.com
For now, I think it seems to be easy (or straight forward) to make my kernel to InterfaceKernel. This may be the way I would like to proceed for next few weeks.

With what Derek mentioned, it is really exciting if we could apply kernels on elements in different dimensions. I tried a mesh generated with Gmsh, which includes the information of elements in lower dimensions. But I found the importer for GMSH mesh is compatible only to one dimension (either 1D, 2D or 3D). It looks that when we have elements in different dimensions, it raises an error. I don't have an access to Cubit, so I will work on Exodus mesh so that, for example, I can define element block from side sets of faces. Does Exodus mesh reader on Moose support multi-dimensional elements to be imported?

Shohei Ogawa

To unsubscribe from this group and stop receiving emails from it, send an email to moose-users+unsubscribe@googlegroups.com.

--
You received this message because you are subscribed to the Google Groups "moose-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to moose-users+unsubscribe@googlegroups.com.

--
You received this message because you are subscribed to the Google Groups "moose-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to moose-users+unsubscribe@googlegroups.com.

Cody Permann

unread,
Jun 22, 2017, 1:01:37 PM6/22/17
to moose...@googlegroups.com
On Thu, Jun 22, 2017 at 10:58 AM Shohei Ogawa <ogawa...@gmail.com> wrote:
For now, I think it seems to be easy (or straight forward) to make my kernel to InterfaceKernel. This may be the way I would like to proceed for next few weeks.

With what Derek mentioned, it is really exciting if we could apply kernels on elements in different dimensions. I tried a mesh generated with Gmsh, which includes the information of elements in lower dimensions. But I found the importer for GMSH mesh is compatible only to one dimension (either 1D, 2D or 3D). It looks that when we have elements in different dimensions, it raises an error. I don't have an access to Cubit, so I will work on Exodus mesh so that, for example, I can define element block from side sets of faces. Does Exodus mesh reader on Moose support multi-dimensional elements to be imported?

As Derek said, it does, as long as each different element type is in a separate subdomain (block).
 

Shohei Ogawa

--
You received this message because you are subscribed to the Google Groups "moose-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to moose-users...@googlegroups.com.
Visit this group at https://groups.google.com/group/moose-users.

--
You received this message because you are subscribed to the Google Groups "moose-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to moose-users...@googlegroups.com.
Visit this group at https://groups.google.com/group/moose-users.

--
You received this message because you are subscribed to the Google Groups "moose-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to moose-users...@googlegroups.com.
Visit this group at https://groups.google.com/group/moose-users.

Derek Gaston

unread,
Jun 22, 2017, 1:58:04 PM6/22/17
to moose...@googlegroups.com
The best thing to do is to make that MeshModifier that takes a sideset and create lower dimensional elements and subdomains out of it.  I've been thinking of making one for years... but haven't gotten around to it.

Derek

Daniel Schwen

unread,
Jun 22, 2017, 5:31:43 PM6/22/17
to moose...@googlegroups.com
The mesh class MortarPeriodicMesh contains the machinery for this. I can add that MeshModifier!

Derek Gaston

unread,
Jun 22, 2017, 5:39:41 PM6/22/17
to moose...@googlegroups.com

Shohei Ogawa

unread,
Jun 22, 2017, 6:02:49 PM6/22/17
to moose-users
That is great!

Shohei
Reply all
Reply to author
Forward
0 new messages