# doc-cache created by Octave 4.2.0
# 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: 844
 -- 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: 610
 -- 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: 1270
 -- 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: 768
 -- 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: 467
 -- 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: 594
 -- 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: 575
 -- 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
triangul



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


# name: <cell-element>
# type: sq_string
# elements: 1
# length: 1662
 -- 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: 603
 -- 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: 1403
 -- 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: 796
 -- 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: 1061
 -- 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: 472
 -- 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: 862
 -- 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: 277
 -- 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: 686
 -- 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
triangul



# 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: 614
 -- 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: 469
 -- 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: 656
 -- 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-adv



# 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: 419
 -- 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: 455
 -- 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: 292
 -- 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: 778
 -- 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
tetrahed



# 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: 622
 -- 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
argument



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


# name: <cell-element>
# type: sq_string
# elements: 1
# length: 137
 -- 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: 24
Input:
   - T1:
   - T2:





