# doc-cache created by Octave 4.2.2
# name: cache
# type: cell
# rows: 3
# columns: 47
# name: <cell-element>
# type: sq_string
# elements: 1
# length: 25
bim1a_advection_diffusion


# name: <cell-element>
# type: sq_string
# elements: 1
# length: 850
 -- Function File: [A] =
          bim1a_advection_diffusion(MESH,ALPHA,GAMMA,ETA,BETA)
     Build the Scharfetter-Gummel stabilized stiffness matrix for a
     diffusion-advection problem.

     The equation taken into account is:

     - div (ALPHA * GAMMA (ETA grad (u) - BETA u)) = f

     where ALPHA is an element-wise constant scalar function,  ETA and
     GAMMA are piecewise linear conforming scalar  functions, BETA is
     an element-wise constant vector function.

     Instead of passing the vector field BETA directly one can pass  a
     piecewise linear conforming scalar function  PHI as the last
     input.  In such case BETA = grad PHI is assumed.

     If PHI is a single scalar value BETA is assumed to be 0  in the
     whole domain.

     See also: bim1a_rhs, bim1a_reaction, bim1a_laplacian,
     bim2a_advection_diffusion.



# name: <cell-element>
# type: sq_string
# elements: 1
# length: 80
Build the Scharfetter-Gummel stabilized stiffness matrix for a
diffusion-advecti



# name: <cell-element>
# type: sq_string
# elements: 1
# length: 22
bim1a_advection_upwind


# name: <cell-element>
# type: sq_string
# elements: 1
# length: 614
 -- Function File: [A] = bim1a_advection_upwind (MESH, BETA)
     Build the UW stabilized stiffness matrix for an advection problem.

     The equation taken into account is:

     (BETA u)' = f

     where BETA is an element-wise constant.

     Instead of passing the vector field BETA directly one can pass  a
     piecewise linear conforming scalar function  PHI as the last
     input.  In such case BETA = grad PHI is assumed.

     If PHI is a single scalar value BETA is assumed to be 0  in the
     whole domain.

     See also: bim1a_rhs, bim1a_reaction, bim1a_laplacian,
     bim2a_advection_diffusion.



# name: <cell-element>
# type: sq_string
# elements: 1
# length: 66
Build the UW stabilized stiffness matrix for an advection problem.



# name: <cell-element>
# type: sq_string
# elements: 1
# length: 38
bim1a_axisymmetric_advection_diffusion


# name: <cell-element>
# type: sq_string
# elements: 1
# length: 1276
 -- Function File: [A] =
          bim1a_axisymmetric_advection_diffusion(MESH,ALPHA,GAMMA,ETA,BETA)
     Build the Scharfetter-Gummel stabilized stiffness matrix for a
     diffusion-advection problem in cylindrical coordinates with
     axisymmetric  configuration. Rotational symmetry is assumed with
     respect to be the vertical  axis r=0. Only grids that DO NOT
     contain r=0 are admissible.

             |   |-------|   OK       |-------|   |   OK        |--|-----|   NO!
            r=0                                  r=0              r=0

     The equation taken into account is:

     - 1/r * d/dr (ALPHA * GAMMA (ETA du/dr - BETA u)) = f

     where ALPHA is an element-wise constant scalar function,  ETA and
     GAMMA are piecewise linear conforming scalar  functions, BETA is
     an element-wise constant vector function.

     Instead of passing the vector field BETA directly one can pass  a
     piecewise linear conforming scalar function  PHI as the last
     input.  In such case BETA = grad PHI is assumed.

     If PHI is a single scalar value BETA is assumed to be 0  in the
     whole domain.

     See also: bim1a_axisymmetric_rhs, bim1a_axisymmetric_reaction,
     bim1a_axisymmetric_laplacian,
     bim2a_axisymmetric_advection_diffusion.



# name: <cell-element>
# type: sq_string
# elements: 1
# length: 80
Build the Scharfetter-Gummel stabilized stiffness matrix for a
diffusion-advecti



# name: <cell-element>
# type: sq_string
# elements: 1
# length: 35
bim1a_axisymmetric_advection_upwind


# name: <cell-element>
# type: sq_string
# elements: 1
# length: 779
 -- Function File: [A] = bim1a_axisymmetric_advection_upwind (MESH,
          BETA)
     Build the Upwind stabilized stiffness matrix for an advection
     problem  in cylindrical coordinates with axisymmetric
     configuration.

     The equation taken into account is:

     1/r * (r * BETA u)' = f

     where BETA is an element-wise constant.

     Instead of passing the vector field BETA directly one can pass  a
     piecewise linear conforming scalar function  PHI as the last
     input.  In such case BETA = grad PHI is assumed.

     If PHI is a single scalar value BETA is assumed to be 0  in the
     whole domain.

     See also: bim1a_axisymmetric_advection_diffusion,
     bim1a_axisymmetric_rhs,  bim1a_axisymmetric_reaction,
     bim1a_axisymmetric_laplacian.



# name: <cell-element>
# type: sq_string
# elements: 1
# length: 80
Build the Upwind stabilized stiffness matrix for an advection problem
in cylindr



# name: <cell-element>
# type: sq_string
# elements: 1
# length: 28
bim1a_axisymmetric_laplacian


