Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MulitKernel, MultiDGKernel, MultiBoundaryCondition #3719

Closed
lw4992 opened this issue Aug 13, 2014 · 3 comments
Closed

MulitKernel, MultiDGKernel, MultiBoundaryCondition #3719

lw4992 opened this issue Aug 13, 2014 · 3 comments

Comments

@lw4992
Copy link

lw4992 commented Aug 13, 2014

In Moose, for a equation system, every equation need one Kernel. In every Kernel, coupleVariables were required to communicate nonlinear variables. Moreover, a lot of kernel blocks need be defined for these kernels in parameter file. Again, we have to do same things for DGKernel and BoundaryCondition. It is very fussy for large system. Is it possible to support MultiKernel, ,MultiDGKernel, MultiBoundaryCondition? If so, only one MultiKernel for a equation system, it is very helpful to avoid writing repetitive codes.

@YaqiWang
Copy link
Contributor

You might want to take a look on moose Actions. Basically you can automate
the addition of almost any moose objects like kernels, bcs, dgkernels,
auxkernels with an action. The action can have its own control parameters
such as number of equations and so on. You then register your own input
syntax to drive the action. Not sure if there is a good example in moose
test for this.

Or you can try to use GlobalParams in your input. The parameters in the
GlobalParams block will be inserted into the parameter list of all objects
like kernels, bcs, etc. for any ungiven valid parameters.

Yaqi

On Wed, Aug 13, 2014 at 11:05 AM, lw4992 notifications@github.com wrote:

In Moose, for a equation system, every equation need one Kernel. In every
Kernel, coupleVariables were required to communicate nonlinear variables.
Moreover, a lot of kernel blocks need be defined for these kernels in
parameter file. Again, we have to do same things for DGKernel and
BoundaryCondition. It is very fussy for large system. Is it possible to
support MultiKernel, ,MultiDGKernel, MultiBoundaryCondition? If so, only
one MultiKernel for a equation system, it is very helpful to avoid writing
repetitive codes.


Reply to this email directly or view it on GitHub
#3719.

@permcody
Copy link
Member

@lw4992 - Actions are indeed the way to go, we have several of them in the framework, tests, modules, and even in the Examples. If you need any assistance with this, let us know.

@friedmud
Copy link
Contributor

Also - no one is holding a gun to your head making you use a different kernel for every term! If many of your terms will ALWAYS be used together simply put them in one Kernel...

Note that you lose a bit of flexibility in doing this... and it really is not the MOOSE way... but, it's your code, do what you want!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants