pymor.domaindescriptions package

Submodules

basic module


class pymor.domaindescriptions.basic.CircleDomain(domain=(0, 1))[source]

Bases: pymor.domaindescriptions.interfaces.DomainDescriptionInterface

Describes a domain with the topology of a circle, i.e. a line with identified end points.

Parameters

domain

List [x_l, x_r] providing the left and right endpoint.

domain

class pymor.domaindescriptions.basic.CylindricalDomain(domain=([0, 0], [1, 1]), top='dirichlet', bottom='dirichlet')[source]

Bases: pymor.domaindescriptions.interfaces.DomainDescriptionInterface

Describes a cylindrical domain.

Boundary types can be associated edgewise.

Parameters

domain

List of two points defining the lower-left and upper-right corner of the domain. The left and right edge are identified.

top

The boundary type of the top edge.

bottom

The boundary type of the bottom edge.

Attributes

CylindricalDomain

bottom, diameter, dim, domain, height, lower_left, top, upper_right, volume, width

DomainDescriptionInterface

boundary_types, has_dirichlet, has_neumann, has_robin

ImmutableInterface

sid, sid_ignore

BasicInterface

logger, logging_disabled, name, uid

domain
top
bottom

class pymor.domaindescriptions.basic.LineDomain(domain=(0, 1), left='dirichlet', right='dirichlet')[source]

Bases: pymor.domaindescriptions.interfaces.DomainDescriptionInterface

Describes an interval domain.

Boundary types can be associated edgewise.

Parameters

domain

List [x_l, x_r] providing the left and right endpoint.

left

The boundary type of the left endpoint.

right

The boundary type of the right endpoint.

domain
left
right

class pymor.domaindescriptions.basic.RectDomain(domain=([0, 0], [1, 1]), left='dirichlet', right='dirichlet', top='dirichlet', bottom='dirichlet')[source]

Bases: pymor.domaindescriptions.interfaces.DomainDescriptionInterface

Describes a rectangular domain.

Boundary types can be associated edgewise.

Parameters

domain

List of two points defining the lower-left and upper-right corner of the domain.

left

The boundary type of the left edge.

right

The boundary type of the right edge.

top

The boundary type of the top edge.

bottom

The boundary type of the bottom edge.

Attributes

RectDomain

bottom, diameter, dim, domain, height, left, lower_left, right, top, upper_right, volume, width

DomainDescriptionInterface

boundary_types, has_dirichlet, has_neumann, has_robin

ImmutableInterface

sid, sid_ignore

BasicInterface

logger, logging_disabled, name, uid

domain
left
right
top
bottom

class pymor.domaindescriptions.basic.TorusDomain(domain=([0, 0], [1, 1]))[source]

Bases: pymor.domaindescriptions.interfaces.DomainDescriptionInterface

Describes a domain with the topology of a torus.

Parameters

domain

List of two points defining the lower-left and upper-right corner of the domain. The left and right edge are identified, as well as the bottom and top edge

Attributes

TorusDomain

diameter, dim, domain, height, lower_left, upper_right, volume, width

DomainDescriptionInterface

boundary_types, has_dirichlet, has_neumann, has_robin

ImmutableInterface

sid, sid_ignore

BasicInterface

logger, logging_disabled, name, uid

domain

interfaces module


class pymor.domaindescriptions.interfaces.DomainDescriptionInterface[source]

Bases: pymor.core.interfaces.ImmutableInterface

Describes a geometric domain along with its boundary.

dim

The dimension of the domain

boundary_types

Set of boundary types the domain has.

polygonal module


class pymor.domaindescriptions.polygonal.CircularSectorDomain(angle, radius, arc='dirichlet', radii='dirichlet', num_points=100)[source]

Bases: pymor.domaindescriptions.polygonal.PolygonalDomain

Describes a circular sector domain of variable radius.

Parameters

angle

The angle between 0 and 2*pi of the circular sector.

radius

The radius of the circular sector.

arc

The boundary type of the arc.

radii

The boundary type of the two radii.

num_points

The number of points of the polygonal chain approximating the circular boundary.

angle
radius
arc
radii
num_points

class pymor.domaindescriptions.polygonal.DiscDomain(radius, boundary='dirichlet', num_points=100)[source]

Bases: pymor.domaindescriptions.polygonal.PolygonalDomain

Describes a disc domain of variable radius.

Parameters

radius

The radius of the disc.

boundary

The boundary type of the boundary.

num_points

The number of points of the polygonal chain approximating the boundary.

radius
boundary
num_points

class pymor.domaindescriptions.polygonal.PolygonalDomain(points, boundary_types, holes=None)[source]

Bases: pymor.domaindescriptions.interfaces.DomainDescriptionInterface

Describes a domain with a polygonal boundary and polygonal holes inside the domain.

Parameters

points

List of points [x_0, x_1] that describe the polygonal chain that bounds the domain.

boundary_types

Either a dictionary {boundary_type: [i_0, ...], boundary_type: [j_0, ...], ...} with i_0, ... being the ids of boundary segments for a given boundary type (0 is the line connecting point 0 to 1, 1 is the line connecting point 1 to 2 etc.), or a function that returns the boundary type for a given coordinate.

holes

List of lists of points that describe the polygonal chains that bound the holes inside the domain.

points
boundary_types
holes