BEM_Poisson_Boltzmann Class Reference

#include <BEM_Poisson_Boltzmann.h>

Inheritance diagram for BEM_Poisson_Boltzmann:
GaussianQuadrature_tri GaussianQuadrature_1d

Public Member Functions

 BEM_Poisson_Boltzmann ()
 
 ~BEM_Poisson_Boltzmann ()
 
int init (NearestNeighbourLinkedListCube *lookup)
 
void set_kappa (scalar kappa)
 
void build_BEM_matrices ()
 
void perform_integrals_for_lookup_cell_self (LinkedListNode< Face > *l_i, vector3 gqp[4])
 
void perform_integrals_for_lookup_cell_relative (LinkedListNode< Face > *l_i, vector3 gqp[4], int dx, int dy, int dz)
 
void print_matrices ()
 
SparseMatrixUnknownPatternget_C ()
 
SparseMatrixUnknownPatternget_D ()
 

Private Member Functions

scalar u_4pi (scalar r)
 
scalar grad_u_4pi (scalar r, scalar r2)
 
void gauss_quadrature_4_point (vector3 gqp[4], vector3 *p, scalar *int_u, scalar *int_du, Face *f)
 
scalar self_term (vector3 *n0, vector3 *n1, vector3 *n2, int precision)
 
scalar f_1d (scalar r)
 
scalar f_3d (vector3 *p, vector3 *q)
 
- Private Member Functions inherited from GaussianQuadrature_tri
virtual ~GaussianQuadrature_tri ()
 
scalar integrate_point_to_face (scalar(*f)(vector3 *, vector3 *), vector3 *p, Face *face, int precision)
 
scalar integrate_face_to_face (scalar(*f)(vector3 *, vector3 *), Face *f1, Face *f2, int precision)
 
- Private Member Functions inherited from GaussianQuadrature_1d
virtual ~GaussianQuadrature_1d ()
 
scalar integrate_function_1d (scalar a, scalar b, int precision)
 
scalar integrate_function_1d_tri (scalar theta_max, scalar L_perp, scalar theta_star, int precision)
 

Private Attributes

NearestNeighbourLinkedListCubelookup
 
int num_faces
 
scalar kappa
 
SparseMatrixUnknownPatternmat_C
 
SparseMatrixUnknownPatternmat_D
 

Constructor & Destructor Documentation

◆ BEM_Poisson_Boltzmann()

BEM_Poisson_Boltzmann::BEM_Poisson_Boltzmann ( )

◆ ~BEM_Poisson_Boltzmann()

BEM_Poisson_Boltzmann::~BEM_Poisson_Boltzmann ( )

Member Function Documentation

◆ build_BEM_matrices()

void BEM_Poisson_Boltzmann::build_BEM_matrices ( )

Referenced by World::do_es().

◆ f_1d()

scalar BEM_Poisson_Boltzmann::f_1d ( scalar  r)
privatevirtual

Implements GaussianQuadrature_1d.

◆ f_3d()

scalar BEM_Poisson_Boltzmann::f_3d ( vector3 p,
vector3 q 
)
privatevirtual

◆ gauss_quadrature_4_point()

void BEM_Poisson_Boltzmann::gauss_quadrature_4_point ( vector3  gqp[4],
vector3 p,
scalar int_u,
scalar int_du,
Face f 
)
private

◆ get_C()

SparseMatrixUnknownPattern * BEM_Poisson_Boltzmann::get_C ( )

Referenced by World::do_es().

◆ get_D()

SparseMatrixUnknownPattern * BEM_Poisson_Boltzmann::get_D ( )

Referenced by World::do_es().

◆ grad_u_4pi()

scalar BEM_Poisson_Boltzmann::grad_u_4pi ( scalar  r,
scalar  r2 
)
private

Returns the radial component of grad of u multiplied by 4*pi (all other components are zero)

Referenced by gauss_quadrature_4_point().

◆ init()

int BEM_Poisson_Boltzmann::init ( NearestNeighbourLinkedListCube lookup)

Referenced by World::init().

◆ perform_integrals_for_lookup_cell_relative()

void BEM_Poisson_Boltzmann::perform_integrals_for_lookup_cell_relative ( LinkedListNode< Face > *  l_i,
vector3  gqp[4],
int  dx,
int  dy,
int  dz 
)

Referenced by build_BEM_matrices().

◆ perform_integrals_for_lookup_cell_self()

void BEM_Poisson_Boltzmann::perform_integrals_for_lookup_cell_self ( LinkedListNode< Face > *  l_i,
vector3  gqp[4] 
)

Referenced by build_BEM_matrices().

◆ print_matrices()

void BEM_Poisson_Boltzmann::print_matrices ( )

◆ self_term()

scalar BEM_Poisson_Boltzmann::self_term ( vector3 n0,
vector3 n1,
vector3 n2,
int  precision 
)
private

Referenced by build_BEM_matrices().

◆ set_kappa()

void BEM_Poisson_Boltzmann::set_kappa ( scalar  kappa)

Sets the inverse debye screening length for the system

Referenced by World::init().

◆ u_4pi()

scalar BEM_Poisson_Boltzmann::u_4pi ( scalar  r)
private

Returns the value of the fundamental solution u multiplied by 4*pi

Referenced by gauss_quadrature_4_point().

Field Documentation

◆ kappa

scalar BEM_Poisson_Boltzmann::kappa
private

The inverse Debye-screening length, kappa

Referenced by BEM_Poisson_Boltzmann(), f_1d(), f_3d(), grad_u_4pi(), set_kappa(), u_4pi(), and ~BEM_Poisson_Boltzmann().

◆ lookup

NearestNeighbourLinkedListCube* BEM_Poisson_Boltzmann::lookup
private

Nearest neighbour lookup data structure containing all faces in the system

Referenced by BEM_Poisson_Boltzmann(), build_BEM_matrices(), init(), perform_integrals_for_lookup_cell_relative(), perform_integrals_for_lookup_cell_self(), and ~BEM_Poisson_Boltzmann().

◆ mat_C

◆ mat_D

◆ num_faces

int BEM_Poisson_Boltzmann::num_faces
private

Number of faces in system

Referenced by BEM_Poisson_Boltzmann(), build_BEM_matrices(), init(), and ~BEM_Poisson_Boltzmann().


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