|
Peano
|
Introduce additive CC Coupling. More...


Public Member Functions | |
| __init__ (self, dg_solver, cg_solver, prolongation_matrix, prolongation_matrix_scaling, restriction_matrix, restriction_matrix_scaling, injection_matrix, injection_matrix_scaling, use_fas, smoothing_steps_per_cycle=1) | |
| get_attributes (self) | |
| Add a new static attribute to the class. | |
| get_static_initialisations (self, full_qualified_classname) | |
| Initialise the new counter. | |
| get_body_of_prepareTraversal (self) | |
| Public Member Functions inherited from solvers.api.actionsets.DGCGCoupling.AbstractDGCGCoupling | |
| __init__ (self, dg_solver, cg_solver, prolongation_matrix, prolongation_matrix_scaling, restriction_matrix, restriction_matrix_scaling, injection_matrix, injection_matrix_scaling, use_fas) | |
| Construct action set. | |
| get_body_of_operation (self, operation_name) | |
| Return actual C++ code snippets to be inserted into C++ code. | |
| get_action_set_name (self) | |
| Configure name of generated C++ action set. | |
| user_should_modify_template (self) | |
| The action set that Peano will generate that corresponds to this class should not be modified by users and can safely be overwritten every time we run the Python toolkit. | |
| get_includes (self) | |
| We need the solver repository in this action set, as we directly access the solver object. | |
| Public Member Functions inherited from peano4.solversteps.ActionSet.ActionSet | |
| __init__ (self, descend_invocation_order=0, parallel=False) | |
| get_constructor_body (self) | |
| Define a tailored constructor body. | |
| get_destructor_body (self) | |
| get_body_of_getGridControlEvents (self) | |
| get_body_of_unprepareTraversal (self) | |
Introduce additive CC Coupling.
The control logic here is simplistic and prescripted. We follow the following steps for the additive solver with one iteration:
Nothing stops us from repeating the step (2) multiple times, which gives us the opportunity to play around with various multigrid schemes. If we are in the last sweep of (2), the projection onto the faces of the DG solver is not necessary. We'll overwrite this solution a minute later anyway.
This action set will map onto a class of its own. We give the class a class attribute which we increment by one in each step. We then make the actual logic depend upon this counter, as we inject the predicates into the superclass: That is, the superclass has some boolean expressions which allow us to switch its features on and off. We make those guys depends upon the new counter.
Definition at line 529 of file DGCGCoupling.py.
| solvers.api.actionsets.DGCGCoupling.AdditiveDGCGCoupling.__init__ | ( | self, | |
| dg_solver, | |||
| cg_solver, | |||
| prolongation_matrix, | |||
| prolongation_matrix_scaling, | |||
| restriction_matrix, | |||
| restriction_matrix_scaling, | |||
| injection_matrix, | |||
| injection_matrix_scaling, | |||
| use_fas, | |||
| smoothing_steps_per_cycle = 1 ) |
Definition at line 565 of file DGCGCoupling.py.
References __init__(), ProjectResidualsAndDiagonalOntoFacets.ProjectResidualsAndDiagonalOntoFacets.d, solvers.api.actionsets.CollocatedMGSingleThreaded.UpdateSolution.UpdateSolution.d, solvers.api.actionsets.CollocatedMGSolver.InitDofs.InitDofsCollocatedMG.d, solvers.api.actionsets.CollocatedMGSolver.Prolongation.Prolongation.d, solvers.api.actionsets.CollocatedMGSolver.ResetAndUpdateResidual.ResetAndUpdateResidual.d, solvers.api.actionsets.CollocatedMGSolver.Restriction.Restriction.d, solvers.api.actionsets.CollocatedMGSolver.UpdateSolution.UpdateSolution.d, solvers.api.actionsets.CollocatedSolver.InitDofs.InitDofsCollocated.d, solvers.api.actionsets.CollocatedSolver.ResetAndUpdateResidual.ResetAndUpdateResidual.d, solvers.api.actionsets.CollocatedSolver.UpdateSolution.UpdateSolution.d, solvers.api.actionsets.DGCGCoupling.AbstractDGCGCoupling.d, UpdateCell.UpdateCell.d, and UpdateFacets.UpdateFacets.d.
Referenced by __init__().


| solvers.api.actionsets.DGCGCoupling.AdditiveDGCGCoupling.get_attributes | ( | self | ) |
Add a new static attribute to the class.
Reimplemented from peano4.solversteps.ActionSet.ActionSet.
Definition at line 596 of file DGCGCoupling.py.
| solvers.api.actionsets.DGCGCoupling.AdditiveDGCGCoupling.get_body_of_prepareTraversal | ( | self | ) |
Reimplemented from peano4.solversteps.ActionSet.ActionSet.
Definition at line 616 of file DGCGCoupling.py.
| solvers.api.actionsets.DGCGCoupling.AdditiveDGCGCoupling.get_static_initialisations | ( | self, | |
| full_qualified_classname ) |
Initialise the new counter.
Reimplemented from peano4.solversteps.ActionSet.ActionSet.
Definition at line 607 of file DGCGCoupling.py.