Chi-Tech
cfem_diffusion::Solver Class Reference

#include <cfem_diffusion_solver.h>

Inheritance diagram for cfem_diffusion::Solver:
chi_physics::Solver ChiObject

Public Types

typedef std::pair< BoundaryType, std::vector< double > > BoundaryInfo
 
typedef std::map< std::string, BoundaryInfoBoundaryPreferences
 

Public Member Functions

 Solver (const std::string &in_solver_name)
 
 ~Solver () override
 
void Initialize () override
 
void Execute () override
 
void UpdateFieldFunctions ()
 
- Public Member Functions inherited from chi_physics::Solver
 Solver (std::string in_text_name)
 
 Solver (std::string in_text_name, std::initializer_list< BasicOption > in_options)
 
 Solver (const chi::InputParameters &params)
 
virtual ~Solver ()=default
 
std::string TextName () const
 
BasicOptionsGetBasicOptions ()
 
const BasicOptionsGetBasicOptions () const
 
std::vector< std::shared_ptr< FieldFunctionGridBased > > & GetFieldFunctions ()
 
const std::vector< std::shared_ptr< FieldFunctionGridBased > > & GetFieldFunctions () const
 
TimeStepperGetTimeStepper ()
 
const TimeStepperGetTimeStepper () const
 
virtual void Initialize ()
 
virtual void Execute ()
 
virtual void Step ()
 
virtual void Advance ()
 
virtual chi::ParameterBlock GetInfo (const chi::ParameterBlock &params) const
 
virtual void SetProperties (const chi::ParameterBlock &params)
 
chi::ParameterBlock GetInfoWithPreCheck (const chi::ParameterBlock &params) const
 
- Public Member Functions inherited from ChiObject
 ChiObject ()
 
 ChiObject (const chi::InputParameters &params)
 
void SetStackID (size_t stack_id)
 
size_t StackID () const
 
virtual void PushOntoStack (std::shared_ptr< ChiObject > &new_object)
 
virtual ~ChiObject ()=default
 

Static Public Member Functions

static double CallLua_iXYZFunction (lua_State *L, const std::string &, int, const chi_mesh::Vector3 &)
 
- Static Public Member Functions inherited from chi_physics::Solver
static chi::InputParameters GetInputParameters ()
 
- Static Public Member Functions inherited from ChiObject
static chi::InputParameters GetInputParameters ()
 

Data Fields

chi_mesh::MeshContinuumPtr grid_ptr_ = nullptr
 
chi_math::SDMPtr sdm_ptr_ = nullptr
 
size_t num_local_dofs_ = 0
 
size_t num_globl_dofs_ = 0
 
Vec x_ = nullptr
 
Vec b_ = nullptr
 
Mat A_ = nullptr
 
BoundaryPreferences boundary_preferences_
 
std::map< uint64_t, Boundaryboundaries_
 

Additional Inherited Members

- Protected Attributes inherited from chi_physics::Solver
BasicOptions basic_options_
 
std::vector< std::shared_ptr< FieldFunctionGridBased > > field_functions_
 
std::shared_ptr< TimeSteppertimestepper_ = nullptr
 

Detailed Description

CFEM diffusion solver

Definition at line 33 of file cfem_diffusion_solver.h.

Member Typedef Documentation

◆ BoundaryInfo

typedef std::pair<BoundaryType,std::vector<double> > cfem_diffusion::Solver::BoundaryInfo

Definition at line 47 of file cfem_diffusion_solver.h.

◆ BoundaryPreferences

Definition at line 48 of file cfem_diffusion_solver.h.

Constructor & Destructor Documentation

◆ Solver()

cfem_diffusion::Solver::Solver ( const std::string &  in_solver_name)
explicit

Definition at line 17 of file cfem_diffusion_solver.cc.

◆ ~Solver()

cfem_diffusion::Solver::~Solver ( )
overridevirtual

Reimplemented from chi_physics::Solver.

Definition at line 23 of file cfem_diffusion_solver.cc.

Member Function Documentation

◆ CallLua_iXYZFunction()

double cfem_diffusion::Solver::CallLua_iXYZFunction ( lua_State *  L,
const std::string &  lua_func_name,
int  imat,
const chi_mesh::Vector3 xyz 
)
static

Calls a lua function with xyz coordinates.

Parameters
LThe lua state.
lua_func_nameThe name used to define this lua function in the lua state.
imatThe material ID of the cell
xyzThe xyz coordinates of the point where the function is called.
Returns
The function evaluation.

Definition at line 16 of file cfem_diffusion_utils.cc.

◆ Execute()

void cfem_diffusion::Solver::Execute ( )
overridevirtual

Reimplemented from chi_physics::Solver.

Definition at line 172 of file cfem_diffusion_solver.cc.

◆ Initialize()

void cfem_diffusion::Solver::Initialize ( )
overridevirtual

Reimplemented from chi_physics::Solver.

Definition at line 31 of file cfem_diffusion_solver.cc.

◆ UpdateFieldFunctions()

void cfem_diffusion::Solver::UpdateFieldFunctions ( )

Updates the field functions with the latest data.

Definition at line 58 of file cfem_diffusion_utils.cc.

Field Documentation

◆ A_

Mat cfem_diffusion::Solver::A_ = nullptr

Definition at line 45 of file cfem_diffusion_solver.h.

◆ b_

Vec cfem_diffusion::Solver::b_ = nullptr

Definition at line 44 of file cfem_diffusion_solver.h.

◆ boundaries_

std::map<uint64_t, Boundary> cfem_diffusion::Solver::boundaries_

Definition at line 50 of file cfem_diffusion_solver.h.

◆ boundary_preferences_

BoundaryPreferences cfem_diffusion::Solver::boundary_preferences_

Definition at line 49 of file cfem_diffusion_solver.h.

◆ grid_ptr_

chi_mesh::MeshContinuumPtr cfem_diffusion::Solver::grid_ptr_ = nullptr

Definition at line 36 of file cfem_diffusion_solver.h.

◆ num_globl_dofs_

size_t cfem_diffusion::Solver::num_globl_dofs_ = 0

Definition at line 41 of file cfem_diffusion_solver.h.

◆ num_local_dofs_

size_t cfem_diffusion::Solver::num_local_dofs_ = 0

Definition at line 40 of file cfem_diffusion_solver.h.

◆ sdm_ptr_

chi_math::SDMPtr cfem_diffusion::Solver::sdm_ptr_ = nullptr

Definition at line 38 of file cfem_diffusion_solver.h.

◆ x_

Vec cfem_diffusion::Solver::x_ = nullptr

Definition at line 43 of file cfem_diffusion_solver.h.


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