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

Maybe isolate transport part from the TransportBase<dim> out? #10

Closed
wzheng21 opened this issue Jul 12, 2017 · 3 comments
Closed

Maybe isolate transport part from the TransportBase<dim> out? #10

wzheng21 opened this issue Jul 12, 2017 · 3 comments
Labels
major Involves multiple classes across multiple top level namespaces. question

Comments

@wzheng21
Copy link
Collaborator

The initial structure gives hopes for future functionality adding in. But the assemble part of the transport kernel is buried in a bunch of irrelevant stuffs, e.g. deal.II objects, outputs etc.

A better idea is to name current TransportBase as sth like "Carrier". The intuition is current TransportBase actually serves as an aircraft carrier carrying a lot of different "aircrafts", instead of the supposedly base class of transport methods). After the renaming, a new TransportBase will be established as a pure base class of transport methods.

Purpose: gradually cut the sloppiness; more crystal clear for better modularization; better understandability of the carrier functionality (as it only serves as non-transport stuffs).

Expecting changes are:

  1. ModelManager will be instantiated on deck of the Carrier class and build function will be run to cast the pure TransportBase to derived transport methods, such as EvenParity. Currently, this step is in the main function.
  2. We will have to change the scope of some FE objects, such as quadrature. It is currently declared in the TransportBase (the future Carrier). I expect those objects to be declared in the pure TransportBase
  3. Change the main function to instantiate Carrier instead of calling ModelManger as we will no longer explicit build a transport model outside Carrier anymore. We rather instantiate Carrier and run it.

Other impacts in near-term to long term:
TransportBase and future NDABase will have different FE objects (quadratures etc) inside corresponding classes. This makes sense because correction in NDA needs more accurate quadrature to integrate.

To this point, this gives me the impression that it sounds like a doable but non-trivial structural surgery.

What do you think? @rachelslaybaugh

@wzheng21 wzheng21 changed the title Maybe isolate transport part of the TransportBase<dim> out? Maybe isolate transport part from the TransportBase<dim> out? Jul 12, 2017
@wzheng21 wzheng21 added the major Involves multiple classes across multiple top level namespaces. label Jul 13, 2017
@wzheng21
Copy link
Collaborator Author

Note after planning meeting: use BARTDriver as the name of the manager.

@wzheng21
Copy link
Collaborator Author

This issue will be resolved after #20 but before #5

wzheng21 pushed a commit to wzheng21/BART that referenced this issue Jul 24, 2017
1. Added bart_builder.h and .cc. bart_build contains functions we
can use to project base classes to specific models.
2. Explicitly use PETScWrappers namespace instead of redefining one
as LA
3. Changed main.cc so we can build the whole thing through BartDriver
wzheng21 pushed a commit to wzheng21/BART that referenced this issue Jul 24, 2017
main.cc is adapted to using BartDriver<dim>
wzheng21 pushed a commit to wzheng21/BART that referenced this issue Jul 25, 2017
wzheng21 pushed a commit to wzheng21/BART that referenced this issue Jul 26, 2017
wzheng21 pushed a commit to wzheng21/BART that referenced this issue Jul 26, 2017
wzheng21 pushed a commit to wzheng21/BART that referenced this issue Jul 26, 2017
wzheng21 pushed a commit to wzheng21/BART that referenced this issue Jul 26, 2017
wzheng21 pushed a commit to wzheng21/BART that referenced this issue Jul 26, 2017
wzheng21 pushed a commit to wzheng21/BART that referenced this issue Jul 26, 2017
wzheng21 pushed a commit to wzheng21/BART that referenced this issue Jul 26, 2017
wzheng21 pushed a commit to wzheng21/BART that referenced this issue Jul 26, 2017
wzheng21 pushed a commit to wzheng21/BART that referenced this issue Jul 27, 2017
wzheng21 pushed a commit to wzheng21/BART that referenced this issue Jul 27, 2017
wzheng21 pushed a commit to wzheng21/BART that referenced this issue Jul 27, 2017
wzheng21 pushed a commit to wzheng21/BART that referenced this issue Jul 27, 2017
wzheng21 pushed a commit to wzheng21/BART that referenced this issue Jul 27, 2017
wzheng21 pushed a commit to wzheng21/BART that referenced this issue Jul 28, 2017
wzheng21 pushed a commit to wzheng21/BART that referenced this issue Aug 3, 2017
wzheng21 pushed a commit to wzheng21/BART that referenced this issue Aug 3, 2017
wzheng21 pushed a commit to wzheng21/BART that referenced this issue Aug 5, 2017
wzheng21 pushed a commit to wzheng21/BART that referenced this issue Aug 10, 2017
wzheng21 pushed a commit to wzheng21/BART that referenced this issue Aug 10, 2017
wzheng21 pushed a commit to wzheng21/BART that referenced this issue Aug 10, 2017
wzheng21 pushed a commit to wzheng21/BART that referenced this issue Aug 10, 2017
wzheng21 pushed a commit to wzheng21/BART that referenced this issue Aug 10, 2017
wzheng21 pushed a commit to wzheng21/BART that referenced this issue Aug 10, 2017
This class does not serve as base class for transport iterations,
so it is renamed to Iterations which is used to perform different
iterations defined by upcoming classes.
wzheng21 pushed a commit to wzheng21/BART that referenced this issue Aug 10, 2017
Moved doxygen commands to header files#17
Changed other things for SlaybaughLab#10
wzheng21 pushed a commit to wzheng21/BART that referenced this issue Aug 10, 2017
wzheng21 pushed a commit to wzheng21/BART that referenced this issue Aug 16, 2017
wzheng21 pushed a commit to wzheng21/BART that referenced this issue Aug 21, 2017
wzheng21 pushed a commit to wzheng21/BART that referenced this issue Aug 24, 2017
wzheng21 pushed a commit that referenced this issue Aug 24, 2017
wzheng21 pushed a commit to wzheng21/BART that referenced this issue Aug 29, 2017
wzheng21 pushed a commit to wzheng21/BART that referenced this issue Sep 6, 2017
wzheng21 pushed a commit to wzheng21/BART that referenced this issue Sep 6, 2017
wzheng21 pushed a commit to wzheng21/BART that referenced this issue Sep 6, 2017
…Lab#10

This is a major design change. It means we will initialize
cell iterators on current process when we instantiate an equation.
wzheng21 pushed a commit to wzheng21/BART that referenced this issue Sep 9, 2017
wzheng21 pushed a commit to wzheng21/BART that referenced this issue Sep 13, 2017
wzheng21 pushed a commit to wzheng21/BART that referenced this issue Sep 13, 2017
wzheng21 pushed a commit to wzheng21/BART that referenced this issue Sep 13, 2017
wzheng21 pushed a commit to wzheng21/BART that referenced this issue Oct 26, 2017
In infinite medium one-group eigen problem, it gives correct flat
results;

Fixed the issue of non-stopping execution that code goes to 3d after
2d calculations.

Made effort to reduce warning in building process
wzheng21 pushed a commit to wzheng21/BART that referenced this issue Oct 27, 2017
In infinite medium one-group eigen problem, it gives correct flat
results;

Fixed the issue of non-stopping execution that code goes to 3d after
2d calculations.

Made effort to reduce warning in building process
@wzheng21
Copy link
Collaborator Author

Up to this point, structure change is complete.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
major Involves multiple classes across multiple top level namespaces. question
Projects
None yet
Development

No branches or pull requests

1 participant