forked from jan/opencl_fdfd
readme updates
This commit is contained in:
parent
4b798893bc
commit
2130b015fd
18
README.md
18
README.md
@ -6,10 +6,10 @@ electromagnetic solver implemented in Python and OpenCL.
|
|||||||
|
|
||||||
**Capabilities:**
|
**Capabilities:**
|
||||||
* Arbitrary distributions of the following:
|
* Arbitrary distributions of the following:
|
||||||
* Dielectric constant (```epsilon```)
|
* Dielectric constant (`epsilon`)
|
||||||
* Magnetic permeabilty (```mu```)
|
* Magnetic permeabilty (`mu`)
|
||||||
* Perfect electric conductor (```PEC```)
|
* Perfect electric conductor (`PEC`)
|
||||||
* Perfect magnetic conductor (```PMC```)
|
* Perfect magnetic conductor (`PMC`)
|
||||||
* Variable-sized rectangular grids
|
* Variable-sized rectangular grids
|
||||||
* Stretched-coordinate PMLs (complex cell sizes allowed)
|
* Stretched-coordinate PMLs (complex cell sizes allowed)
|
||||||
|
|
||||||
@ -17,10 +17,10 @@ Currently, only periodic boundary conditions are included.
|
|||||||
PEC/PMC boundaries can be implemented by drawing PEC/PMC cells near the edges.
|
PEC/PMC boundaries can be implemented by drawing PEC/PMC cells near the edges.
|
||||||
Bloch boundary conditions are not included but wouldn't be very hard to add.
|
Bloch boundary conditions are not included but wouldn't be very hard to add.
|
||||||
|
|
||||||
The default solver ```opencl_fdfd.cg_solver(...)``` located in main.py
|
The default solver `opencl_fdfd.cg_solver(...)` located in main.py
|
||||||
implements the E-field wave operator directly (ie, as a list of OpenCL
|
implements the E-field wave operator directly (ie, as a list of OpenCL
|
||||||
instructions rather than a matrix). Additionally, there is a slower
|
instructions rather than a matrix). Additionally, there is a slower
|
||||||
(and slightly more versatile) solver in ```csr.py``` which attempts to solve
|
(and slightly more versatile) solver in `csr.py` which attempts to solve
|
||||||
an arbitrary sparse matrix in compressed sparse row (CSR) format using
|
an arbitrary sparse matrix in compressed sparse row (CSR) format using
|
||||||
the same conjugate gradient method as the default solver. The CSR solver
|
the same conjugate gradient method as the default solver. The CSR solver
|
||||||
is significantly slower, but can be very useful for testing alternative
|
is significantly slower, but can be very useful for testing alternative
|
||||||
@ -49,14 +49,14 @@ pip install git+https://mpxd.net/code/jan/opencl_fdfd.git@release
|
|||||||
|
|
||||||
## Use
|
## Use
|
||||||
|
|
||||||
See the documentation for ```opencl_fdfd.cg_solver(...)```
|
See the documentation for `opencl_fdfd.cg_solver(...)`
|
||||||
(located in ```main.py```) for details about how to call the solver.
|
(located in ```main.py```) for details about how to call the solver.
|
||||||
The FDFD arguments are identical to those in
|
The FDFD arguments are identical to those in
|
||||||
```fdfd_tools.solvers.generic(...)```, and a few solver-specific
|
`meanas.solvers.generic(...)`, and a few solver-specific
|
||||||
arguments are available.
|
arguments are available.
|
||||||
|
|
||||||
An alternate (slower) FDFD solver and a general gpu-based sparse matrix
|
An alternate (slower) FDFD solver and a general gpu-based sparse matrix
|
||||||
solver is available in ```csr.py```. These aren't particularly
|
solver is available in `csr.py`. These aren't particularly
|
||||||
well-optimized, and something like
|
well-optimized, and something like
|
||||||
[MAGMA](http://icl.cs.utk.edu/magma/index.html) would probably be a
|
[MAGMA](http://icl.cs.utk.edu/magma/index.html) would probably be a
|
||||||
better choice if you absolutely need to solve arbitrary sparse matrices
|
better choice if you absolutely need to solve arbitrary sparse matrices
|
||||||
|
Loading…
Reference in New Issue
Block a user