idaholab / moose

Multiphysics Object Oriented Simulation Environment
https://www.mooseframework.org
GNU Lesser General Public License v2.1
1.78k stars 1.05k forks source link

MultiAppContainingNodeTransfer #17835

Open WilkAndy opened 3 years ago

WilkAndy commented 3 years ago

Reason

@lynnmunday , @cbolisetti , @rpodgorney , KT and I are working on simulating flow through fractured porous media using a MultiApp approach. In this work, the "fracture" is a 2D mesh living within the "matrix", which is a 3D mesh. The fracture nodes/elements don't usually conform with the matrix nodes/elements. We want to transfer information (heat flows) from the fracture to the matrix.

Design

For each node in the source domain, transfer information to the element in the target domain that contains the source node. The source variable must be a nodal (not elemental) variable. The target variable can be a nodal variable or an elemental variable.

This transfer contains the following flags:

Edge cases:

Note the crucial aspect of this Transfer: no information gets transferred to target elements that contain zero source nodes.

Impact

Ability to transfer information from source meshes that are contained within target meshes, where the information gets transferred only to the target elements that contain source nodes.

lynnmunday commented 3 years ago

I'm going to try the diracKernel and VectorPostprocessor in #17854. If it will work we probably won't need to do this.