My Project
programmer's documentation
Data Structures | Functions
cs_hho_builder.h File Reference
#include "cs_base.h"
#include "cs_basis_func.h"
#include "cs_cdo_connect.h"
#include "cs_sdm.h"
#include "cs_xdef.h"
Include dependency graph for cs_hho_builder.h:

Go to the source code of this file.

Data Structures

struct  cs_hho_builder_t
 

Functions

cs_hho_builder_tcs_hho_builder_create (int order, int n_fc)
 Allocate a cs_hho_builder_t structure. More...
 
void cs_hho_builder_free (cs_hho_builder_t **p_builder)
 Free a cs_hho_builder_t structure. More...
 
void cs_hho_builder_cellwise_setup (const cs_cell_mesh_t *cm, cs_cell_builder_t *cb, cs_hho_builder_t *hhob)
 Set-up the basis functions related to a cell, its gradient and to the faces of this cell. Compute cell and face projection and its related modified Cholesky factorization. More...
 
static void cs_hho_builder_cellbasis_setup (const cs_cell_mesh_t *cm, cs_cell_builder_t *cb, cs_hho_builder_t *hhob)
 Set-up the basis functions related to a cell only. More...
 
void cs_hho_builder_compute_grad_reco (const cs_cell_mesh_t *cm, cs_cell_builder_t *cb, cs_hho_builder_t *hhob)
 Compute the gradient operator stemming from the relation stiffness * grad_op = rhs where stiffness is a square matrix of size grd_size rhs is matrix of size (n_fc*f_size + c_size) * grd_size Hence, grad_op a matrix grd_size * (n_fc*f_size + c_size) More...
 
void cs_hho_builder_diffusion (const cs_cell_mesh_t *cm, cs_cell_builder_t *cb, cs_hho_builder_t *hhob)
 Compute the diffusion operator. The gradient reconstruction operator has to be built just before this call (cb->aux stores the rhs) More...
 
void cs_hho_builder_reduction_from_analytic (const cs_xdef_t *def, const cs_cell_mesh_t *cm, cs_real_t t_eval, cs_cell_builder_t *cb, cs_hho_builder_t *hhob, cs_real_t red[])
 Compute the reduction onto the polynomial spaces (cell and faces) of a function defined by an analytical expression depending on the location and the current time red array has to be allocated before calling this function. More...
 
void cs_hho_builder_reduction_from_analytic_v (const cs_xdef_t *def, const cs_cell_mesh_t *cm, cs_real_t t_eval, cs_cell_builder_t *cb, cs_hho_builder_t *hhob, cs_real_t red[])
 Compute the reduction onto the polynomial spaces (cell and faces) of a function defined by an analytical expression depending on the location and the current time This function handles the vector case. More...
 
void cs_hho_builder_compute_dirichlet (const cs_xdef_t *def, short int f, const cs_cell_mesh_t *cm, cs_real_t t_eval, cs_cell_builder_t *cb, cs_hho_builder_t *hhob, cs_real_t res[])
 Compute the projection of the Dirichlet boundary conditions onto the polynomial spaces on faces. More...
 
void cs_hho_builder_compute_dirichlet_v (const cs_xdef_t *def, short int f, const cs_cell_mesh_t *cm, cs_real_t t_eval, cs_cell_builder_t *cb, cs_hho_builder_t *hhob, cs_real_t res[])
 Compute the projection of the Dirichlet boundary conditions onto the polynomial spaces on faces. Vector case. More...
 

Function Documentation

◆ cs_hho_builder_cellbasis_setup()

static void cs_hho_builder_cellbasis_setup ( const cs_cell_mesh_t cm,
cs_cell_builder_t cb,
cs_hho_builder_t hhob 
)
inlinestatic

Set-up the basis functions related to a cell only.

Parameters
[in]cmpointer to a cs_cell_mesh_t structure
[in]cbpointer to a cell builder_t structure
[in,out]hhobpointer to a cs_hho_builder_t structure

◆ cs_hho_builder_cellwise_setup()

void cs_hho_builder_cellwise_setup ( const cs_cell_mesh_t cm,
cs_cell_builder_t cb,
cs_hho_builder_t hhob 
)

Set-up the basis functions related to a cell, its gradient and to the faces of this cell. Compute cell and face projection and its related modified Cholesky factorization.

Parameters
[in]cmpointer to a cs_cell_mesh_t structure
[in]cbpointer to a cell builder_t structure
[in,out]hhobpointer to a cs_hho_builder_t structure

◆ cs_hho_builder_compute_dirichlet()

void cs_hho_builder_compute_dirichlet ( const cs_xdef_t def,
short int  f,
const cs_cell_mesh_t cm,
cs_real_t  t_eval,
cs_cell_builder_t cb,
cs_hho_builder_t hhob,
cs_real_t  res[] 
)

