class pybamm.Mesh(geometry, submesh_types, var_pts)[source]

Mesh contains a list of submeshes on each subdomain.

Extends: dict

  • geometry – contains the geometry of the problem.

  • submesh_types (dict) – contains the types of submeshes to use (e.g. Uniform1DSubMesh)

  • submesh_pts (dict) – contains the number of points on each subdomain


Create meshes for potential ghost nodes on either side of each submesh, using self.submeshclass This will be useful for calculating the gradient with Dirichlet BCs.


Combine submeshes into a new submesh, using self.submeshclass Raises pybamm.DomainError if submeshes to be combined do not match up (edges are not aligned).


submeshnames (list of str) – The names of the submeshes to be combined


submesh – A new submesh with the class defined by self.submeshclass

Return type


class pybamm.SubMesh[source]

Base submesh class. Contains the position of the nodes, the number of mesh points, and (optionally) information about the tab locations.

class pybamm.MeshGenerator(submesh_type, submesh_params=None)[source]

Base class for mesh generator objects that are used to generate submeshes.

  • submesh_type (pybamm.SubMesh) – The type of submesh to use (e.g. Uniform1DSubMesh).

  • submesh_params (dict, optional) – Contains any parameters required by the submesh.