* subdivision of the rows, set the damping parameter to one, and do not
* modify the diagonal.
*/
- AdditionalData (const unsigned int block_size = 1,
- const std::string block_creation_type = "linear",
- const double omega = 1,
- const double min_diagonal = 0,
- const unsigned int n_sweeps = 1);
+ AdditionalData (const unsigned int block_size = 1,
+ const std::string &block_creation_type = "linear",
+ const double omega = 1,
+ const double min_diagonal = 0,
+ const unsigned int n_sweeps = 1);
/**
* This specifies the size of blocks.
* run a BlockJacobi preconditioner, where each block is inverted
* approximately by a block SOR).
*/
- AdditionalData (const unsigned int block_size = 1,
- const std::string block_creation_type = "linear",
- const double omega = 1,
- const double min_diagonal = 0,
- const unsigned int overlap = 0,
- const unsigned int n_sweeps = 1);
+ AdditionalData (const unsigned int block_size = 1,
+ const std::string &block_creation_type = "linear",
+ const double omega = 1,
+ const double min_diagonal = 0,
+ const unsigned int overlap = 0,
+ const unsigned int n_sweeps = 1);
/**
* This specifies the size of blocks.
* run a BlockJacobi preconditioner, where each block is inverted
* approximately by a block SOR).
*/
- AdditionalData (const unsigned int block_size = 1,
- const std::string block_creation_type = "linear",
- const double omega = 1,
- const double min_diagonal = 0,
- const unsigned int overlap = 0,
- const unsigned int n_sweeps = 1);
+ AdditionalData (const unsigned int block_size = 1,
+ const std::string &block_creation_type = "linear",
+ const double omega = 1,
+ const double min_diagonal = 0,
+ const unsigned int overlap = 0,
+ const unsigned int n_sweeps = 1);
/**
* This specifies the size of blocks.
/* ----------------------- PreconditionBlockJacobi ---------------------- */
PreconditionBlockJacobi::AdditionalData::
- AdditionalData (const unsigned int block_size,
- const std::string block_creation_type,
- const double omega,
- const double min_diagonal,
- const unsigned int n_sweeps)
+ AdditionalData (const unsigned int block_size,
+ const std::string &block_creation_type,
+ const double omega,
+ const double min_diagonal,
+ const unsigned int n_sweeps)
:
block_size(block_size),
block_creation_type(block_creation_type),
/* ----------------------- PreconditionBlockSSOR ------------------------ */
PreconditionBlockSSOR::AdditionalData::
- AdditionalData (const unsigned int block_size,
- const std::string block_creation_type,
- const double omega,
- const double min_diagonal,
- const unsigned int overlap,
- const unsigned int n_sweeps)
+ AdditionalData (const unsigned int block_size,
+ const std::string &block_creation_type,
+ const double omega,
+ const double min_diagonal,
+ const unsigned int overlap,
+ const unsigned int n_sweeps)
:
block_size(block_size),
block_creation_type(block_creation_type),
/* ------------------------ PreconditionBlockSOR ------------------------ */
PreconditionBlockSOR::AdditionalData::
- AdditionalData (const unsigned int block_size,
- const std::string block_creation_type,
- const double omega,
- const double min_diagonal,
- const unsigned int overlap,
- const unsigned int n_sweeps)
+ AdditionalData (const unsigned int block_size,
+ const std::string &block_creation_type,
+ const double omega,
+ const double min_diagonal,
+ const unsigned int overlap,
+ const unsigned int n_sweeps)
:
block_size(block_size),
block_creation_type(block_creation_type),