Compute the projection of the Dirichlet boundary conditions onto the polynomial spaces on faces.

Parameters
[in]defpointer to a cs_xdef_t structure
[in]flocal face id in the cellwise view of the mesh
[in]cmpointer to a cs_cell_mesh_t structure
[in]t_evaltime at which one performs the evaluation
[in,out]cbpointer to a cell builder_t structure
[in,out]hhobpointer to a cs_hho_builder_t structure
[in,out]resvector containing the result

◆ cs_hho_builder_compute_dirichlet_v()

void cs_hho_builder_compute_dirichlet_v ( const cs_xdef_t def,
short int  f,
const cs_cell_mesh_t cm,
cs_real_t  t_eval,
cs_cell_builder_t cb,
cs_hho_builder_t hhob,
cs_real_t  res[] 
)

Compute the projection of the Dirichlet boundary conditions onto the polynomial spaces on faces. Vector case.

Parameters
[in]defpointer to a cs_xdef_t structure
[in]flocal face id in the cellwise view of the mesh
[in]cmpointer to a cs_cell_mesh_t structure
[in]t_evaltime at which one performs the evaluation
[in,out]cbpointer to a cell builder_t structure
[in,out]hhobpointer to a cs_hho_builder_t structure
[in,out]resvector containing the result

◆ cs_hho_builder_compute_grad_reco()

void cs_hho_builder_compute_grad_reco ( const cs_cell_mesh_t cm,
cs_cell_builder_t cb,
cs_hho_builder_t hhob 
)

Compute the gradient operator stemming from the relation stiffness * grad_op = rhs where stiffness is a square matrix of size grd_size rhs is matrix of size (n_fc*f_size + c_size) * grd_size Hence, grad_op a matrix grd_size * (n_fc*f_size + c_size)

Parameters
[in]cmpointer to a cs_cell_mesh_t structure
[in]cbpointer to a cell builder_t structure
[in,out]hhobpointer to a cs_hho_builder_t structure

◆ cs_hho_builder_create()

cs_hho_builder_t* cs_hho_builder_create ( int  order,
int  n_fc 
)

Allocate a cs_hho_builder_t structure.

Parameters
[in]orderorder of the polynomial basis function
[in]n_fcmax. number of faces in a cell
Returns
a pointer to a new allocated cs_hho_builder_t structure

◆ cs_hho_builder_diffusion()

void cs_hho_builder_diffusion ( const cs_cell_mesh_t cm,
cs_cell_builder_t cb,
cs_hho_builder_t hhob 
)

Compute the diffusion operator. The gradient reconstruction operator has to be built just before this call (cb->aux stores the rhs)

Parameters
[in]cmpointer to a cs_cell_mesh_t structure
[in]cbpointer to a cell builder_t structure
[in,out]hhobpointer to a cs_hho_builder_t structure

◆ cs_hho_builder_free()

void cs_hho_builder_free ( cs_hho_builder_t **  p_builder)

Free a cs_hho_builder_t structure.

Parameters
[in,out]p_builderpointer of pointer on a cs_hho_builder_t struct.

◆ cs_hho_builder_reduction_from_analytic()

void cs_hho_builder_reduction_from_analytic ( const cs_xdef_t def,
const cs_cell_mesh_t cm,
cs_real_t  t_eval,
cs_cell_builder_t cb,
cs_hho_builder_t hhob,
cs_real_t  red[] 
)

Compute the reduction onto the polynomial spaces (cell and faces) of a function defined by an analytical expression depending on the location and the current time red array has to be allocated before calling this function.

Parameters
[in]defpointer to a cs_xdef_t structure
[in]cmpointer to a cs_cell_mesh_t structure
[in]t_evaltime at which one performs the evaluation
[in,out]cbpointer to a cell builder_t structure
[in,out]hhobpointer to a cs_hho_builder_t structure
[in,out]redvector containing the reduction

◆ cs_hho_builder_reduction_from_analytic_v()

void cs_hho_builder_reduction_from_analytic_v ( const cs_xdef_t def,
const cs_cell_mesh_t cm,
cs_real_t  t_eval,
cs_cell_builder_t cb,
cs_hho_builder_t hhob,
cs_real_t  red[] 
)

Compute the reduction onto the polynomial spaces (cell and faces) of a function defined by an analytical expression depending on the location and the current time This function handles the vector case.

red array has to be allocated before calling this function.

Parameters
[in]defpointer to a cs_xdef_t structure
[in]cmpointer to a cs_cell_mesh_t structure
[in]t_evaltime at which one performs the evaluation
[in,out]cbpointer to a cell builder_t structure
[in,out]hhobpointer to a cs_hho_builder_t structure
[in,out]redvector containing the reduction