Name

FastFourierSolver — The FFT-based Poisson solver.

Synopsis

Namespace: NanoLanguage
FastFourierSolver(boundary_conditions)

Description

Constructor for a FFT-based Poisson solver.

FastFourierSolver Arguments

boundary_conditions

The boundary conditions for the FFT solver.

Type: A list of shape (3,2) specifying the boundary conditions on the 6 surfaces of the unit cell for the configuration.

Default: [[PeriodicBoundaryCondition]*2]*3

FastFourierSolver Methods

A FastFourierSolver object provides the following methods:

Usage Examples

Define a multi-grid solver with specified boundary conditions on the 6 faces

poisson_solver = Fastfouriersolver(
    boundary_conditions=[[DirichletBoundaryCondition, NeumannBoundaryCondition  ],
                         [DirichletBoundaryCondition, DirichletBoundaryCondition],
                         [PeriodicBoundaryCondition , PeriodicBoundaryCondition ]]
    )

calculator = HuckelCalculator(poisson_solver=poisson_solver)

Define a multi-grid solver with specified boundary conditions in the A, B, and C-direction, but similar boundary conditions on opposite faces.

poisson_solver = Fastfouriersolver(
    boundary_conditions=[DirichletBoundaryCondition,
                         DirichletBoundaryCondition,
                         PeriodicBoundaryCondition ]
    )

calculator = HuckelCalculator(poisson_solver=poisson_solver)

Notes