Parent classes:
Create cycle pattern from vector by specifying number of cycles per level.
Examples for the initialization vector cycles_per_level:
Pattern Description <1> direct solve only <1,1> 2-grid V-cycle <1,1,1> 3-grid V-cycle <2,1,1> 3-grid VV-cycle <1,2,1> 3-grid W-cycle <2,2,1> 3-grid WW-cycle
Examples for concatenated cycle patterns (vec_cycles_per_level):
Vector Description <<1,1,1>,<1,2,1>> 3-grid VW-cycle <<1,2,1,1>,<1,1,1,1>> 4-grid wV-cycle (w: 3-grid W-cycle)
Methods:
- VectorCyclePattern()
Create empty cycle pattern. Use add_pattern(...) for initialization in derived class.
- VectorCyclePattern(const std::vector<dolfin::uint>& cycles_per_level)¶
Create cycle pattern from vector by specifying number of cycles per level.
- VectorCyclePattern(const std::vector<std::vector<dolfin::uint>>& vec_cycles_per_level)¶
Create concatenated cycle pattern from vector of vectors each specifying number of cycles per level.
- VectorCyclePattern(const std::string& pattern, dolfin::uint number_of_levels)¶
Create cycle pattern from string of concatenated numbers of cycles per level separated by any non-numeric characters, except for the following:
‘-‘ : finishes the current pattern and concatenates the pattern to the previous and starts a new pattern‘*’ : the current pattern is padded with 1-cycles such that the pattern has number_of_levels levels and do the same as in ‘-‘.‘V’ : substitute for ‘*’Example: pattern=”2,1” or “2*” or “1*1*” or “1 1-1*” or “1e1-1x1” or “VV” or “**” and number_of_levels=3 gives 3-grid VV-cycle.