escript Revision_
paso::FCT_Solver Struct Reference

#include <FCT_Solver.h>

Public Member Functions

 FCT_Solver (const_TransportProblem_ptr tp, Options *options)
 
 ~FCT_Solver ()
 
SolverResult update (double *u, double *u_old, Options *options, Performance *pp)
 
SolverResult updateNL (double *u, double *u_old, Options *options, Performance *pp)
 
SolverResult updateLCN (double *u, double *u_old, Options *options, Performance *pp)
 linear crank-nicolson update
 
void initialize (double dt, Options *options, Performance *pp)
 
void setAntiDiffusionFlux_linearCN (SystemMatrix_ptr< double > flux_matrix)
 
void setAntiDiffusionFlux_BE (SystemMatrix_ptr< double > flux_matrix)
 
void setAntiDiffusionFlux_CN (SystemMatrix_ptr< double > flux_matrix)
 
void setMuPaLu (double *out, const_Coupler_ptr< real_t > coupler, double a)
 
double getTheta ()
 

Static Public Member Functions

static double getSafeTimeStepSize (const_TransportProblem_ptr tp)
 
static void setLowOrderOperator (TransportProblem_ptr tp)
 

Public Attributes

const_TransportProblem_ptr transportproblem
 
escript::JMPI mpi_info
 
FCT_FluxLimiterflux_limiter
 
index_t method
 
double omega
 
double dt
 
double * b
 
double * z
 
double * du
 
Coupler_ptr< real_tu_coupler
 
Coupler_ptr< real_tu_old_coupler
 

Constructor & Destructor Documentation

◆ FCT_Solver()

◆ ~FCT_Solver()

paso::FCT_Solver::~FCT_Solver ( )

References b, du, flux_limiter, and z.

Member Function Documentation

◆ getSafeTimeStepSize()

double paso::FCT_Solver::getSafeTimeStepSize ( const_TransportProblem_ptr tp)
static

◆ getTheta()

double paso::FCT_Solver::getTheta ( )
inline

References PASO_BACKWARD_EULER.

Referenced by initialize().

◆ initialize()

◆ setAntiDiffusionFlux_BE()

void paso::FCT_Solver::setAntiDiffusionFlux_BE ( SystemMatrix_ptr< double > flux_matrix)

References dt, transportproblem, u_coupler, and u_old_coupler.

Referenced by updateNL().

◆ setAntiDiffusionFlux_CN()

void paso::FCT_Solver::setAntiDiffusionFlux_CN ( SystemMatrix_ptr< double > flux_matrix)

References dt, transportproblem, u_coupler, and u_old_coupler.

Referenced by updateNL().

◆ setAntiDiffusionFlux_linearCN()

void paso::FCT_Solver::setAntiDiffusionFlux_linearCN ( SystemMatrix_ptr< double > flux_matrix)

◆ setLowOrderOperator()

void paso::FCT_Solver::setLowOrderOperator ( TransportProblem_ptr tp)
static

References MIN3.

Referenced by getSafeTimeStepSize().

◆ setMuPaLu()

void paso::FCT_Solver::setMuPaLu ( double * out,
const_Coupler_ptr< real_t > coupler,
double a )

References paso::M, and transportproblem.

Referenced by updateLCN(), and updateNL().

◆ update()

SolverResult paso::FCT_Solver::update ( double * u,
double * u_old,
Options * options,
Performance * pp )

◆ updateLCN()

◆ updateNL()

Member Data Documentation

◆ b

double* paso::FCT_Solver::b

◆ dt

◆ du

double* paso::FCT_Solver::du

Referenced by FCT_Solver(), updateNL(), and ~FCT_Solver().

◆ flux_limiter

FCT_FluxLimiter* paso::FCT_Solver::flux_limiter

◆ method

index_t paso::FCT_Solver::method

◆ mpi_info

escript::JMPI paso::FCT_Solver::mpi_info

Referenced by FCT_Solver().

◆ omega

double paso::FCT_Solver::omega

Referenced by initialize(), updateLCN(), and updateNL().

◆ transportproblem

◆ u_coupler

◆ u_old_coupler

◆ z

double* paso::FCT_Solver::z

Referenced by FCT_Solver(), updateNL(), and ~FCT_Solver().


The documentation for this struct was generated from the following files: