File laplacexz.hxx

Typedefs

using RegisterLaplaceXZ = LaplaceXZFactory::RegisterInFactory<DerivedType>
using RegisterUnavailableLaplaceXZ = LaplaceXZFactory::RegisterUnavailableInFactory
class LaplaceXZFactory : public Factory<LaplaceXZ, LaplaceXZFactory, Mesh*, Options*, CELL_LOC>

Public Functions

inline ReturnType create(Mesh *mesh = nullptr, Options *options = nullptr, CELL_LOC loc = CELL_CENTRE) const
inline ReturnType create(const std::string &type, Options *options) const

Public Static Functions

static void ensureRegistered()

Public Static Attributes

static constexpr auto type_name = "LaplaceXZ"
static constexpr auto section_name = "laplacexz"
static constexpr auto option_name = "type"
static constexpr auto default_type = "cyclic"
class LaplaceXZ

Subclassed by LaplaceXZcyclic, LaplaceXZpetsc

Public Functions

inline LaplaceXZ(Mesh *m = nullptr, Options *options = nullptr, const CELL_LOC loc = CELL_CENTRE)
virtual ~LaplaceXZ() = default
virtual void setCoefs(const Field2D &A, const Field2D &B) = 0
inline virtual void setCoefs(const Field3D &A, const Field3D &B)
virtual Field3D solve(const Field3D &b, const Field3D &x0) = 0

Public Static Functions

static inline std::unique_ptr<LaplaceXZ> create(Mesh *m = nullptr, Options *opt = nullptr, CELL_LOC loc = CELL_CENTRE)

Protected Attributes

Mesh *localmesh

The mesh this operates on, provides metrics and communication.

CELL_LOC location

Protected Static Attributes

static const int INVERT_DC_GRAD = 1
static const int INVERT_AC_GRAD = 2
static const int INVERT_SET = 16
static const int INVERT_RHS = 32