Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 8 additions & 2 deletions docs/source/solvers.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,14 @@

Available solvers
=================

The following solvers are available in libMobility.
Solvers must be instantiated with the type of boundary in each direction (X, Y, and Z). Each periodicity condition can be one of the following:
- open: No periodicity in the corresponding direction.
- unspecified: The periodicity is not specified.
- single_wall: The system is bounded by a single wall in the corresponding direction.
- two_walls: The system is bounded by two walls in the corresponding direction.
- periodic: The system is periodic in the corresponding direction.

All solvers support a subset of periodicity conditions. The description for each solver below will descript supported periodicities. The following solvers are available in libMobility.

Self Mobility
-------------
Expand Down
24 changes: 2 additions & 22 deletions include/MobilityInterface/pythonify.h
Original file line number Diff line number Diff line change
Expand Up @@ -144,26 +144,6 @@ auto setup_arrays(Solver &myself, pyarray_c &forces, pyarray_c &torques) {
return std::make_tuple(f, t, mf, mt);
}

const char *constructor_docstring = R"pbdoc(
Initialize the module with a given set of periodicity conditions.

Each periodicity condition can be one of the following:
- open: No periodicity in the corresponding direction.
- unspecified: The periodicity is not specified.
- single_wall: The system is bounded by a single wall in the corresponding direction.
- two_walls: The system is bounded by two walls in the corresponding direction.
- periodic: The system is periodic in the corresponding direction.

Parameters
----------
periodicityX : str
Periodicity condition in the x direction.
periodicityY : str
Periodicity condition in the y direction.
periodicityZ : str
Periodicity condition in the z direction.
)pbdoc";

const char *initialize_docstring = R"pbdoc(
Initialize the module with a given set of parameters.

Expand Down Expand Up @@ -372,8 +352,8 @@ auto define_module_content(
auto solver = py::class_<MODULENAME>(m, name, documentation);

solver
.def(nb::new_(&call_construct<MODULENAME>), constructor_docstring,
"periodicityX"_a, "periodicityY"_a, "periodicityZ"_a)
.def(nb::new_(&call_construct<MODULENAME>), "periodicityX"_a,
"periodicityY"_a, "periodicityZ"_a)
.def("initialize", call_initialize<MODULENAME>, initialize_docstring,
"viscosity"_a, "hydrodynamicRadius"_a, "includeAngular"_a = false,
"tolerance"_a = 1e-4)
Expand Down