... | ... | @@ -43,14 +43,54 @@ Proposed enumeration for documents: |
|
|
1001-1199 - Reserved for Domain class, using external tools to make domains, import/export of domain, examples
|
|
|
|
|
|
|
|
|
1200-1299 - working with Mesh class in serial, using external tools to make meshes, import/export of mesh, hierarchy traversal, using markers, working with mesh data, setting geometric services, diagnosing mesh problems, building meshes on your own preserving elements orientation, using services for mesh modification, handling high order elements, examples
|
|
|
|
|
|
|
|
|
1300-1399 - working with Mesh class in parallel, exchanging mesh data, defining reduction functions, common problems in parallel, modifying mesh in parallel
|
|
|
|
|
|
1200-1299 - working with Mesh class in serial:
|
|
|
|
|
|
* using external tools to make meshes (link to gmsh, tetgen, ani3d and other public-domain meshers, some link on how to use them),
|
|
|
* import/export of mesh (file formats supported for serial use, description of Mesh::Save, Mesh::Load, Mesh::SetFileOption, Mesh::GetFileOption)
|
|
|
* traversal of adjacency hierarhy, organisation of hierarchy
|
|
|
* types of supported elements, concept of element as interface for data, hierarchy
|
|
|
* how to get elements, number of elements, iterate through them (cover getAdjElements, nbAdjElements), getNodes, getEdges, getFaces, getCells, ElementArray::iterator)
|
|
|
* using markers, safely releasing markers
|
|
|
* using markers to traverse subsets of ierarhy
|
|
|
* advanced hierarchy traversal (BridgeAdjacencies, Face::Neighbour)
|
|
|
* computing unions, intersections, differences (class ElementArray functionality)
|
|
|
* direct access to hierarchy (HighConn,LowConn)
|
|
|
* converting element interface for access to functionality (getAsNode, getAsEdge, getAsFace, getAsCell)
|
|
|
* associate tags with the data, parameters and limitations (cover CreateTag, DeleteTag)
|
|
|
* working with mesh data, basic approach (GetData, GetDataSize, SetData, SetDataSize)
|
|
|
* interface for direct access to mesh data (Real,Integer,Bulk, RealArray,...)
|
|
|
* extended description for Reference, ReferenceArray data types
|
|
|
* creating mesh sets, adding and deleting elements, iterating through elements (class ElementArray, GetName, PutElement(s), RemoveElement(s), ElementArray::iterator)
|
|
|
* operations on sets (Union,Difference,Intersect,AddElements)
|
|
|
* working with sorted sets, behaviour (SortSet)
|
|
|
* hierarchy of sets as general tree structures (GetParent,GetSibling,GetChild,AddSibling,AddChild,...)
|
|
|
* setting and using geometric services (PrepareGeometricData,RemoveGeometricData,Cell::Volume,Face::Area...)
|
|
|
* diagnosing mesh problems (SetTopologyError, GetTopologyError)
|
|
|
* building meshes on your own, preserving elements orientation (CreateNode,CreateEdge,CreateFace,CreateCell)
|
|
|
* using services for mesh modification (Show,Hide,Delete,Connect,Disconnect,SplitEdge,UniteEdges,SplitFace,UniteFaces,SplitCell,UniteCells, BeginModification, ApplyModification, EndModification)
|
|
|
* examples
|
|
|
|
|
|
|
|
|
1300-1399 - working with Mesh class in parallel
|
|
|
|
|
|
* supported mesh formats for parallel use, how to load serial meshes for parallel use
|
|
|
* concept of ghost, shared and owned elements, accessing parallel information (GetStatus,SetStatus,OwnerTag,ProcessorsTag,Layerstag,BridgeTag)
|
|
|
* valid parallel state for mesh, prepearing mesh for parallel use (ResolveShared)
|
|
|
* exchanging ghost elements (ExchangeGhost,Layerstag,BridgeTag)
|
|
|
* prescribing elements to become ghosted (ExchangeMarked,SendtoTag)
|
|
|
* exchanging mesh data from shared elements to ghosted elements (ExchangeData, ExchangeDataBegin, ExchangeDataEnd)
|
|
|
* exchanging data the other way, defining reduction functions (ReduceData, ReduceDataBegin, ReduceDataEnd)
|
|
|
* modifying mesh in parallel (ResolveModification)
|
|
|
* redistributing mesh elements (Redistribute,RedistributeTag)
|
|
|
* common problems in parallel, some scenarios of incorrect use
|
|
|
* examples
|
|
|
|
|
|
1400-1499 - using Partitioner class to split mesh among processors, examples
|
|
|
|
|
|
* using Partitioner to distribute or redistribute mesh
|
|
|
* choosing ParMetis, Zoltan
|
|
|
* providing weights
|
|
|
* examples
|
|
|
|
|
|
1500-1599 - user guide for Solver class:
|
|
|
|
... | ... | |