|
Feellgood
|
Directories |
Files | |
| file | electrostatSolver.h [code] |
| solver for electrostatic problem when spin accumulation is required header containing electrostatSolver class. It uses biconjugate stabilized gradient with diagonal preconditioner. The solver is only called once to compute voltages V for each nodes of the mesh, when spin accumulation computation is involved. | |
| file | facette.h [code] |
| contains namespace Facette header containing Fac class, and some constants and a less_than operator to redo orientation of triangular faces | |
| file | fem.h [code] |
| principal header, contains the struct fem This file is called by many source files in feellgood. It does also contains the definition of many constants for the solver, and for scalfmm | |
| file | fmm_demag.h [code] |
| this header is the interface to scalfmm. Its purpose is to prepare an octree for the application of the fast multipole algorithm, and to compute the scalar magnetic potential and the demagnetizing field. | |
| file | linear_algebra.h [code] |
| secondary header, it grabs altogether the linear algebra by the solver to apply fem method It encapsulates the calls to algebra BiCGSTAB solver, the assemblage and projection of the matrix for all elements projection and matrix assembly is multithreaded for tetrahedron, monothread for facette | |
| file | mesh.h [code] |
| class mesh, readMesh is expecting a mesh file in gmsh format either text or binary, from version 2.2 to the latest 4.1. The mesh has to use only first order tetraedrons and triangular facettes, mixed meshes are not allowed. | |
| file | node.h [code] |
| header to define struct Node | |
| file | settings.h [code] |
| many settings to give some parameters to the solver, boundary conditions for the problem, the output file format wanted by the user. This is done mainly with the class Settings. | |
| file | solver.h [code] |
| two templates to fill matrix and vectors in various dimensionnality situations. DIM_PROBLEM = 1 is used for electrostatics (V) DIM_PROBLEM = 3 is used for spin accumulation (Q has three components) Warning : DIM_PROBLEM = 2 cannot be used for micromagnetic problem. The latter is solved in the tangent plane of the magnetization plane, leading to a different indices computation and matrix filling than here. TODO: these templates could be specialized for DIM_PROBLEM = 2 (see warning above) | |
| file | tetra.h [code] |
| namespace Tetra header containing Tet class, some constants, and integrales | |