# name: <cell-element>
# type: sq_string
# elements: 1
# length: 828
 -- Function File: A = bim1a_axisymmetric_laplacian (MESH,EPSILON,KAPPA)
     Build the standard finite element stiffness matrix for a diffusion
     problem in cylindrical coordinates with axisymmetric configuration.
     Rotational symmetry is assumed with respect to be the vertical
     axis r=0. Only grids that DO NOT contain r=0 are admissible.

             |   |-------|   OK       |--|-----|   NO!
            r=0                         r=0

     The equation taken into account is:

     - 1/r * (r * EPSILON * KAPPA ( u' ))' = f

     where EPSILON is an element-wise constant scalar function,  while
     KAPPA is a piecewise linear conforming scalar function.

     See also: bim1a_axisymmetric_rhs, bim1a_axisymmetric_reaction,
     bim1a_axisymmetric_advection_diffusion, bim2a_laplacian,
     bim3a_laplacian.



# name: <cell-element>
# type: sq_string
# elements: 1
# length: 80
Build the standard finite element stiffness matrix for a diffusion
problem in cy



# name: <cell-element>
# type: sq_string
# elements: 1
# length: 27
bim1a_axisymmetric_reaction


# name: <cell-element>
# type: sq_string
# elements: 1
# length: 558
 -- Function File: [C] = bim1a_axisymmetric_reaction(MESH,DELTA,ZETA)
     Build the lumped finite element mass matrix for a diffusion
     problem in cylindrical coordinates with axisymmetric configuration.

     The equation taken into account is:

     DELTA * ZETA * u = f

     where DELTA is an element-wise constant scalar function, while
     ZETA is a piecewise linear conforming scalar function.

     See also: bim1a_axisymmetric_rhs,
     bim1a_axisymmetric_advection_diffusion,
     bim1a_axisymmetric_laplacian, bim2a_reaction, bim3a_reaction.



# name: <cell-element>
# type: sq_string
# elements: 1
# length: 80
Build the lumped finite element mass matrix for a diffusion problem in
cylindric



# name: <cell-element>
# type: sq_string
# elements: 1
# length: 22
bim1a_axisymmetric_rhs


# name: <cell-element>
# type: sq_string
# elements: 1
# length: 445
 -- Function File: [B] = bim1a_rhs(MESH,F, G)
     Build the finite element right-hand side of a diffusion problem
     employing mass-lumping.

     The equation taken into account is:

     DELTA * u = f * g

     where F is an element-wise constant scalar function, while G is a
     piecewise linear conforming scalar function.

     See also: bim1a_reaction, bim1a_advection_diffusion,
     bim1a_laplacian, bim2a_reaction, bim3a_reaction.



# name: <cell-element>
# type: sq_string
# elements: 1
# length: 80
Build the finite element right-hand side of a diffusion problem
employing mass-l



# name: <cell-element>
# type: sq_string
# elements: 1
# length: 15
bim1a_laplacian


# name: <cell-element>
# type: sq_string
# elements: 1
# length: 468
 -- Function File: A = bim1a_laplacian (MESH,EPSILON,KAPPA)
     Build the standard finite element stiffness matrix for a diffusion
     problem.

     The equation taken into account is:

     - (EPSILON * KAPPA ( u' ))' = f

     where EPSILON is an element-wise constant scalar function,  while
     KAPPA is a piecewise linear conforming scalar function.

     See also: bim1a_rhs, bim1a_reaction, bim1a_advection_diffusion,
     bim2a_laplacian, bim3a_laplacian.



# name: <cell-element>
# type: sq_string
# elements: 1
# length: 75
Build the standard finite element stiffness matrix for a diffusion
problem.



# name: <cell-element>
# type: sq_string
# elements: 1
# length: 14
bim1a_reaction


# name: <cell-element>
# type: sq_string
# elements: 1
# length: 442
 -- Function File: [C] = bim1a_reaction(MESH,DELTA,ZETA)
     Build the lumped finite element mass matrix for a diffusion
     problem.

     The equation taken into account is:

     DELTA * ZETA * u = f

     where DELTA is an element-wise constant scalar function, while
     ZETA is a piecewise linear conforming scalar function.

     See also: bim1a_rhs, bim1a_advection_diffusion, bim1a_laplacian,
     bim2a_reaction, bim3a_reaction.



# name: <cell-element>
# type: sq_string
# elements: 1
# length: 68
Build the lumped finite element mass matrix for a diffusion problem.



# name: <cell-element>
# type: sq_string
# elements: 1
# length: 9
bim1a_rhs


# name: <cell-element>
# type: sq_string
# elements: 1
# length: 445
 -- Function File: [B] = bim1a_rhs(MESH,F, G)
     Build the finite element right-hand side of a diffusion problem
     employing mass-lumping.

     The equation taken into account is:

     DELTA * u = f * g

     where F is an element-wise constant scalar function, while G is a
     piecewise linear conforming scalar function.

     See also: bim1a_reaction, bim1a_advection_diffusion,
     bim1a_laplacian, bim2a_reaction, bim3a_reaction.



# name: <cell-element>
# type: sq_string
# elements: 1
# length: 80
Build the finite element right-hand side of a diffusion problem
employing mass-l



# name: <cell-element>
# type: sq_string
# elements: 1
# length: 19
bim1c_elem_to_nodes


# name: <cell-element>
# type: sq_string
# elements: 1
# length: 603
 -- Function File: U_NOD = bim1c_elem_to_nodes (MESH, U_EL)
 -- Function File: U_NOD = bim1c_elem_to_nodes (M_EL, U_EL)
 -- Function File: [U_NOD, M_EL] = bim1c_elem_to_nodes ( ... )
     Compute interpolated values at nodes U_NOD given values at element
     mid-points U_EL.   If called with more than one output, also
     return the interpolation matrix M_EL such that  `u_nod = m_el *
     u_el'.   If repeatedly performing interpolation on the same mesh
     the matrix M_EL obtained by a previous call  to
     `bim1c_elem_to_nodes' may be passed as input to avoid unnecessary
     computations.



# name: <cell-element>
# type: sq_string
# elements: 1
# length: 80
Compute interpolated values at nodes U_NOD given values at element
mid-points U_



# name: <cell-element>
# type: sq_string
# elements: 1
# length: 10
bim1c_norm


# name: <cell-element>
# type: sq_string
# elements: 1
# length: 577
 -- Function File: [NORM_U] = bim1c_norm(MESH,U,NORM_TYPE)
     Compute the NORM_TYPE-norm of function U on the domain described
     by the triangular grid MESH.

     The input function U can be either a piecewise linear conforming
     scalar  function or an elementwise constant scalar or vector
     function.

     The string parameter NORM_TYPE can be one among 'L2', 'H1' and
     'inf'.

     Should the input function be piecewise constant, the H1 norm will
     not be  computed and the function will return an error message.

     See also: bim2c_norm, bim3c_norm.



# name: <cell-element>
# type: sq_string
# elements: 1
# length: 80
Compute the NORM_TYPE-norm of function U on the domain described  by
the triangu



# name: <cell-element>
# type: sq_string
# elements: 1
# length: 25
bim2a_advection_diffusion


# name: <cell-element>
# type: sq_string
# elements: 1
# length: 1666
 -- Function File: [A] =
          bim2a_advection_diffusion(MESH,ALPHA,GAMMA,ETA,BETA)
     Build the Scharfetter-Gummel stabilized stiffness matrix for a
     diffusion-advection problem.

     The equation taken into account is:

     - div (ALPHA * GAMMA (ETA grad (u) - BETA u )) = f

     where ALPHA is an element-wise constant scalar function,  ETA and
     GAMMA are piecewise linear conforming scalar  functions, BETA is
     an element-wise constant vector function.

     Instead of passing the vector field BETA directly one can pass  a
     piecewise linear conforming scalar function  PHI as the last
     input.  In such case BETA = grad PHI is assumed.

     If PHI is a single scalar value BETA is assumed to be 0  in the
     whole domain.

     Example:
           mesh = msh2m_structured_mesh([0:1/3:1],[0:1/3:1],1,1:4);
           mesh = bim2c_mesh_properties(mesh);
           x    = mesh.p(1,:)';

           Dnodes    = bim2c_unknowns_on_side(mesh,[2,4]);
           Nnodes    = columns(mesh.p);
           Nelements = columns(mesh.t);
           Varnodes  = setdiff(1:Nnodes,Dnodes);

           alpha  = ones(Nelements,1);
           eta    = .1*ones(Nnodes,1);
           beta   = [ones(1,Nelements);zeros(1,Nelements)];
           gamma  = ones(Nnodes,1);
           f      = bim2a_rhs(mesh,ones(Nnodes,1),ones(Nelements,1));

           S   = bim2a_advection_diffusion(mesh,alpha,gamma,eta,beta);
           u   = zeros(Nnodes,1);
           uex = x - (exp(10*x)-1)/(exp(10)-1);

           u(Varnodes) = S(Varnodes,Varnodes)\f(Varnodes);

           assert(u,uex,1e-7)

     See also: bim2a_rhs, bim2a_reaction, bim2c_mesh_properties.



# name: <cell-element>
# type: sq_string
# elements: 1
# length: 80
Build the Scharfetter-Gummel stabilized stiffness matrix for a
diffusion-advecti



# name: <cell-element>
# type: sq_string
# elements: 1
# length: 22
bim2a_advection_upwind


# name: <cell-element>
# type: sq_string
# elements: 1
# length: 607
 -- Function File: [A] = bim2a_advection_upwind (MESH, BETA)
     Build the UW stabilized stiffness matrix for an advection problem.

     The equation taken into account is:

     div (BETA u) = f

     where BETA is an element-wise constant vector function.

     Instead of passing the vector field BETA directly one can pass  a
     piecewise linear conforming scalar function  PHI as the last
     input.  In such case BETA = grad PHI is assumed.

     If PHI is a single scalar value BETA is assumed to be 0  in the
     whole domain.

     See also: bim2a_rhs, bim2a_reaction, bim2c_mesh_properties.



# name: <cell-element>
# type: sq_string
# elements: 1
# length: 66
Build the UW stabilized stiffness matrix for an advection problem.



# name: <cell-element>
# type: sq_string
# elements: 1
# length: 38
bim2a_axisymmetric_advection_diffusion


# name: <cell-element>
# type: sq_string
# elements: 1
# length: 1402
 -- Function File: [A] =
          bim2a_axisymmetric_advection_diffusion(MESH,ALPHA,GAMMA,ETA,BETA)
     Build the Scharfetter-Gummel stabilized stiffness matrix for a
     diffusion-advection problem in cylindrical coordinates with
     axisymmetric configuration. Rotational symmetry is assumed with
     respect to be the vertical axis r=0. Only plane geometries that DO
     NOT intersect the symmetry axis are admitted.

             |   ____                 _|____
             |  |    \               \ |    |
           z |  |     \  OK           \|    |   NO!
             |  |______\               |\___|
             |     r                   |

     The equation taken into account is:

     1/r * d(r * Fr)/dr + dFz/dz = f

     with

     F = [Fr, Fz]' = - ALPHA * GAMMA ( ETA grad (u) - BETA u )

     where ALPHA is an element-wise constant scalar function, ETA and
     GAMMA are piecewise linear conforming scalar functions, BETA is an
     element-wise constant vector function.

     Instead of passing the vector field BETA directly, one can pass a
     piecewise linear conforming scalar function  PHI as the last
     input. In such case BETA = grad PHI is assumed.

     If PHI is a single scalar value BETA is assumed to be 0 in the
     whole domain.

     See also: bim2a_axisymmetric_rhs, bim2a_axisymmetric_reaction,
     bim2a_advection_diffusion, bim2c_mesh_properties.



# name: <cell-element>
# type: sq_string
# elements: 1
# length: 80
Build the Scharfetter-Gummel stabilized stiffness matrix for a
diffusion-advecti



# name: <cell-element>
# type: sq_string
# elements: 1
# length: 35
bim2a_axisymmetric_advection_upwind


# name: <cell-element>
# type: sq_string
# elements: 1
# length: 806
 -- Function File: [A] = bim2a_axisymmetric_advection_upwind (MESH,
          BETA)
     Build the Upwind stabilized stiffness matrix for an advection
     problem  in cylindrical coordinates with axisymmetric
     configuration.

     The equation taken into account is:

     1/r * d/dr (r * BETA_r u) + d/dz (BETA_z u) = f

     where BETA is an element-wise constant vector function.

     Instead of passing the vector field BETA directly one can pass  a
     piecewise linear conforming scalar function  PHI as the last
     input.  In such case BETA = grad PHI is assumed.

     If PHI is a single scalar value BETA is assumed to be 0  in the
     whole domain.

     See also: bim2a_axisymmetric_rhs, bim2a_axisymmetric_reaction,
     bim2a_axisymmetric_advection_diffusion, bim2c_mesh_properties.



# name: <cell-element>
# type: sq_string
# elements: 1
# length: 80
Build the Upwind stabilized stiffness matrix for an advection problem
in cylindr



# name: <cell-element>
# type: sq_string
# elements: 1
# length: 32
bim2a_axisymmetric_boundary_mass


# name: <cell-element>
# type: sq_string
# elements: 1
# length: 650
 -- Function File: [M] =
          bim2a_axisymmetric_boundary_mass(MESH,SIDELIST,NODELIST)
     Build the lumped boundary mass matrix needed to apply Robin and
     Neumann boundary conditions in a problem in cylindrical
     coordinates with axisymmetric configuration.

     The vector SIDELIST contains the list of the side edges
     contributing to the mass matrix.

     The optional argument NODELIST contains the list of the degrees of
     freedom on the boundary.

     See also: bim2a_axisymmetric_rhs,
     bim2a_axisymmetric_advection_diffusion,
     bim2a_axisymmetric_laplacian, bim2a_axisymmetric_reaction,
     bim2a_boundary_mass.



# name: <cell-element>
# type: sq_string
# elements: 1
# length: 80
Build the lumped boundary mass matrix needed to apply Robin and Neumann
boundary



# name: <cell-element>
# type: sq_string
# elements: 1
# length: 28
bim2a_axisymmetric_laplacian


# name: <cell-element>
# type: sq_string
# elements: 1
# length: 1064
 -- Function File: A = bim2a_axisymmetric_laplacian (MESH,EPSILON,KAPPA)
     Build the standard finite element stiffness matrix for a diffusion
     problem in cylindrical coordinates with axisymmetric configuration.
     Rotational symmetry is assumed with respect to be the vertical
     axis r=0.   Only plane geometries that DO NOT intersect the
     symmetry axis are admitted.

              |   ____                 _|____
              |  |    \               \ |    |
            z |  |     \  OK           \|    |   NO!
              |  |______\               |\___|
              |     r                   |

     The equation taken into account is:

     1/r * d(r * Fr)/dr + dFz/dz = f

     with

     F = [Fr, Fz]' = - EPSILON * KAPPA grad (u)

     where EPSILON is an element-wise constant scalar function,  while
     KAPPA is a piecewise linear conforming scalar function.

     See also: bim2a_axisymmetric_rhs, bim2a_axisymmetric_reaction,
     bim2a_axisymmetric_advection_diffusion, bim2a_laplacian,
     bim1a_laplacian,  bim3a_laplacian.



# name: <cell-element>
# type: sq_string
# elements: 1
# length: 80
Build the standard finite element stiffness matrix for a diffusion
problem in cy



# name: <cell-element>
# type: sq_string
# elements: 1
# length: 27
bim2a_axisymmetric_reaction


# name: <cell-element>
# type: sq_string
# elements: 1
# length: 561
 -- Function File: [C] = bim2a_axisymmetric_reaction(MESH,DELTA,ZETA)
     Build the lumped finite element mass matrix for a diffusion
     problem in cylindrical coordinates with axisymmetric configuration.

     The equation taken into account is:

     DELTA * ZETA * u = f

     where DELTA is an element-wise constant scalar function, while
     ZETA is a piecewise linear conforming scalar function.

     See also: bim2a_rhs, bim2a_axisymmetric_advection_diffusion,
     bim2a_axisymmetric_laplacian, bim2a_reaction, bim1a_reaction,
     bim3a_reaction.



# name: <cell-element>
# type: sq_string
# elements: 1
# length: 80
Build the lumped finite element mass matrix for a diffusion problem in
cylindric



# name: <cell-element>
# type: sq_string
# elements: 1
# length: 22
bim2a_axisymmetric_rhs


# name: <cell-element>
# type: sq_string
# elements: 1
# length: 557
 -- Function File: [B] = bim2a_axisymmetric_rhs(MESH,F,G)
     Build the finite element right-hand side of a diffusion problem in
     cylindrical coordinates with axisymmetric configuration employing
     mass-lumping.

     The equation taken into account is:

     DELTA * u = f * g

     where F is an element-wise constant scalar function, while G is a
     piecewise linear conforming scalar function.

     See also: bim2a_axisymmetric_reaction,
     bim2a_axisymmetric_advection_diffusion,
     bim2a_axisymmetric_laplacian, bim1a_axisymmetric_rhs.



# name: <cell-element>
# type: sq_string
# elements: 1
# length: 80
Build the finite element right-hand side of a diffusion problem in
cylindrical c



# name: <cell-element>
# type: sq_string
# elements: 1
# length: 19
bim2a_boundary_mass


# name: <cell-element>
# type: sq_string
# elements: 1
# length: 455
 -- Function File: [M] = bim2a_boundary_mass(MESH,SIDELIST,NODELIST)
     Build the lumped boundary mass matrix needed to apply Robin
     boundary conditions.

     The vector SIDELIST contains the list of the side edges
     contributing to the mass matrix.

     The optional argument NODELIST contains the list of the degrees of
     freedom on the boundary.

     See also: bim2a_rhs, bim2a_advection_diffusion, bim2a_laplacian,
     bim2a_reaction.



# name: <cell-element>
# type: sq_string
# elements: 1
# length: 80
Build the lumped boundary mass matrix needed to apply Robin boundary
conditions.



# name: <cell-element>
# type: sq_string
# elements: 1
# length: 15
bim2a_laplacian


# name: <cell-element>
# type: sq_string
# elements: 1
# length: 473
 -- Function File: A = bim2a_laplacian (MESH,EPSILON,KAPPA)
     Build the standard finite element stiffness matrix for a diffusion
     problem.

     The equation taken into account is:

     - div (EPSILON * KAPPA grad (u)) = f

     where EPSILON is an element-wise constant scalar function,  while
     KAPPA is a piecewise linear conforming scalar function.

     See also: bim2a_rhs, bim2a_reaction, bim2a_advection_diffusion,
     bim1a_laplacian, bim3a_laplacian.



# name: <cell-element>
# type: sq_string
# elements: 1
# length: 75
Build the standard finite element stiffness matrix for a diffusion
problem.



# name: <cell-element>
# type: sq_string
# elements: 1
# length: 14
bim2a_reaction


# name: <cell-element>
# type: sq_string
# elements: 1
# length: 442
 -- Function File: [C] = bim2a_reaction(MESH,DELTA,ZETA)
     Build the lumped finite element mass matrix for a diffusion
     problem.

     The equation taken into account is:

     DELTA * ZETA * u = f

     where DELTA is an element-wise constant scalar function, while
     ZETA is a piecewise linear conforming scalar function.

     See also: bim2a_rhs, bim2a_advection_diffusion, bim2a_laplacian,
     bim1a_reaction, bim3a_reaction.



# name: <cell-element>
# type: sq_string
# elements: 1
# length: 68
Build the lumped finite element mass matrix for a diffusion problem.



# name: <cell-element>
# type: sq_string
# elements: 1
# length: 9
bim2a_rhs


# name: <cell-element>
# type: sq_string
# elements: 1
# length: 444
 -- Function File: [B] = bim2a_rhs(MESH,F,G)
     Build the finite element right-hand side of a diffusion problem
     employing mass-lumping.

     The equation taken into account is:

     DELTA * u = f * g

     where F is an element-wise constant scalar function, while G is a
     piecewise linear conforming scalar function.

     See also: bim2a_reaction, bim2a_advection_diffusion,
     bim2a_laplacian, bim1a_reaction, bim3a_reaction.



# name: <cell-element>
# type: sq_string
# elements: 1
# length: 80
Build the finite element right-hand side of a diffusion problem
employing mass-l



# name: <cell-element>
# type: sq_string
# elements: 1
# length: 17
bim2c_global_flux


# name: <cell-element>
# type: sq_string
# elements: 1
# length: 866
 -- Function File: [JX,JY] =
          bim2c_global_flux(MESH,U,ALPHA,GAMMA,ETA,BETA)
     Compute the flux associated with the Scharfetter-Gummel
     approximation of the scalar field U.

     The vector field is defined as:

     J(U) = ALPHA* GAMMA * (ETA * grad U - BETA * U))

     where ALPHA is an element-wise constant scalar function, ETA and
     GAMMA are piecewise linear conforming scalar functions, while BETA
     is element-wise constant vector function.

     J(U) is an element-wise constant vector function.

     Instead of passing the vector field BETA directly one can pass a
     piecewise linear conforming scalar function  PHI as the last
     input.  In such case BETA = grad PHI  is assumed.  If PHI is a
     single scalar value BETA  is assumed to be 0 in the whole domain.

     See also: bim2c_pde_gradient,bim2a_advection_diffusion.



# name: <cell-element>
# type: sq_string
# elements: 1
# length: 80
Compute the flux associated with the Scharfetter-Gummel approximation
of the sca



# name: <cell-element>
# type: sq_string
# elements: 1
# length: 11
bim2c_intrp


# name: <cell-element>
# type: sq_string
# elements: 1
# length: 279
 -- Function File: DATA = bim2c_intrp (MSH, N_DATA, E_DATA, POINTS)
     Compute interpolated values of multicomponent node centered field
     N_DATA and/or  cell centered field N_DATA at an arbitrary set of
     points whose coordinates are given in the  n_by_2 matrix POINTS.



# name: <cell-element>
# type: sq_string
# elements: 1
# length: 80
Compute interpolated values of multicomponent node centered field
N_DATA and/or 



# name: <cell-element>
# type: sq_string
# elements: 1
# length: 21
bim2c_mesh_properties


# name: <cell-element>
# type: sq_string
# elements: 1
# length: 270
 -- Function File: [OMESH] = bim2c_mesh_properties(IMESH)
     Compute the properties of IMESH needed by BIM method and append
     them to OMESH as fields.

     See also: bim2a_reaction, bim2a_advection_diffusion, bim2a_rhs,
     bim2a_laplacian, bim2a_boundary_mass.



# name: <cell-element>
# type: sq_string
# elements: 1
# length: 80
Compute the properties of IMESH needed by BIM method and append them to
OMESH as



# name: <cell-element>
# type: sq_string
# elements: 1
# length: 10
bim2c_norm


# name: <cell-element>
# type: sq_string
# elements: 1
# length: 689
 -- Function File: [NORM_U] = bim2c_norm(MESH,U,NORM_TYPE)
     Compute the NORM_TYPE-norm of function U on the domain described
     by the triangular grid MESH.

     The input function U can be either a piecewise linear conforming
     scalar  function or an elementwise constant scalar or vector
     function.

     The string parameter NORM_TYPE can be one among 'L2', 'H1' and
     'inf'.

     Should the input function be piecewise constant, the H1 norm will
     not be  computed and the function will return an error message.

     For the numerical integration of the L2 norm the second order
     middle point  quadrature rule is used.

     See also: bim1c_norm, bim3c_norm.



# name: <cell-element>
# type: sq_string
# elements: 1
# length: 80
Compute the NORM_TYPE-norm of function U on the domain described  by
the triangu



# name: <cell-element>
# type: sq_string
# elements: 1
# length: 18
bim2c_pde_gradient


# name: <cell-element>
# type: sq_string
# elements: 1
# length: 176
 -- Function File: [GX,GY] = bim2c_pde_gradient(MESH,U)
     Compute the gradient of the piecewise linear conforming scalar
     function U.

     See also: bim2c_global_flux.



# name: <cell-element>
# type: sq_string
# elements: 1
# length: 74
Compute the gradient of the piecewise linear conforming scalar
function U.



# name: <cell-element>
# type: sq_string
# elements: 1
# length: 18
bim2c_tri_to_nodes


# name: <cell-element>
# type: sq_string
# elements: 1
# length: 617
 -- Function File: U_NOD = bim2c_tri_to_nodes (MESH, U_TRI)
 -- Function File: U_NOD = bim2c_tri_to_nodes (M_TRI, U_TRI)
 -- Function File: [U_NOD, M_TRI] = bim2c_tri_to_nodes ( ... )
     Compute interpolated values at triangle nodes U_NOD given values
     at triangle mid-points U_TRI.   If called with more than one
     output, also return the interpolation matrix M_TRI such that
     `u_nod = m_tri * u_tri'.   If repeatedly performing interpolation
     on the same mesh the matrix M_TRI obtained by a previous call  to
     `bim2c_tri_to_nodes' may be passed as input to avoid unnecessary
     computations.



# name: <cell-element>
# type: sq_string
# elements: 1
# length: 80
Compute interpolated values at triangle nodes U_NOD given values at
triangle mid



# name: <cell-element>
# type: sq_string
# elements: 1
# length: 22
bim2c_unknowns_on_side


# name: <cell-element>
# type: sq_string
# elements: 1
# length: 255
 -- Function File: [NODELIST] = bim2c_unknowns_on_side(MESH,SIDELIST)
     Return the list of the mesh nodes that lie on the geometrical sides
     specified in SIDELIST.

     See also: bim3c_unknown_on_faces, bim2c_pde_gradient,
     bim2c_global_flux.



# name: <cell-element>
# type: sq_string
# elements: 1
# length: 80
Return the list of the mesh nodes that lie on the geometrical sides
specified in



# name: <cell-element>
# type: sq_string
# elements: 1
# length: 25
bim3a_advection_diffusion


# name: <cell-element>
# type: sq_string
# elements: 1
# length: 470
 -- Function File: [A] = bim3a_advection_diffusion (MESH, ALPHA, V)
     Build the Scharfetter-Gummel stabilized stiffness matrix for a
     diffusion-advection problem.

     The equation taken into account is:

     - div (ALPHA ( grad (u) - grad (V) u)) = f

     where V is a piecewise linear continuous scalar  functions and
     ALPHA is a piecewise constant scalar function.

     See also: bim3a_rhs, bim3a_reaction, bim3a_laplacian,
     bim3c_mesh_properties.



# name: <cell-element>
# type: sq_string
# elements: 1
# length: 80
Build the Scharfetter-Gummel stabilized stiffness matrix for a
diffusion-advecti



# name: <cell-element>
# type: sq_string
# elements: 1
# length: 19
bim3a_boundary_mass


# name: <cell-element>
# type: sq_string
# elements: 1
# length: 471
 -- Function File: [M] = bim3a_boundary_mass(MESH,FACELIST,NODELIST)
     Build the lumped boundary mass matrix needed to apply Robin
     boundary conditions.

     The vector FACELIST contains the list of the faces contributing to
     the mass matrix.

     The optional argument NODELIST contains the list of the degrees of
     freedom on the boundary.

     See also: bim3a_rhs, bim3a_advection_diffusion, bim3a_laplacian,
     bim3a_reaction, bim2a_boundary_mass.



# name: <cell-element>
# type: sq_string
# elements: 1
# length: 80
Build the lumped boundary mass matrix needed to apply Robin boundary
conditions.



# name: <cell-element>
# type: sq_string
# elements: 1
# length: 15
bim3a_laplacian


# name: <cell-element>
# type: sq_string
# elements: 1
# length: 442
 -- Function File: A = bim3a_laplacian (MESH, EPSILON, KAPPA)
     Build the standard finite element stiffness matrix for a diffusion
     problem.

     The equation taken into account is:

     - (EPSILON * KAPPA ( u' ))' = f

     where EPSILON is an element-wise constant scalar function, while
     KAPPA is a piecewise linear conforming scalar function.

     See also: bim3a_rhs, bim3a_reaction, bim2a_laplacian,
     bim3a_laplacian.



# name: <cell-element>
# type: sq_string
# elements: 1
# length: 75
Build the standard finite element stiffness matrix for a diffusion
problem.



# name: <cell-element>
# type: sq_string
# elements: 1
# length: 29
bim3a_osc_advection_diffusion


# name: <cell-element>
# type: sq_string
# elements: 1
# length: 658
 -- Function File: [A] = bim3a_osc_advection_diffusion (MESH, ALPHA, V)
     Build the Scharfetter-Gummel stabilized OSC stiffness  matrix for
     a diffusion-advection problem.

     For details on the Orthogonal Subdomain Collocation (OSC) method
     see: M.Putti and C.Cordes, SIAM J.SCI.COMPUT. Vol.19(4),
     pp.1154-1168, 1998.

     The equation taken into account is:

     - div (ALPHA ( grad (u) - grad (V) u)) = f

     where V is a piecewise linear continuous scalar  functions and
     ALPHA is a piecewise constant scalar function.

     See also: bim3a_rhs, bim3a_osc_laplacian, bim3a_reaction,
     bim3a_laplacian, bim3c_mesh_properties.



# name: <cell-element>
# type: sq_string
# elements: 1
# length: 80
Build the Scharfetter-Gummel stabilized OSC stiffness  matrix for a
diffusion-ad



# name: <cell-element>
# type: sq_string
# elements: 1
# length: 19
bim3a_osc_laplacian


# name: <cell-element>
# type: sq_string
# elements: 1
# length: 522
 -- Function File: A = bim3a_osc_laplacian (MESH, EPSILON)
     Build the osc finite element stiffness matrix for a diffusion
     problem.

     For details on the Orthogonal Subdomain Collocation (OSC) method
     see: M.Putti and C.Cordes, SIAM J.SCI.COMPUT. Vol.19(4),
     pp.1154-1168, 1998.

     The equation taken into account is:

     - div (EPSILON grad (u)) = f

     where EPSILON is an element-wise constant scalar function.

     See also: bim3a_rhs, bim3a_reaction, bim2a_laplacian,
     bim3a_laplacian.



# name: <cell-element>
# type: sq_string
# elements: 1
# length: 70
Build the osc finite element stiffness matrix for a diffusion problem.



# name: <cell-element>
# type: sq_string
# elements: 1
# length: 14
bim3a_reaction


# name: <cell-element>
# type: sq_string
# elements: 1
# length: 416
 -- Function File: [C] = bim3a_reaction (MESH,DELTA,ZETA)
     Build the lumped finite element mass matrix for a diffusion
     problem.

     The equation taken into account is:

     DELTA * ZETA * u = f

     where DELTA is an element-wise constant scalar function, while
     ZETA is a piecewise linear conforming scalar function.

     See also: bim3a_rhs, bim3a_laplacian, bim2a_reaction,
     bim3a_reaction.



# name: <cell-element>
# type: sq_string
# elements: 1
# length: 68
Build the lumped finite element mass matrix for a diffusion problem.



# name: <cell-element>
# type: sq_string
# elements: 1
# length: 9
bim3a_rhs


# name: <cell-element>
# type: sq_string
# elements: 1
# length: 420
 -- Function File: [B] = bim3a_rhs (MESH, F, G)
     Build the finite element right-hand side of a diffusion problem
     employing mass-lumping.

     The equation taken into account is:

     DELTA * u =  F * G

     where F is an element-wise constant scalar function, while G is a
     piecewise linear conforming scalar function.

     See also: bim3a_reaction, bim3_laplacian, bim1a_reaction,
     bim2a_reaction.



# name: <cell-element>
# type: sq_string
# elements: 1
# length: 80
Build the finite element right-hand side of a diffusion problem
employing mass-l



# name: <cell-element>
# type: sq_string
# elements: 1
# length: 17
bim3c_global_flux


# name: <cell-element>
# type: sq_string
# elements: 1
# length: 457
 -- Function File: [F] = bim3c_global_flux (MESH, U, ALPHA, V)
     Compute the flux associated with the Scharfetter-Gummel
     approximation  of the scalar field U.

     The vector field is defined as:

     F =- ALPHA ( grad (u) - grad (V) u )

     where V is a piecewise linear continuous scalar  functions and
     ALPHA is a piecewise constant scalar function.

     See also: bim3a_rhs, bim3a_reaction, bim3a_laplacian,
     bim3c_mesh_properties.



# name: <cell-element>
# type: sq_string
# elements: 1
# length: 80
Compute the flux associated with the Scharfetter-Gummel approximation
of the sca



# name: <cell-element>
# type: sq_string
# elements: 1
# length: 11
bim3c_intrp


# name: <cell-element>
# type: sq_string
# elements: 1
# length: 295
 -- Function File: DATA = bim3c_intrp (MSH, N_DATA, E_DATA, POINTS)
     Compute interpolated values of node centered multicomponent node
     centered field N_DATA and  cell centered field N_DATA at an
     arbitrary set of points whos coordinates are given in the  n_by_3
     matrix  POINTS.



# name: <cell-element>
# type: sq_string
# elements: 1
# length: 80
Compute interpolated values of node centered multicomponent node
centered field 



# name: <cell-element>
# type: sq_string
# elements: 1
# length: 21
bim3c_mesh_properties


# name: <cell-element>
# type: sq_string
# elements: 1
# length: 217
 -- Function File: [OMESH] = bim3c_mesh_properties(IMESH)
     Compute the properties of IMESH needed by BIM method and append
     them to OMESH as fields.

     See also: bim3a_reaction, bim3a_rhs, bim3a_laplacian.



# name: <cell-element>
# type: sq_string
# elements: 1
# length: 80
Compute the properties of IMESH needed by BIM method and append them to
OMESH as



# name: <cell-element>
# type: sq_string
# elements: 1
# length: 10
bim3c_norm


# name: <cell-element>
# type: sq_string
# elements: 1
# length: 781
 -- Function File: [NORM_U] = bim3c_norm(MESH,U,NORM_TYPE)
     Compute the NORM_TYPE-norm of function U on the domain described
     by the tetrahedral grid MESH.

     The input function U can be either a piecewise linear conforming
     scalar  function or an elementwise constant scalar or vector
     function.

     The string parameter NORM_TYPE can be one among 'L2', 'H1' and
     'inf'.

     Should the input function be piecewise constant, the H1 norm will
     not be  computed and the function will return an error message.

     For the numerical integration of the L2 norm the second order
     quadrature rule  by Keast is used (ref. P. Keast, Moderate degree
     tetrahedral quadrature  formulas, CMAME 55: 339-348 1986).

     See also: bim1c_norm, bim2c_norm.



# name: <cell-element>
# type: sq_string
# elements: 1
# length: 80
Compute the NORM_TYPE-norm of function U on the domain described  by
the tetrahe



# name: <cell-element>
# type: sq_string
# elements: 1
# length: 18
bim3c_pde_gradient


# name: <cell-element>
# type: sq_string
# elements: 1
# length: 181
 -- Function File: [GX, GY, GZ] = bim3c_pde_gradient(MESH,U)
     Compute the gradient of the piecewise linear conforming scalar
     function U.

     See also: bim3c_global_flux.



# name: <cell-element>
# type: sq_string
# elements: 1
# length: 74
Compute the gradient of the piecewise linear conforming scalar
function U.



# name: <cell-element>
# type: sq_string
# elements: 1
# length: 18
bim3c_tri_to_nodes


# name: <cell-element>
# type: sq_string
# elements: 1
# length: 625
 -- Function File: U_NOD = bim3c_tri_to_nodes (MESH, U_TRI)
 -- Function File: U_NOD = bim3c_tri_to_nodes (M_TRI, U_TRI)
 -- Function File: [U_NOD, M_TRI] = bim3c_tri_to_nodes ( ... )
     Compute interpolated values at triangle nodes U_NOD given values
     at tetrahedral centers of mass U_TRI.   If called with more than
     one output, also return the interpolation matrix M_TRI such that
     `u_nod = m_tri * u_tri'.   If repeatedly performing interpolation
     on the same mesh the matrix M_TRI obtained by a previous call  to
     `bim2c_tri_to_nodes' may be passed as input to avoid unnecessary
     computations.



# name: <cell-element>
# type: sq_string
# elements: 1
# length: 80
Compute interpolated values at triangle nodes U_NOD given values at
tetrahedral 



# name: <cell-element>
# type: sq_string
# elements: 1
# length: 23
bim3c_unknowns_on_faces


# name: <cell-element>
# type: sq_string
# elements: 1
# length: 256
 -- Function File: [NODELIST] = bim3c_unknowns_on_faces(MESH,FACELIST)
     Return the list of the mesh nodes that lie on the geometrical faces
     specified in FACELIST.

     See also: bim3c_unknown_on_faces, bim2c_pde_gradient,
     bim2c_global_flux.



# name: <cell-element>
# type: sq_string
# elements: 1
# length: 80
Return the list of the mesh nodes that lie on the geometrical faces
specified in



# name: <cell-element>
# type: sq_string
# elements: 1
# length: 14
bimu_bernoulli


# name: <cell-element>
# type: sq_string
# elements: 1
# length: 169
 -- Function File: [BP, BN] = bimu_bernoulli (X)
     Compute the values of the Bernoulli function corresponding to X
     and - X arguments.

     See also: bimu_logm.



# name: <cell-element>
# type: sq_string
# elements: 1
# length: 80
Compute the values of the Bernoulli function corresponding to X  and -
X argumen



# name: <cell-element>
# type: sq_string
# elements: 1
# length: 9
bimu_logm


# name: <cell-element>
# type: sq_string
# elements: 1
# length: 138
 -- Function File: [T] = bimu_logm (T1,T2)
     Input:
        - T1:

        - T2:

     Output:
        - T:

     See also: bimu_bern.



# name: <cell-element>
# type: sq_string
# elements: 1
# length: 15
Input:
   - T1:





