 FEATool Multiphysics  v1.14 Finite Element Analysis Toolbox
assemblea.m File Reference

## Description

ASSEMBLEA Finite element assembly of bilinear forms.

[ VROWINDS, VROWCOLS, VAVALS, N_ROWS, N_COLS ] = ASSEMBLEA( FORM, C_SFUN, C_COEF, ICUB, P, C, A, SIND, N_CMAX, N_OFF, PROB, I_HRZ ) Assembles a matrix representation of a finite element bilinear form.

Each column in FORM specifies one bilinear additive term to compute. The first row corresponds to the trial function space, and second test space. The FORM entries denote either function values or derivatives to evaluate.

C_SFUN indicates which shape functions to use for the trial and test spaces.

C_COEF specifies the coefficients to evaluate for each term (column) in FORM.

The computed matrix entries are returned in VAVALS where VROWINDS and VROWCOLS are corresponding row and column pointers. N_ROWS and N_COLS give the number of rows in the matrix. A sparse representation of the matrix can subsequently be constructed by calling SPARSE

A = sparse( vRowInds, vColInds, vAvals, n_rows, n_cols );


on the output of ASSEMLBLEA.

Input       Value/[Size]           Description
-----------------------------------------------------------------------------------
form        [2,n_forms]            Forms to compute, first row indicates trial
function space (second test function space)
1     = function value
2/3/4 = x/y/z-derivatives
c_sfun      strings {2}            Shape functions used for the trial and
test function spaces
c_coef      {n_forms}              Coefficients for each bilinear form
i_cub       scalar                 Numerical integration rule
p           [n_sdim,n_p]           Array with grid point coordinates
c           [n_vert,n_cells]       Array with cell connectivities
a           [n_vert,n_cells]       Array with cell adjacency information
sind        [n_cells]              (optional) Subdomain indices
n_cmax      scalar {50000}         (optional) Max number of cells to assemble
for at once (to limit memory consumption)
n_off                           (optional) Row/column pointer offset
prob        struct                 (optional) FEATool problem struct, used
for dof mapping and evaluating coefficients
i_hrz       logical {false}        Apply HRZ diagonal (mass) lumping
.
Output      Value/[Size]           Description
-----------------------------------------------------------------------------------
vRowInds    [n_A]                  Row pointers to matrix entries
vColInds    [n_A]                  Column pointers to matrix entries
vAvals      [n_A]                  Values of the assembled matrix entries
n_rows      scalar                 Number of rows in matrix
n_cols      scalar                 Number of columns in matrix