Summary of Plugin Files¶
- This page contains a summary list of the files contained in the FSD plugin. A description of each of the functions contained within these files is given in List of Functions by File. The plugin files can be grouped in the following 7 categories:
- Deterministic hydrodynamic calculations
- Stochastic hydrodynamic calculations (Brownian sampling)
- Preconditioners for hydrodynamic sole and Brownian sampling
- Helper functions for simple operations, e.g. dot product and vector addition
- Files to define the C++ module for the integrator
- Functions to enable linear shear
- Files for integration of C++ with python
All the .cuh
files that are not listed here are simply the header files defining the functions contained in the associated .cu
file, e.g. Mobility.cuh
is the header file containing the definition of the functions in Mobility.cu
.
Deterministic Hydrodynamics¶
Lubrication.cu
- Near-field (lubrication) resistance functionsMobility.cu
- Far-field mobility calculationsSaddle.cu
- Saddle point multiplication and solutionSolvers.cu
- Methods to perform required matrix inversionsWrappers.cuh
- C++ wrapper definitions for CUSP operations
Brownian Sampling¶
Brownian_FarField.cu
- Methods to compute the far-field Brownian displacementsBrownian_NearField.cu
- Methods to compute the near-field Brownian forcesIntegrator.cu
- Integrator wrappers, explicit Euler, RFD, etc.
Preconditioning¶
Precondition.cu
- Build the saddle point and near-field Brownian preconditionersrcm.cpp
- Reverse Cuthill-Mckee reordering for sparse matrices
Helper Functions¶
DataStruct.h
- Defines data structures to hold array points for various components of the calculation.Helper_Brownian.cu
- Helper functions used in Brownian_FarField.cu and Brownian_NearField.cuHelper_Debug.cu
- Functions for debugging and code checking, printing output, etc.Helper_Integrator.cu
- Helper functions to simplify code in Integrator.cuHelper_Mobility.cu
- Helper functions for mobility calculations in Mobility.cuHelper_Precondition.cu
- Helper functions for preconditioning calcualtionsHelper_Saddle.cu
- Helper functions for saddle point matrix calculationsHelper_Stokes.cu
- Helper functions for two-step Stokes integrator
C++ Module Definition¶
Stokes.cc
- C++ module to set up the method and run the integratorStokes.cu
- Driver function for integrationStokes_ResistanceTable.cc
- Values for pre-computed tabulation of lubrication functionsStokes_SparseMath.cc
- Initialization and setup of variables required for sparse operations
Linear Shear¶
ShearFunction.cc
- C++ module for functions to apply linear shear to the simulation boxShearFunction.h
- Header file defining the abstract class for time-dependent shearing functions inShearFunction.h
ShearFunctionWrap.cc
- Wrapper files for the definitions inShearFunction.cc
ShearFunctionWrap.h
- Header file forShearFunction.cc
SpecificShearFunction.cc
- C++ module with specific forms of the shearing functions (linear, sinusoidal, chirp) defined generically inShearFunction.cc
SpecificShearFunction.h
- Header file for each of the shearing forms specified inSpecificShearFunction.cc
VariantShearFunction.cc
- Abstract definition for C++ module for time-dependent shearing functionsVariantShearFunction.h
- Header fo;e for the time-dependent shear class inVariantShearFunction.cc
Class Definitions for Python¶
integrate.py
- Python module definition for the FSD integratorshear_function.py
- Python module for specifying the shear functions.variant.py
- Python class to change size of simulation box as given by a specific shear function.__init__.py
- Marks the directory as a python module, and imports the integrate, shear_function, and variant modules defined inintegrate.py
,shear_function.py
, andvariant.py
, respectively.module.cc
- Specifies the python module and exports C++ classes for use by python.