SimiLie
Loading...
Searching...
No Matches
similie::solvers Namespace Reference

Classes

struct  StrongFormulationSolverDiagnostics
 
struct  StrongFormulationSolverSettings
 

Enumerations

enum class  Criterion {
  PotentialTemporalDerivative ,
  MomentsTemporalDerivative ,
  PotentialAndMomentsTemporalDerivative
}
 
enum class  PreconditionerType {
  Identity ,
  Jacobi ,
  SpdIsai ,
  SymmetricGaussSeidel ,
  Ssor ,
  ChebyshevJacobi ,
  IrJacobi ,
  GeneralIsai
}
 

Functions

constexpr std::string_view preconditioner_name (PreconditionerType preconditioner)
 
PreconditionerType parse_preconditioner (std::string_view name)
 
template<class ExecSpace , class OperatorModel , class RHSViewType , class SolutionViewType >
StrongFormulationSolverDiagnostics minimize_strong_formulation_residual (ExecSpace exec_space, OperatorModel const &operator_model, RHSViewType rhs, SolutionViewType solution, StrongFormulationSolverSettings settings={})
 

Class Documentation

◆ similie::solvers::StrongFormulationSolverDiagnostics

struct similie::solvers::StrongFormulationSolverDiagnostics

Definition at line 136 of file minimize_strong_formulation_residual.hpp.

Collaboration diagram for similie::solvers::StrongFormulationSolverDiagnostics:
Collaboration graph
Class Members
unsigned int iterations = 0U
double initial_residual_l2 = 0.0
double final_residual_l2 = 0.0
double final_relative_residual = 0.0
double duration = 0.0
bool converged = true

◆ similie::solvers::StrongFormulationSolverSettings

struct similie::solvers::StrongFormulationSolverSettings

Definition at line 119 of file minimize_strong_formulation_residual.hpp.

Collaboration diagram for similie::solvers::StrongFormulationSolverSettings:
Collaboration graph
Class Members
unsigned int max_iterations = 2000U
double relative_tolerance = 1.0e-12
unsigned int jacobi_max_block_size = 1U
bool use_matrix_free = true
Criterion criterion = Criterion::MomentsTemporalDerivative
PreconditionerType preconditioner = PreconditionerType::Jacobi
double vector_potential_gauge_penalty = 20.0
double sor_relaxation_factor = 1.2
unsigned int chebyshev_iterations = 8U
double chebyshev_lower_bound = 0.05
double chebyshev_upper_bound = 1.5
unsigned int ir_iterations = 8U
double ir_relaxation_factor = 1.0

Enumeration Type Documentation

◆ Criterion

enum class similie::solvers::Criterion
strong
Enumerator
PotentialTemporalDerivative 
MomentsTemporalDerivative 
PotentialAndMomentsTemporalDerivative 

Definition at line 48 of file minimize_strong_formulation_residual.hpp.

◆ PreconditionerType

Enumerator
Identity 
Jacobi 
SpdIsai 
SymmetricGaussSeidel 
Ssor 
ChebyshevJacobi 
IrJacobi 
GeneralIsai 

Definition at line 54 of file minimize_strong_formulation_residual.hpp.

Function Documentation

◆ preconditioner_name()

std::string_view similie::solvers::preconditioner_name ( PreconditionerType preconditioner)
inlineconstexpr

Definition at line 65 of file minimize_strong_formulation_residual.hpp.

◆ parse_preconditioner()

PreconditionerType similie::solvers::parse_preconditioner ( std::string_view name)
inline

Definition at line 88 of file minimize_strong_formulation_residual.hpp.

◆ minimize_strong_formulation_residual()

template<class ExecSpace , class OperatorModel , class RHSViewType , class SolutionViewType >
StrongFormulationSolverDiagnostics similie::solvers::minimize_strong_formulation_residual ( ExecSpace exec_space,
OperatorModel const & operator_model,
RHSViewType rhs,
SolutionViewType solution,
StrongFormulationSolverSettings settings = {} )

Definition at line 1309 of file minimize_strong_formulation_residual.hpp.