MooseApp Base Class
- Every MOOSE application contains a
- Factories where application objects are built.
- Warehouses where application objects are stored.
MooseApp objects can be combined (coupled) together to form larger simulations, see the
MooseApp objects specialize the
- Parameters for MooseApps are read from the command line via:
- Your application's
MooseApp-derived class must implement several important static functions:
MooseApp is a convenient place to see the other applications and objects a given application depends on.
MooseApp object calls its own
registerObjects() function and those of applications to which it is coupled.
- This is where you register all of the objects created in your application.
- Typically done in the constructor.
- Strong coupling to other applications is implemented by calling the
registerObjects() functions of other applications (also done in the constructor).
- This makes the other application's objects available in your application.
- Newly-created applications (via
Stork) register all MOOSE and MOOSE module objects by default.
- Every MOOSE application has a
main() program, typically located in
- By default, a MOOSE application's
main() program only does a few very specific things:
- Builds your application object
- Runs your application object
- Deletes your application object
- See main.C in Example 1
- While it is possible to add additional code in
main(), it's not recommended.