Skip to content

puncturedfem.BilinearForm

Bilinear form for a diffusion-reaction equation.

Represents a bilinear form of the form a(u, v) = (D grad u, grad v) + (R u, v) where D is the diffusion constant, R is the reaction constant. Also includes a right-hand side Polynomial f, so that the weak problem is a(u, v) = (D grad u, grad v) + (R u, v) = (f, v) for all v in V.

Attributes:

Name Type Description
diffusion_constant float

Diffusion constant D

reaction_constant float

Reaction constant R

rhs_poly Polynomial

Right-hand side Polynomial f

__init__(diffusion_constant, reaction_constant, rhs_poly)

Initialize the BilinearForm object.

Parameters:

Name Type Description Default
diffusion_constant float

Diffusion constant D

required
reaction_constant float

Reaction constant R

required
rhs_poly Polynomial

Right-hand side Polynomial f

required

__str__()

Return a string representation of the bilinear form.

eval(u, v)

Evaluate the bilinear form on two LocalPoissonFunction objects u and v.

Parameters:

Name Type Description Default
u LocalPoissonFunction

The first LocalPoissonFunction object

required
v LocalPoissonFunction

The second LocalPoissonFunction object

required

eval_h1(u, v)

Return the H^1 semi-inner product of two LocalPoissonFunction objects u and v.

Parameters:

Name Type Description Default
u LocalPoissonFunction

The first LocalPoissonFunction object

required
v LocalPoissonFunction

The second LocalPoissonFunction object

required

eval_l2(u, v)

Return the L^2 inner product of two LocalPoissonFunction objects u and v.

Parameters:

Name Type Description Default
u LocalPoissonFunction

The first LocalPoissonFunction object

required
v LocalPoissonFunction

The second LocalPoissonFunction object

required

eval_rhs(v)

Evaluate the right-hand side polynomial f on a LocalPoissonFunction object v.

Parameters:

Name Type Description Default
v LocalPoissonFunction

The LocalPoissonFunction object against which to integrate f.

required

eval_with_h1_and_l2(h1, l2)

Get the bilinear form a(u,v) given h1 and l2 inner products.

Parameters:

Name Type Description Default
h1 float

The H^1 semi-inner product (grad u, grad v)

required
l2 float

The L^2 inner product (u, v)

required

set_diffusion_constant(diffusion_constant)

Set the diffusion constant D.

Parameters:

Name Type Description Default
diffusion_constant float

The diffusion constant D

required

set_reaction_constant(reaction_constant)

Set the reaction constant R.

Parameters:

Name Type Description Default
reaction_constant float

The reaction constant R

required

set_rhs_poly(f_poly)

Set the right-hand side polynomial f.

Parameters:

Name Type Description Default
f_poly Polynomial

The right-hand side polynomial f

required