|
Toast++
1.0.2 (r.539)
Forward and inverse modelling in optical tomography
|
Finite-element mesh management. More...
#include <mesh_mpi.h>
Classes | |
| struct | GraphData |
Public Member Functions | |
| void | Setup (bool mark_boundary=true) |
| void | NodeToElementMap (int **nndel, int ***ndel) const |
| GraphData * | GetGraphData () |
| void | Partition (struct Zoltan_Struct *zz) |
| void | Migrate (struct Zoltan_Struct *zz) |
| Zoltan_DD_Struct * | ZoltanDictionary () |
| int | GetOwnedElements (int **_ellist) const |
| int | GetNodeTypeList (int **_ntp) const |
| void | AddToElMatrix (int el, CCompRowMatrixMPI &M, RVector *coeff, int mode) const |
| void | AddToSysMatrix (CCompRowMatrixMPI &M, RVector *coeff, int mode) const |
| int * | Parts () const |
| ZOLTAN_ID_PTR | Lids () const |
Public Member Functions inherited from QMMesh | |
| void | SetupQM (const Point *q, int nq, const Point *m, int nm, const ICompRowMatrix *linklist=NULL) |
| void | LoadQM (std::istream &is) |
| void | ScaleMesh (double scale) |
| void | ScaleMesh (const RVector &scale) |
| bool | Connected (int q, int m) const |
| bool | Connected (int qm) const |
| int | Meas (int q, int m) const |
| void | GetMesh (std::istream &i) |
| void | PutMesh (std::ostream &o) |
Public Member Functions inherited from Mesh | |
| Mesh () | |
| Constructs an empty mesh. More... | |
| void | Setup (bool mark_boundary=true) |
| void | Copy (const Mesh &mesh) |
| int | Dimension () const |
| Mesh dimension. More... | |
| int | nlen () const |
| Number of mesh nodes. More... | |
| int | elen () const |
| Number of mesh elements. More... | |
| int | ilen () const |
| int | nbnd () const |
| RDenseMatrix | ElGeom (int el) const |
| double | ElSize (int el) const |
| Point | ElCentre (int el) const |
| Point | ElSideCentre (int el, int sd) const |
| double | ElSideSize (int el, int sd) const |
| RVector | ElDirectionCosine (int el, int sd, Point *p=0) const |
| double | FullSize () const |
| Returns the mesh area or volume. More... | |
| int | ElFind (const Point &pt) const |
| int | NdFind (const Point &pt, double &dist) const |
| void | Reorder (const IVector &perm) |
| Re-order mesh nodes. More... | |
| double | ElDist (int el1, int el2) const |
| double | ParamAverage (const ParameterType prmtp) const |
| int | MaxNodeDiff (int mode=BW_AUTO) const |
| Point | NeighbourBarycentre (int node) |
| void | SparseRowStructure (idxtype *&rowptr, idxtype *&colidx, int &nzero) const |
| void | NeighbourCount (int *plist, int nnode, bool include_self=false) const |
| void | SysMatrixStructure (int *nz, int **row_ind, int **col_ind) |
| int | FindBoundarySegment (const Point &p, int *n1, int *n2, double *dist1, double *dist2) const |
| double | BoundaryDistance (int node) const |
| int | BoundaryList (int **bndellist, int **bndsdlist) const |
| bool | PullToBoundary (const Point &p, Point &pshift, int &element, int &side, double sub=0) const |
| bool | PullToBoundary_old (const Point &p, Point &pshift, int &element, int &side, double sub=0) const |
| void | SetupNeighbourList () const |
| void | NodeNeighbourList (int **_nnbhrs, int ***_nbhrs) const |
| bool | ElConnected (int el1, int el2, int *sd1=NULL, int *sd2=NULL) |
| Checks if two mesh elements have a common side. More... | |
| double | Size (Point *centre=0) const |
| void | BoundingBox (Point &mmin, Point &mmax, double pad=0.0) const |
| Point | BndIntersect (const Point &pt1, const Point &pt2) |
| void | ResetCoeff_homog (ParameterType prmtp, double val) |
| void | ResetCoeff_region (ParameterType prmtp, double val, int region) |
| void | ResetCoeff_sqrt (ParameterType prmtp, double cnt, double bnd) |
| int | CheckConsistency () const |
| void | MarkBoundary () |
| RCompRowMatrix * | MassMatrix () const |
| Returns the mass matrix for the mesh. More... | |
| void | put (std::ostream &os, ParameterType p1=PRM_MUA, ParameterType p2=PRM_KAPPA, ParameterType p3=PRM_N) |
| void | WriteVtk (ostream &os, const RVector &nim) |
| Surface * | Boundary () const |
| void | SetBoundary (const Surface &_boundary) |
| void | PopulateNeighbourLists () |
| void | InitSubdivisionSupport () |
| int | RefineElement (int el) |
| Refine an element by subdivision. More... | |
Protected Member Functions | |
| void | ComputeNodeToElementMap (int **nndel, int ***ndel) const |
| void | ClearNodeToElementMap () |
| void | ComputeElementList (ZOLTAN_ID_TYPE *gid, int ngid, int **_ellist, int *_nel) const |
| void | ComputeNodeTypeList (int **ntype) const |
| void | ComputePartition (GraphData *graph) |
| void | CreateZoltanDictionary () |
Additional Inherited Members | |
Public Attributes inherited from QMMesh | |
| int | nQ |
| int | nM |
| int | nQM |
| Point * | Q |
| Point * | M |
| Point * | QN |
| Point * | MN |
| int * | nQMref |
| int ** | QMref |
| int * | Qofs |
| int ** | QMofs |
| int * | Mel |
| RDenseMatrix * | Mcosingder |
| RVector * | source_profile |
| RVector * | meas_profile |
| bool | fixed_q_pos |
| bool | fixed_m_pos |
| bool | external_m_pos |
| bool | external_q_pos |
| MProfileType * | mptype |
| double * | mwidth |
| double * | msup |
| MProfileType * | qptype |
| double * | qwidth |
| double * | qsup |
Public Attributes inherited from Mesh | |
| NodeList | nlist |
| ElementList | elist |
| ParameterList | plist |
| int ** | nbhrs |
| int | BndType |
| bool | trap_load_error |
| RVector * | bnd_param |
| int * | IndexBnd2Node |
| int * | IndexNode2Bnd |
Finite-element mesh management.
Defines node coordinates (via NodeList) and element connectivity (via ElementList) and provides general mesh-related methods. This version also defines node-based parameter coefficient sets for optical tomography (via ParameterList), but this should be removed.
1.8.6