ug4
|
the ug namespace More...
Classes | |
struct | AABox |
struct | ab |
class | AbsoluteMarking |
marks elements above an absolute threshold (based on S. Reiter's idea) More... | |
class | ActiveSet |
Active Set method. More... | |
class | AdaptionSurfaceGridFunction |
class | AdaptiveRegularRefiner_MultiGrid |
Specialization of IRefiner for adaptive multigrid refinement with closure. More... | |
struct | AdjustEdgeLengthDesc |
class | AgglomeratingBase |
class | AgglomeratingIterator |
class | AgglomeratingPreconditioner |
class | AgglomeratingSolver |
class | AitkenNevilleTimex |
class | AlgebraDebugWriter |
Debug writer for connection viewer (based on algebraic information + vector positions only) More... | |
class | AlgebraicConnection |
class | AlgebraicConvCheck |
class | AlgebraicSpace |
struct | AlgebraID |
this type is used to identify distributed objects. More... | |
class | AlgebraLayouts |
Extends the HorizontalAlgebraLayouts by vertical layouts. More... | |
class | AlgebraType |
class describing the type of an algebra More... | |
class | AlphaMat_Expression |
class | AlphaMatVec_X_Expression |
class | AlphaVec_Expression |
class | AnalyzingSolver |
class | AnisotropicBalanceWeights |
The higher the volume, the higher the weight when anisotropic refinement is used... More... | |
class | APosterioriCoarsening |
class | ApproximationSpace |
base class for approximation spaces without type of algebra or dof distribution More... | |
class | Archivar |
struct | ArchiveInfo |
Provides custom information for different archives. More... | |
class | ArteExpandFracs3D |
struct | AspectRatioInfo |
Holds information on the min, max, mean, and standard deviation of a sample. More... | |
class | AssembledLinearOperator |
matrix operator based on the assembling of a problem More... | |
class | AssembledMultiGridCycle |
geometric multi grid preconditioner More... | |
class | AssembledOperator |
class | AssembledTransformingSmoother |
class | AssemblingTuner |
The AssemblingTuner class combines tools to adapt the assembling routine. More... | |
class | AssocElemIter |
Iterator that allows to traverse associated elements of a given element. More... | |
class | AttachedElementList |
A linked list of elements living in an attachment. More... | |
class | AttachedElementListIterator |
A special iterator which allows to iterate over elements in a AttachedElementList. More... | |
class | Attachment |
A generic specialization of IAttachment. More... | |
struct | attachment_info_traits |
struct | attachment_io_traits |
struct | attachment_io_traits< Attachment< bool > > |
struct | attachment_io_traits< Attachment< std::vector< T > > > |
serialization for std::vector<T> with type T - e. g. std::vector<bool> More... | |
struct | attachment_io_traits< Attachment< vector1 > > |
struct | attachment_io_traits< Attachment< vector2 > > |
struct | attachment_io_traits< Attachment< vector3 > > |
struct | attachment_io_traits< Attachment< vector4 > > |
struct | attachment_reduce_traits |
methods defined in those traits are used by ComPol_AttachmentReduce More... | |
struct | attachment_reduce_traits< double > |
struct | attachment_reduce_traits< float > |
struct | attachment_reduce_traits< MathVector< 1 > > |
struct | attachment_reduce_traits< MathVector< 2 > > |
struct | attachment_reduce_traits< MathVector< 3 > > |
struct | attachment_reduce_traits< MathVector< 4 > > |
struct | attachment_reduce_traits< std::vector< number > > |
class | attachment_traits |
define the interface that enables you to use your own types as element-types in an AttachmentPipe. More... | |
class | attachment_traits< Edge *, ElementStorage< Edge > > |
class | attachment_traits< Face *, ElementStorage< Face > > |
class | attachment_traits< Vertex *, ElementStorage< Vertex > > |
class | attachment_traits< Volume *, ElementStorage< Volume > > |
struct | attachment_value_traits |
define reference and const reference types for attachment values. More... | |
struct | attachment_value_traits< bool > |
specialization of attachment_value_traits for the bool type More... | |
class | AttachmentAccessor |
Used to access data that has been attached to an attachment pipe. More... | |
class | AttachmentDataContainer |
A generic specialization of IAttachedDataContainer. More... | |
struct | AttachmentEntry |
This struct is used by AttachmentPipe in order to manage its attachments. More... | |
class | AttachmentPipe |
Handles data which has been attached to the pipe using callbacks for the element. More... | |
class | AttachmentUnequal |
This class can be used in Element callbacks. More... | |
class | AutoLinearSolver |
linear solver using abstract preconditioner interface More... | |
class | AverageComponent |
class | BackwardGaussSeidel |
Gauss-Seidel preconditioner for the 'backward' ordering of the dofs. More... | |
class | BalanceWeightsLuaCallback |
class | BalanceWeightsRefMarks |
class | Base64FileWriter |
File writer allowing selective base64 encoding of arbitrary data. More... | |
class | BaseLSFS |
static interface for trial spaces More... | |
class | BaseReferenceMapping |
Base class for Reference mappings helping to implement interface. More... | |
class | BDF |
class | BGLParallelMatrix |
class | BiCGStab |
the BiCGStab method as a solver for linear operators More... | |
class | BidirectionalMatrix |
class | BinaryBuffer |
A Buffer for binary data. More... | |
class | BinaryStream |
a specialzation of std::iostream, that uses a More... | |
class | BinaryStreamBuffer |
A special version of a std::streambuf, writes data directly into a buffer that is accessible at any time. More... | |
class | BinghamViscosityLinker |
Linker for the Bingham viscosity. More... | |
struct | BinomialCoefficient |
struct | BinomialCoefficient< n, 0 > |
struct | BinomialCoefficient< n,-1 > |
struct | BinomialCoefficient< n,-2 > |
struct | BinomialCoefficient< n,-3 > |
struct | BinomialCoefficient< n,-4 > |
struct | block_multiply_traits |
struct | block_multiply_traits< DenseMatrix< T >, DenseMatrix< T > > |
struct | block_multiply_traits< DenseMatrix< T1 >, DenseVector< T2 > > |
struct | block_multiply_traits< number, number > |
struct | block_multiply_traits< number, T > |
struct | block_multiply_traits< T, number > |
struct | block_multiply_traits< T1, T2 > |
struct | block_traits |
struct | block_traits< DenseMatrix< FixedArray2< number, 1, 1, TOrdering > > > |
struct | block_traits< DenseMatrix< FixedArray2< number, 2, 2, TOrdering > > > |
struct | block_traits< DenseMatrix< FixedArray2< number, 3, 3, TOrdering > > > |
struct | block_traits< DenseMatrix< FixedArray2< number, TBlockSize, TBlockSize, TOrdering > > > |
struct | block_traits< DenseMatrix< FixedArray2< TValue, TBlockSize, TBlockSize, TOrdering > > > |
struct | block_traits< DenseMatrix< T > > |
struct | block_traits< DenseMatrix< VariableArray2< number, TOrdering > > > |
struct | block_traits< DenseMatrix< VariableArray2< TValue, TOrdering > > > |
struct | block_traits< DenseVector< T > > |
struct | block_traits< number > |
struct | block_traits< T > |
struct | block_traits< vector< int > > |
vector<int> has a variable size More... | |
class | BlockGaussSeidel |
class | BlockGaussSeidelIterative |
class | BlockSliceIndexView |
class | BOOL |
class | BoolMarker |
Allows to mark elements. More... | |
class | BoostCuthillMcKeeOrdering |
class | BoostMinimumDegreeOrdering |
class | BoundedEquidistantLagrange1D |
class | BoxPriorityQueue |
updateable priority queue class. this priority queue works on an external array of elements T. More... | |
class | BoxPriorityQueue2 |
updateable priority queue class. this priority queue works on an external array of elements T. More... | |
struct | CellIdx |
class | CG |
the CG method as a solver for linear operators More... | |
class | cgraph |
struct | ChainInfo |
class | ClusterElementStacks |
class | CmpVrtsByHash |
Can be used to compare vertices of their grids through their hash-value. More... | |
class | CombinedLinearIterator |
class | CommonLocalDoFSet |
class | CommunicationScheme |
CRTP Base class for communications on layout/interfaces. More... | |
class | CommunicationScheme< TDerived, bool > |
CRTP Base class for communications on layout/interfaces. More... | |
class | CompareByAttachment |
Instances can be used as compare operators, e.g., for std::sort. More... | |
struct | CompareDeg |
struct | CompareDegree |
help class to provide compare operator for indices based on their degree More... | |
class | ComPol_AdjustType |
class | ComPol_AttachmentReduce |
Performs reduce operations on the specified attachment. More... | |
class | ComPol_BoolMarker_AddMarks |
adds marking at extracting side More... | |
class | ComPol_BoolMarker_RemoveMarks |
removes marks at extracting side, if no mark was received More... | |
class | ComPol_BroadcastCoarsenMarks |
class | ComPol_BroadcastRefineMarks |
class | ComPol_CheckConsistency |
Communication Policy to check consistency of a vector. More... | |
class | ComPol_CheckDistributedParentStates |
class | ComPol_CopyAttachment |
copies values from a specified attachment to a stream and back. More... | |
class | ComPol_EnableSelectionStateBits |
class | ComPol_GatherSurfaceStates |
adds marking at extracting side More... | |
class | ComPol_GatherVecAttachment |
Gathers the values stored in vector-attachments. More... | |
class | ComPol_InterfaceStatus |
Exchanges information on the interface-status of connected elements. More... | |
class | ComPol_MatAddRowsOverlap0 |
Communication Policy to copy slave couplings to master row. More... | |
class | ComPol_MatAddSetZeroInnerInterfaceCouplings |
Comm-Pol to add matrix rows of inner-interface couplings. More... | |
class | ComPol_MatCopyDiag |
class | ComPol_MatCopyRowsOverlap0 |
Communication Policy to copy couplings between interfaces. More... | |
class | ComPol_MatCreateOverlap |
Highly specialized communication policy for matrix overlap creation. More... | |
class | ComPol_MatDistributeDiag |
Communication Policy sending fractions to. More... | |
class | ComPol_NewConstrainedVerticals |
class | ComPol_Selection |
class | ComPol_Subset |
class | ComPol_SynchronizeDistInfos |
Communicates the distribution infos through existing interfaces. More... | |
class | ComPol_VecAdd |
Communication Policy to add values of a vector. More... | |
class | ComPol_VecAddSetZero |
Communication Policy to add values of a vector and reset value to zero on sending interface. More... | |
class | ComPol_VecCopy |
Communication Policy to copy values of a vector. More... | |
class | ComPol_VecScaleAdd |
Communication Policy to add values of a vector. More... | |
class | ComPol_VecScaleCopy |
Communication Policy to copy scaled values of a vector. More... | |
class | ComPol_VecSubtract |
Communication Policy to subtract values of a vector. More... | |
class | ComPol_VecSubtractOnlyOneSlave |
Communication Policy to subtract only one slave value per master of a vector. More... | |
class | ComponentGaussSeidel |
ComponentGaussSeidel Preconditioner. More... | |
class | CompositeConvCheck |
class | CompositeGridFunctionEstimator |
class | CompositeSpace |
Defines a composite space, (i.e., additive composition from other spaces) More... | |
class | CompositeTimeDiscretization |
combine several time discretizations into one More... | |
class | CompositeUserData |
This is a compositum for user data defined on different subsets. More... | |
struct | ConnectedToOneMarkedVrt |
class | ConnectionViewerOutputObserver |
class | ConsiderAll |
callback that always returns true More... | |
class | ConsiderNone |
callback that always returns false More... | |
class | ConsistencyCheckClass |
class | ConsistencyCheckClassSend |
class | ConsistencyCheckClassSend< TVec, bool > |
class | const_localMatrix_from_mat_and_array |
class | const_ntree_element_iterator |
this iterator is used by the ntree class to provide access to the elements of a given node More... | |
class | ConstantDamping |
constant damping factor More... | |
class | ConstAttachedElementListIterator |
A special iterator which allows to iterate over elements in a AttachedElementList. More... | |
class | ConstGenericGridObjectIterator |
Use this class as a tool to create const_iterators to your own geometric objects. More... | |
class | ConstMatrixRow |
class | ConstrainedEdge |
This edge is a sub-edge of a. More... | |
class | ConstrainedFace |
This class stores the constraining object. More... | |
class | ConstrainedLinearIterator |
class | ConstrainedQuadrilateral |
a quadrilateral constrained by another object. More... | |
class | ConstrainedTriangle |
a triangle constrained by another object. More... | |
class | ConstrainedVertex |
A vertex appearing on edges or faces. More... | |
class | ConstrainingEdge |
contains elements of type More... | |
class | ConstrainingFace |
This class is used to store constrained geometric objects. More... | |
class | ConstrainingQuadrilateral |
a quadrilateral constraining other objects. More... | |
class | ConstrainingTriangle |
a triangle constraining other objects. More... | |
struct | constraint_traits |
struct | constraint_traits< Edge > |
struct | constraint_traits< Face > |
struct | constraint_traits< Quadrilateral > |
struct | constraint_traits< Triangle > |
struct | constraint_traits< Vertex > |
struct | ConstructGridOfSCVFWrapper |
struct | ConstructGridOfSCVFWrapper< TFVGeom, 1 > |
struct | ConstructGridOfSCVFWrapper< TFVGeom, 2 > |
struct | ConstructGridOfSCVFWrapper< TFVGeom, 3 > |
struct | ConstructGridOfSCVWrapper |
struct | ConstructGridOfSCVWrapper< TFVGeom, 1 > |
struct | ConstructGridOfSCVWrapper< TFVGeom, 2 > |
struct | ConstructGridOfSCVWrapper< TFVGeom, 3 > |
class | ConstScalarSubVectorAdapter |
class | ConstStepLinearTimeIntegrator |
class | ConstUserMatrix |
constant matrix user data More... | |
class | ConstUserNumber |
constant scalar user data More... | |
class | ConstUserTensor |
constant tensor user data More... | |
class | ConstUserVector |
constant vector user data More... | |
class | ConvectionShapesFullUpwind |
class | ConvectionShapesLinearProfileSkewedUpwind |
class | ConvectionShapesNoUpwind |
class | ConvectionShapesPartialUpwind |
class | ConvectionShapesSkewedUpwind |
class | ConvectionShapesWeightedUpwind |
class | CopyAttachmentHandler |
handler for attachments in a multi-grid More... | |
class | CplUserData |
Type based UserData. More... | |
struct | CPUAlgebra |
struct | CPUBlockAlgebra |
struct | CPUVariableBlockAlgebra |
struct | crfv_traits |
struct | crfv_traits< 1, 1 > |
struct | crfv_traits< 1, 2 > |
struct | crfv_traits< 2, 2 > |
struct | crfv_traits< 2, 3 > |
struct | crfv_traits< 3, 3 > |
struct | crfv_traits< 3, 4 > |
class | CRFVGeometry |
class | CRILUTPreconditioner |
class | CrossingVertexInfo |
class | CrouzeixRaviartBase |
Crouzeix - Raviart Set. More... | |
class | CrouzeixRaviartElemTransfer |
class | CrouzeixRaviartLSFS |
Lagrange Shape Function Set without virtual functions and fixed order. More... | |
class | CrouzeixRaviartLSFS< ReferenceHexahedron > |
class | CrouzeixRaviartLSFS< ReferencePrism > |
class | CrouzeixRaviartLSFS< ReferencePyramid > |
class | CrouzeixRaviartLSFS< ReferenceQuadrilateral > |
class | CrouzeixRaviartLSFS< ReferenceTetrahedron > |
class | CrouzeixRaviartLSFS< ReferenceTriangle > |
class | CuckooClock |
class | CUDAManager |
class | customLexLess |
class | CustomQuadrilateral |
Concrete types share this base-type. It is not intended for direct use. More... | |
class | CustomTriangle |
Concrete types share this base-type. It is not intended for direct use. More... | |
class | CustomVertexGroup |
this class can be used if one wants to create a custom element from a set of vertices. More... | |
class | CylinderCutProjector |
Refines linearily except for when a refined edge intersects the given cylinder. More... | |
class | CylinderProjector |
Projects new vertices onto a sphere during refinement. More... | |
class | DarcyVelocityLinker |
Hard Coded Linker for the Darcy velocity. More... | |
class | DataEvaluator |
Evaluation for IElemDisc. More... | |
class | DataEvaluatorBase |
helper class to evaluate data evaluation for local contributions during assembling More... | |
class | DataExport |
Data export. More... | |
class | DataImport |
Data import. More... | |
class | DebugID |
class | DebugIDManager |
class | DebugIterator |
Debugging iterator. More... | |
class | DebugWriterContext |
Context of a debugger writer: Keeps the debugging section etc. More... | |
class | DebugWritingObject |
class | DefaultAlgebra |
Singleton, providing the current default algebra. More... | |
class | DegeneratedLayerManager |
Gegenerated layer subset manager. More... | |
class | DelaunayDebugSaver |
class | DelaunayInfo |
class | DeltaSquareIntegrand |
class | DenseMatrix |
struct | DenseMatrixFromSparseMatrix |
class | DenseMatrixInverse |
class | DenseVector |
class | DependentUserData |
Dependent UserData. More... | |
class | DiagVanka |
Diagvanka Preconditioner, description see above diagvanka_step function. More... | |
class | DimCRFVGeometry |
Geometry and shape functions for 1st order Vertex-Centered Finite Volume with Crouzeix-Raviart elements. More... | |
class | DimFEGeometry |
class | DimFV1Geometry |
Geometry and shape functions for 1st order Vertex-Centered Finite Volume. More... | |
class | DimFV1IBGeometry |
Geometry and shape functions for 1st order Vertex-Centered Finite Volume. More... | |
class | DimFVGeometry |
Geometry and shape functions for any order Vertex-Centered Finite Volume. More... | |
class | DimHFV1Geometry |
class | DimLocalDoFSet |
class | DimReferenceElement |
dimension dependent base class for reference elements More... | |
class | DimReferenceMapping |
virtual base class for reference mappings More... | |
class | DimReferenceMappingWrapper |
wrapper of a ReferenceElementMapping into the virtual base class More... | |
class | DiracSourceDisc |
class | DirectionalOrdering |
class | dirichlet_iterator |
class | DirichletBoundary |
class | DiscConstraintFVCR |
class | DiscontinuityIntegrator |
class | DistInfoSupplier |
Automatically attaches ADistInfo to all elements of a grid. More... | |
class | DistributedGridManager |
manages the layouts and interfaces which are associated with a distributed grid. More... | |
class | DistroAdjuster |
class | DoFCount |
class | DoFDistribution |
class | DoFDistributionInfo |
class | DoFDistributionInfoProvider |
class | DoFIndexStorage |
class | Domain |
struct | domain_traits |
struct | domain_traits< 0 > |
struct | domain_traits< 1 > |
struct | domain_traits< 2 > |
struct | domain_traits< 3 > |
class | DomainBalanceWeights |
class | DomainCommunicationCostWeights |
class | DomainDiscretization |
domain discretization implementing the interface More... | |
class | DomainDiscretizationBase |
generic domain discretization implementing the interface More... | |
class | DomainInfo |
Describes the contents of a domain. More... | |
class | DomainLoadBalancer |
A small wrapper for LoadBalancer which adds comfort methods to balance and distribute domains. More... | |
class | DomainPartitioner |
class | DomainRayTracer |
TEMPORARY QUICK HACK! DON'T USE! WILL BE REPLACED SOON! More... | |
class | DualGraphNeighborCollector |
class | Edge |
Base-class for edges. More... | |
class | EdgeDescriptor |
Can be used to store information about an edge and to construct an edge. More... | |
class | EdgeOrientation |
User data for the orientation of a line element. More... | |
class | EdgeVertices |
holds the vertices of an Edge or an EdgeDescriptor. More... | |
class | element_list_traits |
Class for computing integral properties of geometric objects types in lists. More... | |
class | ElementCallback |
class | ElementGaussSeidel |
ElementGaussSeidel Preconditioner. More... | |
struct | ElementSideRayIntersectionWrapper |
struct | ElementSideRayIntersectionWrapper< TRefElem, 2, 2 > |
struct | ElementSideRayIntersectionWrapper< TRefElem, 3, 3 > |
class | ElementStorage |
This struct is used to hold GridObjects and their attachment pipes. More... | |
struct | ElementStorageSelector |
Helper class to access the correct element storage from its element type. More... | |
struct | ElementStorageSelector< Edge > |
struct | ElementStorageSelector< Face > |
struct | ElementStorageSelector< Vertex > |
struct | ElementStorageSelector< Volume > |
struct | ElemErrorSortDesc |
class | ElemProlongationBase |
class | ElemRestrictionBase |
class | EllipticCylinderProjector |
Projects new vertices onto a cylinder with an elliptic base. More... | |
class | EmptyOStream |
a specialization of std::ostream, which doesn't write anything More... | |
class | EmptyStreamBuffer |
Used by EmptyStream, to send tokens into nirvana! More... | |
struct | EmptyType |
struct | end_boost_list |
class | EnergyConvCheck |
class | EquidistantLagrange1D |
class | EquilibrationMarkingStrategy |
marks elements above a certain fraction of the maximum More... | |
class | ErrorEvaluator |
Evaluation for IElemError. More... | |
class | ExpectedErrorMarkingStrategy |
class | ExplicitGridFunctionGradient |
class | ExplicitGridFunctionValue |
class | ExplicitGridFunctionVector |
class | Face |
Faces are 2-dimensional objects. More... | |
struct | face_type_traits |
struct | face_type_traits< 1 > |
struct | face_type_traits< 2 > |
struct | face_type_traits< 3 > |
class | FaceDescriptor |
Can be queried for the edges and vertices of a face. More... | |
class | FaceVertices |
struct | Factorial |
struct | Factorial< 1 > |
class | Factory |
A factory class which creates instances given a class-name. More... | |
class | FEGeometry |
class | FetiLayouts |
Auxiliary class for handling of "FETI layouts". More... | |
class | FETISolver |
operator implementation of the FETI-DP solver More... | |
class | Field |
class | FileReaderASC |
class | FileReaderSWC |
class | FileWriterSWC |
class | FinishedTester |
class | FixedArray1 |
class | FixedArray1< T, 1 > |
class | FixedArray1< T, 2 > |
class | FixedArray1< T, 3 > |
class | FixedArray1< T, 4 > |
class | FixedArray2 |
class | FixedConvergenceCheck |
class | Flag |
Helps maintaining, activating and deactivating a set of flags from an enum. More... | |
class | FlexGaussQuadrature |
flexible order gauss quadrature More... | |
class | FlexLagrangeLSFS |
Lagrange Shape Function Set without virtual functions and flexible order. More... | |
class | FlexLagrangeLSFS< ReferenceEdge > |
specialization for Edges More... | |
class | FlexLagrangeLSFS< ReferenceHexahedron > |
class | FlexLagrangeLSFS< ReferencePrism > |
class | FlexLagrangeLSFS< ReferenceQuadrilateral > |
class | FlexLagrangeLSFS< ReferenceTetrahedron > |
class | FlexLagrangeLSFS< ReferenceTriangle > |
class | FlexLagrangeLSFS< ReferenceVertex > |
specialization for Edges More... | |
class | FracturedMediaRefiner |
struct | FractureInfo |
Used to tell ExpandLayers_... which subsets should be regarded as layers. More... | |
class | FullVertexCover |
class | FunctionGroup |
class | FunctionIndexMapping |
describes a mapping between two local index sets More... | |
class | FunctionPattern |
Describes the setup of discrete functions on a SubsetHandler. More... | |
struct | fv1_dim_traits |
Traits for Finite Volumes for a generic element of the fixed dimensionalities. More... | |
struct | fv1_dim_traits< 1, 1 > |
struct | fv1_dim_traits< 1, 2 > |
struct | fv1_dim_traits< 1, 3 > |
struct | fv1_dim_traits< 2, 2 > |
struct | fv1_dim_traits< 2, 3 > |
struct | fv1_dim_traits< 3, 3 > |
struct | fv1_dim_traits_base |
Base for the Traits for Finite Volumes for a generic element of the fixed dimensionalities. More... | |
struct | fv1_traits |
Traits for Finite Volumes (dummy implementation, s. the instantiations below) More... | |
struct | fv1_traits< ReferenceEdge, 1 > |
struct | fv1_traits< ReferenceEdge, 2 > |
struct | fv1_traits< ReferenceEdge, 3 > |
struct | fv1_traits< ReferenceHexahedron, 3 > |
struct | fv1_traits< ReferenceOctahedron, 3 > |
Octahedra: the FV1 traits. More... | |
struct | fv1_traits< ReferencePrism, 3 > |
struct | fv1_traits< ReferencePyramid, 3 > |
Pyramids: the FV1 traits. More... | |
struct | fv1_traits< ReferenceQuadrilateral, 2 > |
struct | fv1_traits< ReferenceQuadrilateral, 3 > |
struct | fv1_traits< ReferenceTetrahedron, 3 > |
struct | fv1_traits< ReferenceTriangle, 2 > |
struct | fv1_traits< ReferenceTriangle, 3 > |
struct | fv1_traits_most_common |
Base class, some fields are redefined in the instantiations for particular elements. More... | |
struct | fv1_traits_ReferenceEdge |
struct | fv1_traits_ReferenceFace |
struct | fv1_traits_ReferenceFace2d |
struct | fv1_traits_ReferenceFace3d |
struct | fv1_traits_ReferenceOctahedron |
Octahedra: dimension-independent part of the FV1 traits. More... | |
struct | fv1_traits_ReferencePyramid |
Pyramids: dimension-independent part of the FV1 traits. More... | |
struct | fv1_traits_ReferenceVolume |
class | FV1CondensedGeometry |
Geometry and shape functions for 1st order Vertex-Centered Finite Volume. More... | |
class | FV1Geometry |
Geometry and shape functions for 1st order Vertex-Centered Finite Volume. More... | |
class | FV1Geometry_gen |
Geometry and shape functions for 1st order Vertex-Centered Finite Volume. More... | |
class | FV1IBGeometry |
Geometry and shape functions for 1st order Vertex-Centered Finite Volume. More... | |
class | FV1InnerBoundaryElemDisc |
class | FV1ManifoldGeometry |
class | FVGeometry |
Geometry and shape functions for any order Vertex-Centered Finite Volume. More... | |
class | FVGeometryBase |
base class for all FVGeometries More... | |
struct | fvho_traits |
Traits for Finite Volumes of higher order. More... | |
class | FVLineSourceOrSink |
Base class for line sources and sinks. More... | |
class | FVLineSourceOrSink< 1, TData > |
class | FVPointSourceOrSink |
Base class for the point sources and sinks. More... | |
class | FVSingularSourcesAndSinks |
Manager class for point and line sources and sinks. More... | |
class | GaussJacobi10 |
class | GaussJacobi20 |
class | GaussLegendre |
class | GaussQuadBase |
wrapper to ease implementation More... | |
class | GaussQuadrature |
fixed order gauss quadrature More... | |
class | GaussQuadrature< ReferenceEdge, 0 > |
class | GaussQuadrature< ReferenceEdge, 1 > |
class | GaussQuadrature< ReferenceEdge, 10 > |
class | GaussQuadrature< ReferenceEdge, 11 > |
class | GaussQuadrature< ReferenceEdge, 12 > |
class | GaussQuadrature< ReferenceEdge, 13 > |
class | GaussQuadrature< ReferenceEdge, 14 > |
class | GaussQuadrature< ReferenceEdge, 15 > |
class | GaussQuadrature< ReferenceEdge, 16 > |
class | GaussQuadrature< ReferenceEdge, 17 > |
class | GaussQuadrature< ReferenceEdge, 18 > |
class | GaussQuadrature< ReferenceEdge, 19 > |
class | GaussQuadrature< ReferenceEdge, 2 > |
class | GaussQuadrature< ReferenceEdge, 3 > |
class | GaussQuadrature< ReferenceEdge, 4 > |
class | GaussQuadrature< ReferenceEdge, 5 > |
class | GaussQuadrature< ReferenceEdge, 6 > |
class | GaussQuadrature< ReferenceEdge, 7 > |
class | GaussQuadrature< ReferenceEdge, 8 > |
class | GaussQuadrature< ReferenceEdge, 9 > |
class | GaussQuadrature< ReferenceHexahedron, 0 > |
class | GaussQuadrature< ReferenceHexahedron, 1 > |
class | GaussQuadrature< ReferenceHexahedron, 10 > |
class | GaussQuadrature< ReferenceHexahedron, 11 > |
class | GaussQuadrature< ReferenceHexahedron, 2 > |
class | GaussQuadrature< ReferenceHexahedron, 3 > |
class | GaussQuadrature< ReferenceHexahedron, 4 > |
class | GaussQuadrature< ReferenceHexahedron, 5 > |
class | GaussQuadrature< ReferenceHexahedron, 6 > |
class | GaussQuadrature< ReferenceHexahedron, 7 > |
class | GaussQuadrature< ReferenceHexahedron, 8 > |
class | GaussQuadrature< ReferenceHexahedron, 9 > |
class | GaussQuadrature< ReferenceOctahedron, 0 > |
class | GaussQuadrature< ReferenceOctahedron, 1 > |
class | GaussQuadrature< ReferenceOctahedron, 2 > |
class | GaussQuadrature< ReferencePrism, 0 > |
class | GaussQuadrature< ReferencePrism, 1 > |
class | GaussQuadrature< ReferencePrism, 2 > |
class | GaussQuadrature< ReferencePyramid, 0 > |
class | GaussQuadrature< ReferencePyramid, 1 > |
class | GaussQuadrature< ReferencePyramid, 2 > |
class | GaussQuadrature< ReferenceQuadrilateral, 0 > |
class | GaussQuadrature< ReferenceQuadrilateral, 1 > |
class | GaussQuadrature< ReferenceQuadrilateral, 10 > |
class | GaussQuadrature< ReferenceQuadrilateral, 11 > |
class | GaussQuadrature< ReferenceQuadrilateral, 12 > |
class | GaussQuadrature< ReferenceQuadrilateral, 13 > |
class | GaussQuadrature< ReferenceQuadrilateral, 2 > |
class | GaussQuadrature< ReferenceQuadrilateral, 3 > |
class | GaussQuadrature< ReferenceQuadrilateral, 4 > |
class | GaussQuadrature< ReferenceQuadrilateral, 5 > |
class | GaussQuadrature< ReferenceQuadrilateral, 6 > |
class | GaussQuadrature< ReferenceQuadrilateral, 7 > |
class | GaussQuadrature< ReferenceQuadrilateral, 8 > |
class | GaussQuadrature< ReferenceQuadrilateral, 9 > |
class | GaussQuadrature< ReferenceTetrahedron, 0 > |
class | GaussQuadrature< ReferenceTetrahedron, 1 > |
class | GaussQuadrature< ReferenceTetrahedron, 2 > |
class | GaussQuadrature< ReferenceTetrahedron, 3 > |
class | GaussQuadrature< ReferenceTetrahedron, 4 > |
class | GaussQuadrature< ReferenceTetrahedron, 5 > |
class | GaussQuadrature< ReferenceTetrahedron, 6 > |
class | GaussQuadrature< ReferenceTetrahedron, 7 > |
class | GaussQuadrature< ReferenceTetrahedron, 8 > |
class | GaussQuadrature< ReferenceTriangle, 0 > |
class | GaussQuadrature< ReferenceTriangle, 1 > |
class | GaussQuadrature< ReferenceTriangle, 10 > |
class | GaussQuadrature< ReferenceTriangle, 11 > |
class | GaussQuadrature< ReferenceTriangle, 12 > |
class | GaussQuadrature< ReferenceTriangle, 2 > |
class | GaussQuadrature< ReferenceTriangle, 3 > |
class | GaussQuadrature< ReferenceTriangle, 4 > |
class | GaussQuadrature< ReferenceTriangle, 5 > |
class | GaussQuadrature< ReferenceTriangle, 6 > |
class | GaussQuadrature< ReferenceTriangle, 7 > |
class | GaussQuadrature< ReferenceTriangle, 8 > |
class | GaussQuadrature< ReferenceTriangle, 9 > |
class | GaussQuadrature< ReferenceVertex, 0 > |
class | GaussQuadrature< ReferenceVertex, 1 > |
class | GaussQuadrature< ReferenceVertex, 10 > |
class | GaussQuadrature< ReferenceVertex, 11 > |
class | GaussQuadrature< ReferenceVertex, 12 > |
class | GaussQuadrature< ReferenceVertex, 13 > |
class | GaussQuadrature< ReferenceVertex, 14 > |
class | GaussQuadrature< ReferenceVertex, 15 > |
class | GaussQuadrature< ReferenceVertex, 16 > |
class | GaussQuadrature< ReferenceVertex, 17 > |
class | GaussQuadrature< ReferenceVertex, 18 > |
class | GaussQuadrature< ReferenceVertex, 19 > |
class | GaussQuadrature< ReferenceVertex, 2 > |
class | GaussQuadrature< ReferenceVertex, 3 > |
class | GaussQuadrature< ReferenceVertex, 4 > |
class | GaussQuadrature< ReferenceVertex, 5 > |
class | GaussQuadrature< ReferenceVertex, 6 > |
class | GaussQuadrature< ReferenceVertex, 7 > |
class | GaussQuadrature< ReferenceVertex, 8 > |
class | GaussQuadrature< ReferenceVertex, 9 > |
class | GaussQuadratureHexahedron |
class | GaussQuadratureOctahedron |
class | GaussQuadraturePrism |
class | GaussQuadraturePyramid |
class | GaussQuadratureQuadrilateral |
class | GaussQuadratureTetrahedron |
class | GaussQuadratureTriangle |
class | GaussQuadratureVertex |
class | GaussSeidel |
Gauss-Seidel preconditioner for the 'forward' ordering of the dofs. More... | |
class | GaussSeidelBase |
class | GenerateOverlapClass |
class | GenericGridObjectIterator |
Use this class as a tool to create iterators to your own geometric objects. More... | |
class | Geometry |
provides a grid and access to the coordinates of the vertices More... | |
class | geometry_traits |
class | geometry_traits< ConstrainedEdge > |
class | geometry_traits< ConstrainedQuadrilateral > |
class | geometry_traits< ConstrainedTriangle > |
class | geometry_traits< ConstrainedVertex > |
class | geometry_traits< ConstrainingEdge > |
class | geometry_traits< ConstrainingQuadrilateral > |
class | geometry_traits< ConstrainingTriangle > |
class | geometry_traits< Edge > |
class | geometry_traits< Face > |
class | geometry_traits< GridObject > |
class | geometry_traits< Hexahedron > |
class | geometry_traits< Octahedron > |
class | geometry_traits< Prism > |
class | geometry_traits< Pyramid > |
class | geometry_traits< Quadrilateral > |
class | geometry_traits< RegularEdge > |
class | geometry_traits< RegularVertex > |
class | geometry_traits< Tetrahedron > |
class | geometry_traits< Triangle > |
class | geometry_traits< Vertex > |
class | geometry_traits< Volume > |
class | GeomObjAttachmentSerializer |
Serialization callback for grid attachments. More... | |
struct | GeomObjBaseTypeByDim |
struct | GeomObjBaseTypeByDim< 0 > |
struct | GeomObjBaseTypeByDim< 1 > |
struct | GeomObjBaseTypeByDim< 2 > |
struct | GeomObjBaseTypeByDim< 3 > |
class | GeomObjDataSerializer |
Interface for handling serialization and deserialization of data associated with geometric objects. More... | |
class | GeomProvider |
Geom Provider, holding a single instance of a geometry. More... | |
class | GlobalAttachments |
Global attachments are automatically read/written from/to files and are considered during redistribution. More... | |
class | GlobalFracturedMediaRefiner |
class | GlobalGridFunctionGradientData |
class | GlobalGridFunctionNumberData |
class | GlobalMarking |
mark everything if error too high and refinement allowed More... | |
class | GlobalMultiGridRefiner |
class | GlobalSubdivisionMultiGridRefiner |
Specialization of the GlobalMultiGridRefiner class to incorporate subdivision refinement. More... | |
class | GlobAttachmentElementUserData |
class | GMRES |
the GMREs method as a solver for linear operators More... | |
class | GPUSparseMatrix |
sparse matrix for big, variable sparse matrices. More... | |
class | GPUVector |
class | GradientDataExport |
class | GradientEvaluator_LagrangeP1 |
class | Grid |
Manages the elements of a grid and their interconnection. More... | |
struct | grid_dim_traits |
struct | grid_dim_traits< 0 > |
struct | grid_dim_traits< 1 > |
struct | grid_dim_traits< 2 > |
struct | grid_dim_traits< 3 > |
class | grid_global_debug_info_provider |
Debugging tool for function that do have no direct access to the grid. More... | |
class | GridDataSerializationHandler |
Serialization of data associated with grid elements. More... | |
class | GridDataSerializer |
Interface for handling serialization and deserialization of data associated with all geometric objects in a grid. More... | |
class | GridFunction |
represents numerical solutions on a grid using an algebraic vector More... | |
class | GridFunctionComponentSpace |
class | GridFunctionDebugWriter |
class | GridFunctionEstimator |
class | GridFunctionGradientComponentData |
Retrieve component of gradient of GridFunction. More... | |
class | GridFunctionGradientData |
class | GridFunctionNumberData |
class | GridFunctionOrdering |
class | GridFunctionPositionProvider |
class | GridFunctionVectorData |
class | GridFunctionVectorWriter |
class | GridFunctionVectorWriterDirichlet0 |
struct | GridHeader |
class | GridLayoutMap |
lets you access layouts by type and key More... | |
class | GridLevel |
class | GridMessage_Adaption |
A message sent along with "GridRefinement" messages. More... | |
class | GridMessage_Creation |
class | GridMessage_Distribution |
class | GridMessage_MultiGridChanged |
A message sent by the MultiGrid, if something special happened. More... | |
class | GridObject |
The base class for all geometric objects, such as vertices, edges, faces, volumes, ... More... | |
class | GridObjectCollection |
a helper class that holds a collection of possibly unconnected geometric-objects. More... | |
struct | GridObjectInfo |
class | GridObserver |
class | GridPointsOrdering |
class | GridReaderUGX |
Grants read access to ugx files. More... | |
class | GridReaderVTU |
Grants read access to vtu (vtk) files. More... | |
class | GridSubsetHandler |
Partitions elements of a grid into several subsets. More... | |
class | GridWriterUGX |
Grants write access to ugx files. More... | |
class | GridWriterVTU |
Grants write access to vtu files. More... | |
class | H1ComponentSpace |
class | H1DistIntegrand |
Integrand for the distance of two grid functions - evaluated in the H1 norm. More... | |
class | H1EnergyComponentSpace |
class | H1EnergyDistIntegrand |
Integrand for the distance of two grid functions - evaluated in the norm \( |D \nabla u|^2 \). More... | |
class | H1EnergyIntegrand |
Norm of a grid function, evaluated in (weighted) H1-semi norm. More... | |
class | H1ErrorIntegrand |
class | H1NormIntegrand |
class | H1SemiComponentSpace |
class | H1SemiDistIntegrand |
Integrand for the distance of two grid functions - evaluated in the (weighted) H1-semi norm. More... | |
class | H1SemiIntegrand |
Norm of a grid function, evaluated in (weighted) H1-semi norm. More... | |
class | HangingNodeRefiner_Grid |
Specialization of ug::HangingNodeRefiner for ug::Grid. More... | |
class | HangingNodeRefiner_MultiGrid |
Specialization of ug::HangingNodeRefiner for ug::MultiGrid. More... | |
class | HangingNodeRefinerBase |
Base class for a hanging-node refiner. More... | |
class | Hash |
class | hash_iterator |
this iterator is used by the hash class to provide access to the elements of a given key More... | |
struct | hcrfv_traits |
struct | hcrfv_traits< 2, 2 > |
struct | hcrfv_traits< 2, 3 > |
struct | hcrfv_traits< 3, 3 > |
struct | hcrfv_traits< 3, 4 > |
class | HCRFVGeometry |
struct | hdimfv1_traits |
struct | hdimfv1_traits< 1 > |
struct | hdimfv1_traits< 2 > |
struct | hdimfv1_traits< 3 > |
class | Heightfield |
class | Hexahedron |
A volume element with 6 quadrilateral sides. More... | |
class | HexahedronClass |
class | HexahedronDescriptor |
only used to initialize a hexahedron. for all other tasks you should use VolumeDescriptor. More... | |
struct | hfv1_traits |
Traits for hanging finite volume (dummy implementation) More... | |
struct | hfv1_traits< ReferenceEdge, 1 > |
struct | hfv1_traits< ReferenceEdge, 2 > |
struct | hfv1_traits< ReferenceEdge, 3 > |
struct | hfv1_traits< ReferenceHexahedron, 3 > |
struct | hfv1_traits< ReferenceOctahedron, 3 > |
struct | hfv1_traits< ReferencePrism, 3 > |
struct | hfv1_traits< ReferencePyramid, 3 > |
struct | hfv1_traits< ReferenceQuadrilateral, 2 > |
struct | hfv1_traits< ReferenceQuadrilateral, 3 > |
struct | hfv1_traits< ReferenceTetrahedron, 3 > |
struct | hfv1_traits< ReferenceTriangle, 2 > |
struct | hfv1_traits< ReferenceTriangle, 3 > |
struct | hfv1_traits_ReferenceEdge |
struct | hfv1_traits_ReferenceFace |
struct | hfv1_traits_ReferenceVolume |
class | HFV1Geometry |
Geometry and shape functions for 1st order Vertex-Centered Finite Volume with the hanging nodes. More... | |
class | HFV1ManifoldGeometry |
class | HorizontalAlgebraLayouts |
Holds Interfaces and communicators for horizontal communication. More... | |
class | HorizontalAnisotropyAdjuster |
Selects additional edges to preserve layers in a grid with horizontal anisotropies. More... | |
class | IApproximationSpace |
describes the ansatz spaces on a domain More... | |
class | IAssemble |
Interface providing Jacobian and Defect of a discretization. More... | |
class | IAttachment |
the interface for attachments. More... | |
class | IAttachmentDataContainer |
the interface for an attachment-data-container. More... | |
class | IBalanceWeights |
class | IBanachSpace |
Abstract base class for (algebraic) vectors. More... | |
class | IBlockJacobiPreconditioner |
class | ICommunicationWeights |
class | IComponentSpace |
Estimate the error (based on the difference between two grid functions) More... | |
class | IConstraint |
interface for adjustment of constraints More... | |
class | IConvectionShapes |
Interface class for upwind methods. More... | |
class | IConvergenceCheck |
class | ICplUserData |
Base class for UserData. More... | |
class | IDamping |
class | IDataImport |
Base class for data import. More... | |
class | IDebugWriter |
base class for all debug writer More... | |
class | IDiscretizationItem |
class | IDomain |
describes a physical domain More... | |
class | IDomainConstraint |
class | IDomainDiscretization |
Interface for domain discretization. More... | |
class | IDomainErrorIndicator |
Interface for an object that can estimate the (global) error. More... | |
class | IDomainMarker |
Interface for an object that can mark elements based on a strategy. More... | |
class | IDWInterpolation |
Class for inverse distance weighting based on a general data type. More... | |
class | IDWUserData |
UserData interface for the IDW interpolation. More... | |
class | IEigensolver |
class | IElemAssembleFuncs |
This class encapsulates all functions related to error estimation. More... | |
class | IElemDisc |
class | IElemDiscBase |
base class for all element-wise discretizations More... | |
class | IElemDiscModifier |
class | IElementMarkingStrategy |
Abstract base class for element marking (in adaptive refinement) More... | |
class | IElemError |
class | IElemEstimatorFuncs |
This class encapsulates all functions related to error estimation. More... | |
class | IElemProlongation |
class | IElemRestriction |
class | IErrEstData |
Base class for error estimator data. More... | |
class | IExternalSolver |
class | IExternalSolverImplementation |
class | IFinishedCondition |
class | IFunction |
class | IGeometry |
provides a grid and access to the coordinates of the vertices More... | |
class | IGridFunction |
Base class for all Grid Functions. More... | |
class | IGridFunctionSpace |
Abstract base class for grid functions. More... | |
class | IIdentifier |
Interface to match periodic geometric elements. More... | |
class | IIntegrand |
Abstract integrand interface. More... | |
class | IInterfaceExtrapolation |
Base class for the extrapolation over an embedded boundary. More... | |
class | ILagrangeMultiplierDisc |
class | ILevelPreconditioner |
A preconditioner for the multi-grid context which is aware of the grid level it operates on. More... | |
class | ILimexCostStrategy |
class | ILimexRefiner |
class | ILinearIterator |
describes a linear iterator More... | |
class | ILinearOperator |
describes a linear mapping X->Y More... | |
class | ILinearOperatorInverse |
describes an inverse linear mapping X->Y More... | |
class | ILinearTimeIntegrator |
class | ILineSearch |
class | ILocalRemesher |
class | ILocalSubspace |
Abstract definition for subspace V_k. More... | |
class | ILocalToGlobalMapper |
interface for definition of special LocalToGlobal mappings More... | |
class | ILU |
ILU / ILU(beta) preconditioner. More... | |
class | ILUTPreconditioner |
class | ILUTScalarPreconditioner |
class | IMatrixOperatorInverse |
describes an inverse linear mapping X->Y based on a matrix More... | |
class | IMultigridElementIndicators |
This class encapsulates the multi-grid attachments for error estimation. More... | |
struct | IndCmp |
class | IndexView |
class | INewtonUpdate |
general interface for data updates during Newton process More... | |
struct | InnerBoundaryConstants |
struct | InnerBoundaryFluxCond |
struct that holds information about the flux densities and from where to where the flux occurs More... | |
struct | InnerBoundaryFluxDerivCond |
class | INonlinearTimeIntegrator |
struct | Int2Type |
class | IntegrationOutputObserver |
class | InterSubsetPartitionWeighting |
class | IntervalNumberLinker |
class | InverseLinker |
class | IObjectWithWeights |
class | IObstacleConstraint |
Interface for Obstacle Constraints. More... | |
class | IOperator |
describes a mapping X->Y More... | |
class | IOperatorInverse |
describes an inverse mapping X->Y More... | |
class | IOrderingAlgorithm |
class | IPartitioner |
Partitioners can be used inside a LoadBalancer or separately to create partition maps. More... | |
class | IPartitionPostProcessor |
allows to post-process partitions More... | |
class | IPartitionPreProcessor |
allows to pre-process data before partitioning starts More... | |
class | IPatchRemesher |
class | IPositionProvider |
Interface for providing vertex positions. More... | |
class | IPProcessVector |
interface for pre- and postprocess functions More... | |
class | IPreconditionedLinearOperatorInverse |
describes an inverse linear mapping X->X More... | |
class | IPreconditioner |
describes a linear iterator that is based on a matrix operator More... | |
class | IProjGaussSeidel |
Interface for Projected GaussSeidel Preconditioner. More... | |
class | IRefiner |
The refiner interface allows to mark elements for refinement and to call refine. More... | |
class | IRefMarkAdjuster |
class | IsBoundaryOrManifodFace |
class | ISchurComplementInverse |
class | ISelector |
base-implementation of a selector More... | |
class | IsInSubGrid |
Callbacks that return true if an element is contained in a sub-grid. More... | |
class | IsInSubset |
Element callback that returns true, if an element is contained in a subset. More... | |
class | IsMarked |
Element callback that returns true, if an element is marked. More... | |
class | IsNotBoundaryOrManifodFace |
class | IsNotInSubGrid |
Callbacks that return true if an element is not contained in a sub-grid. More... | |
class | IsNotInSubset |
Element callback that returns true, if an element is not contained in a subset. More... | |
class | IsNotMarked |
Element callback that returns true, if an element is not marked. More... | |
class | IsNotOnBoundary |
Element callback that returns true, if an element does not lie on the grids boundary. More... | |
class | IsNotSelected |
Element callback that returns true, if an element is not selected. More... | |
class | IsOnBoundary |
Element callback that returns true, if an element lies on the grids boundary. More... | |
class | ISpaceDecomposition |
Abstract. More... | |
class | IsRegularSurfaceElem |
Returns true if an element is a regular surface element. More... | |
class | IsSelected |
Element callback that returns true, if an element is selected. More... | |
class | ISubDiagErrorEst |
class | ISubGrid |
Instances represent a part of a grid. More... | |
class | ISubsetHandler |
struct | IteratorProvider |
struct | IteratorProvider< MGSubsetHandler > |
class | ITimeDiscDependentObject |
class | ITimeDiscretization |
Time Discretization Interface. More... | |
class | ITimeIntegrator |
class | ITimeIntegratorObserver |
Abstract base class for time integration observer. More... | |
class | ITransferOperator |
interface for transfer routines More... | |
class | ITransferPostProcess |
interface for transfer routines More... | |
class | ITransformingIteration |
class | IVector |
class | IVector_AlgebraDownCastTo |
class | IVectorDebugWriter |
base class for all vector debug writer More... | |
class | IVectorWriter |
Interface for modifying a vector (e.g, setting Dirichlet values, ...) More... | |
class | IVertexGroup |
Base class for all classes which consist of a group of vertices. More... | |
class | Jacobi |
Jacobi-Iteration. More... | |
class | KDTree |
struct | KDTreeDesc |
class | KDTreeStatic |
organizes vertices in a binary-tree structure. Only for static use! More... | |
class | KDVertexDistance |
used by KDTreeStatic More... | |
class | L2ComponentSpace |
class | L2DistIntegrand |
Integrand for the distance of two grid functions - evaluated in the (weighted) H1-semi norm. More... | |
class | L2ErrorIntegrand |
class | L2Integrand |
Grid function as L2 integrand. More... | |
class | L2QuotientSpace |
class | Lagrange1D |
class | LagrangeLDS |
Lagrange DoF Set. More... | |
class | LagrangeLSFS |
Lagrange Shape Function Set without virtual functions and fixed order. More... | |
class | LagrangeLSFS< ReferenceEdge, TOrder > |
specialization for Edges More... | |
class | LagrangeLSFS< ReferenceHexahedron, TOrder > |
class | LagrangeLSFS< ReferenceOctahedron, TOrder > |
class | LagrangeLSFS< ReferencePrism, TOrder > |
class | LagrangeLSFS< ReferencePyramid, TOrder > |
class | LagrangeLSFS< ReferenceQuadrilateral, TOrder > |
class | LagrangeLSFS< ReferenceTetrahedron, TOrder > |
class | LagrangeLSFS< ReferenceTriangle, TOrder > |
class | LagrangeLSFS< ReferenceVertex, TOrder > |
specialization for Vertex More... | |
class | LagrangeP1 |
Lagrange shape functions of first order. More... | |
class | LexOrdering |
class | LFEID |
Identifier for Local Finite Elements. More... | |
class | lg_ntree |
struct | lg_ntree_traits_base |
class | LimexDefaultCost |
class | LimexNewtonSolver |
class | LimexNonlinearCost |
class | LimexTimeIntegrator |
class | LimexTimeIntegratorConfig |
class | LinearImplicitEuler |
class | LinearIteratorProduct |
class | LinearIteratorSum |
class | LinearSolver |
linear solver using abstract preconditioner interface More... | |
class | LinearTimeIntegrator |
class | LineGaussSeidel |
class | LineVanka |
struct | linker_traits |
Linker Traits. More... | |
struct | linker_traits< MathMatrix< dim, dim >, number > |
struct | linker_traits< MathTensor< 4, dim >, number > |
struct | linker_traits< MathVector< dim >, MathMatrix< dim, dim > > |
struct | linker_traits< MathVector< dim >, MathVector< dim >, number > |
struct | linker_traits< MathVector< dim >, number > |
struct | linker_traits< number, number > |
class | LoadBalancer |
A load-balancer redistributes grids using the specified partitioner and process-hierarchy. More... | |
class | LoaderObj |
class | LocalDoF |
class | LocalDoFSet |
class | LocalDoFSubspace |
Abstract definition for subspace V_k (based on DoFIndex) More... | |
class | LocalFiniteElementProvider |
class | LocalIndexSubspace |
Concrete definition of subspace V_k (based on size_t) More... | |
class | LocalIndices |
class | LocalMarkAdjuster |
Use this adjuster on top of StdHNodeAdjuster if local-marks are present. More... | |
class | LocalMatrix |
class | localMatrix_from_col_major_and_array |
class | localMatrix_from_mat_and_array |
class | localMatrix_from_row_major_and_array |
class | LocalSchurComplement |
operator implementation of the local Schur complement More... | |
class | LocalShapeFunctionSet |
virtual base class for local shape function sets More... | |
class | LocalShapeFunctionSetWrapper |
wrapper class implementing the LocalShapeFunctionSet interface More... | |
class | LocalToGlobalMapper |
class | LocalToGlobalMapperNLGS |
class | LocalVector |
class | localVector_from_array |
class | LocalVectorTimeSeries |
time series of local vectors More... | |
class | LogAssistant |
class | LognormalRandomField |
class | LSGFConstraint |
a special constraint that sets functions and matrices in the outer subdomain to given values More... | |
class | LSGFDomainDiscretization |
domain discretization for the Level-Set Ghost-Fluid method More... | |
class | LSGFGlobAssembler |
Global assembler based on the ghost-fluid method with a level-set function. More... | |
class | LU |
struct | lua_traits |
Lua Traits to push/pop on lua stack. More... | |
struct | lua_traits< bool > |
struct | lua_traits< int > |
struct | lua_traits< MathMatrix< dim, dim > > |
struct | lua_traits< number > |
struct | lua_traits< ug::MathVector< dim > > |
struct | lua_traits< void > |
class | LuaCallbackObserver |
class | LuaFunction |
class | LuaFunctionHandle |
Handle for a lua reference. More... | |
class | LUAParserClass |
class | LuaTableHandle |
Handle for a lua reference. More... | |
class | LuaUserData |
provides data specified in the lua script More... | |
class | LuaUserDataFactory |
Factory providing LuaUserData. More... | |
class | LuaUserFunction |
maps several data values to an output data value using a lua callback More... | |
class | LuaUserNumberNumberFunction |
this class maps a scalar value an output scalar value using a lua callback More... | |
class | MapSparseMatrix |
sparse matrix for big, variable sparse matrices. More... | |
class | MapVector |
struct | MarkerPoint |
class | MarkerPointManager |
struct | mat_operations_class |
struct | mat_operations_class< vector_t, matrix_t, MATRIX_USE_GLOBAL_FUNCTIONS > |
struct | mat_operations_class< vector_t, matrix_t, MATRIX_USE_MEMBER_FUNCTIONS > |
struct | mat_operations_class< vector_t, matrix_t, MATRIX_USE_OPERATORS > |
struct | mat_operations_class< vector_t, matrix_t, MATRIX_USE_ROW_FUNCTIONS > |
class | MathMatrix |
A class for fixed size, dense matrices. More... | |
class | MathMatrix< 0, 0, T > |
class | MathMatrix< 0, N, T > |
class | MathMatrix< N, 0, T > |
class | MathSymmetricMatrix |
A class for fixed size, dense matrices. More... | |
class | MathTensor |
a mathematical Tensor of rank TRank and N entries. More... | |
class | MathTensor1 |
class | MathTensor2 |
class | MathTensor3 |
class | MathTensor4 |
class | MathTensor< 1, N, T > |
class | MathTensorX |
class | MathVector |
a mathematical Vector with N entries. More... | |
class | MathVector< 0, T > |
class | MathVector< 1, T > |
class | MathVector< 2, T > |
class | MathVector< 3, T > |
class | MathVector< 4, T > |
struct | matrix_algebra_type_traits |
struct | matrix_algebra_type_traits< DenseMatrix< T > > |
struct | matrix_algebra_type_traits< DenseMatrixInverse< T > > |
struct | matrix_algebra_type_traits< GPUSparseMatrix< T > > |
struct | matrix_algebra_type_traits< MapSparseMatrix< T > > |
struct | matrix_algebra_type_traits< MatrixOperator< M, X, Y > > |
struct | matrix_algebra_type_traits< ParallelMatrix< T > > |
struct | matrix_algebra_type_traits< SparseMatrix< T > > |
class | MatrixDiagonal |
class | MatrixDiagonalInverse |
class | MatrixFileType |
Representation of a matrix exchange file format. More... | |
class | MatrixIO |
Generic matrix I/O functionality. More... | |
class | MatrixIOMtx |
Provides I/O functionality for MatrixMarket exchange file format. More... | |
class | MatrixOperator |
class | MatrixRow |
class | MatrixTwoIndices |
class | MatVec_Expression |
class | maxheap |
updateable priority queue class. unlike most PQ implementations, we need a method to inform the PQ of updated elements thats why we cannot use priority_queue from the STL. maxheap works on an external array of elements T, note that none of the elements of m_arr[0]..m_arr[size-1] are in the heap at the begining. You can insert elements by using maxheap::insert(i); More... | |
class | MaximumDistIntegrand |
class | MaximumMarking |
class | MaxStepsFinishedCondition |
class | MeanValueMarking |
class | MemInfo |
class | MemTrackerStruct |
class | MessageHub |
Allows to register callbacks and post messages to those callbacks. More... | |
struct | MGEdgeInfo |
Holds information about edge relations. Used internally. More... | |
struct | MGFaceInfo |
Holds information about face relations. Used internally. More... | |
class | MGHNodeAdjuster |
Makes sure that that hierarchical dependencies are considered during hnode refinement. More... | |
class | mginfo_traits |
access to connected types. used internally More... | |
class | mginfo_traits< Edge > |
edge info traits. used internally. More... | |
class | mginfo_traits< Face > |
face info traits. used internally. More... | |
class | mginfo_traits< Vertex > |
vertex info traits. used internally. More... | |
class | mginfo_traits< Volume > |
volume info traits. used internally. More... | |
class | MGSelector |
specialization of ISelector for grids of class MultiGrid. More... | |
class | MGStats |
Records statistics on how individual parts of a multigrid method worked. More... | |
struct | MGVertexInfo |
Holds information about vertex relations. Used internally. More... | |
struct | MGVolumeInfo |
Holds information about volume relations. Used internally. More... | |
class | MGWrapper |
class | MGWrapper< Grid > |
class | MGWrapper< MultiGrid > |
struct | MidID |
helper class to store dimension and id of a midpoint of a sub-element More... | |
class | MiniBubbleLDS |
MiniBubble Set (2D only!) More... | |
class | MiniBubbleLSFS |
Lagrange Shape Function Set without virtual functions and fixed order. More... | |
class | MiniBubbleLSFS< ReferenceEdge > |
class | MiniBubbleLSFS< ReferenceHexahedron > |
class | MiniBubbleLSFS< ReferenceQuadrilateral > |
class | MiniBubbleLSFS< ReferenceTetrahedron > |
class | MiniBubbleLSFS< ReferenceTriangle > |
class | MinimalEnergyDamping |
damping computed based on the minimal energy More... | |
class | MinimalResiduumDamping |
damping computed based on the minimal residuum More... | |
class | MMTypeCode |
Type representation for MatrixMarket matrix exchange files. More... | |
class | MultiElementAttachmentAccessor |
Accesses attachements in different element types at the same time. More... | |
class | MultiGrid |
class | MultiGridSubsetHandler |
Handles subsets on a per level basis. More... | |
class | MultiIndex |
class | MultiIndex< 1, size_t > |
class | MultiIndex< 2, size_t > |
class | MultiIndex< 3, size_t > |
class | MultipleErrEstData |
Error estimator data class for discretizations with more than one unknown. More... | |
class | MultipleSideAndElemErrEstData |
class | MultiStepTimeDiscretization |
multi step time stepping scheme More... | |
struct | MyVectorTraits |
struct | MyVectorTraits< TVector, typename boost::enable_if_c< TVector::value_type::is_static >::type > |
class | NativeCuthillMcKeeOrdering |
class | NedelecLDS |
Nedelec, i.e. the edge local dof set. More... | |
class | NedelecLSFS |
class | NedelecLSFS< ReferenceTetrahedron > |
Nedelec (or Whitney-1) base function set for tetrahedra. More... | |
class | NedelecLSFS< ReferenceTriangle > |
Nedelec (or Whitney-1) base function set for triangles. More... | |
class | NestedIterationSolver |
Nested iteration solver (e.g. for full multigrid) More... | |
class | NeumannBoundaryBase |
class | NeumannBoundaryFE |
class | NeumannBoundaryFV |
class | NeumannBoundaryFV1 |
class | NeuriteProjector |
class | NewLayoutCreator |
class | NewtonCotes |
class | NewtonSolver |
Newton solver for assembling based discretizations. More... | |
class | NewtonUpdaterGeneric |
class | NLGaussSeidelSolver |
Nonlinear GaussSeidel-method. More... | |
class | NLJacobiSolver |
Nonlinear Jacobi-method. More... | |
class | non_dirichlet_iterator |
class | Norm2Estimator |
class | NormInfEstimator |
class | NormRelEstimator |
class | ntree |
The n-tree class can be used to construct space partitioning trees of dimensions 1, 2, and 3. More... | |
struct | ntree_traits |
struct | ntree_traits< 1, 1, elem_t, NTreeGridData< 1 > > |
struct | ntree_traits< 1, 2, elem_t, NTreeGridData< 2 > > |
struct | ntree_traits< 2, 2, elem_t, NTreeGridData< 2 > > |
struct | ntree_traits< 2, 3, elem_t, NTreeGridData< 3 > > |
struct | ntree_traits< 3, 3, elem_t, NTreeGridData< 3 > > |
struct | NTreeDesc |
class | NTreeGridData |
struct | OBJMaterial |
holds information about the materials in the obj-file. More... | |
class | ObstacleInNormalDir |
Obstacle Class for Obstacle in normal direction. More... | |
class | Octahedron |
platonic solid with eight faces. More... | |
class | OctahedronClass |
class | OctahedronDescriptor |
only used to initialize a octahedron. for all other tasks you should use VolumeDescripor. More... | |
class | OneSideP1Constraints |
struct | operation_add |
struct | operation_sub |
class | OperatorInverseIterator |
class | OStreamBufferSplitter |
forwards data written to this stream-buffer to other stream buffers. More... | |
class | OutNormCmp |
Projection to the outer normal for a given vector user data. More... | |
class | OverlapWriter |
Writes overlapping matrices and vectors. More... | |
class | OverlyingSubsetFinder |
class | OwnedPtr |
Holds and automatically deletes a pointer, similar to std::auto_ptr. USE WITH CARE! More... | |
class | P1LagrangeElemTransfer |
class | PageContainer |
class | ParallelColoring |
class | ParallelDualGraph |
Generates the parralel dual graph of a MultiGrid as, e.g., required by Parmetis. More... | |
class | ParallelGlobalFracturedMediaRefiner |
Adds parallel support to GlobalFracturedMediaRefiner. More... | |
class | ParallelGlobalSubdivisionRefiner |
Adds parallel support to GlobalSubdivisionMultiGridRefiner. More... | |
class | ParallelHangingNodeRefiner_MultiGrid |
class | ParallelHNodeAdjuster |
Makes sure that that marks are propagated over process interfaces. More... | |
class | ParallelMatrix |
Wrapper for sequential matrices to handle them in parallel. More... | |
class | ParallelNodes |
class | ParallelProgress |
class | ParallelShiftIdentifier |
This class matches geometric elements which are parallel translated. More... | |
class | ParallelVector |
class | Partitioner_DynamicBisection |
Parallel bisection partitioner. More... | |
class | PartitionMap |
Used to describe how a domain shall be distributed in a parallel environment. More... | |
class | PartitionWeighting |
class | PartPreProc_RasterProjectorCoordinates |
class | PathProvider |
Singleton which stores common paths and a stack of current paths. More... | |
class | PCRILUTPreconditioner |
class | PeriodicAttachmentAccessor |
Accesses attachements with consideration to periodic boundaries. More... | |
class | PeriodicBoundaryManager |
class | PiecewiseConstantElemTransfer |
class | PiecewiseConstantLSFS |
Elementwise constant shape functions. More... | |
class | PILUTPreconditioner |
class | PINVIT |
class | PlaneCutProjector |
calculates new positions by cutting parent edges with a plane More... | |
class | PlotRefOutputObserver |
struct | Pointer2Value |
struct | Pointer2Value< T * > |
class | PointerConstArray |
Container which holds an array of pointers. More... | |
class | Polynomial1D |
struct | PosAndIndex |
struct | Pow |
struct | Pow< n, 0 > |
class | PowerMethod |
class | PPP_ReplaceCoordinate |
Temporarily replaces the specified coordinate in the given position attachment. More... | |
class | PProcessChain |
a chain of pre- or postprocess operations More... | |
struct | PrimalConnection |
class | PrimalSubassembledMatrixInverse |
operator implementation of the inverse of the Schur complement w.r.t. the "Delta unknowns" More... | |
class | Prism |
A volume element with 2 triangle and 3 quadrilateral sides. More... | |
class | PrismClass |
class | PrismDescriptor |
only used to initialize a prism. for all other tasks you should use VolumeDescripor. More... | |
class | ProcessHierarchy |
Defines how the different levels of a grid shall be distributed across the available processes. More... | |
class | Progress |
class | ProjBackwardGaussSeidel |
class | ProjectionHandler |
Associates different projectors with individual subsets. More... | |
class | ProjectionLinker |
class | ProjGaussSeidel |
Projected GaussSeidel (SOR) -method. More... | |
class | ProjSymmetricGaussSeidel |
class | ProtectSubsetPartitionWeighting |
class | Provider |
Provider, holding a single instance of an object. More... | |
struct | PtrToValueType |
struct | PtrToValueType< Edge * > |
struct | PtrToValueType< Face * > |
struct | PtrToValueType< Vertex * > |
struct | PtrToValueType< Volume * > |
class | Pyramid |
A volume element with 4 triangle and 1 quadrilateral sides. More... | |
class | PyramidClass |
class | PyramidDescriptor |
only used to initialize a pyramids. for all other tasks you should use VolumeDescripor. More... | |
class | QuadratureRule |
provides quadrature rule for a Reference Dimension More... | |
class | QuadratureRuleProvider |
provides quadrature rules for a reference dimension More... | |
class | Quadrilateral |
a face with four points. More... | |
class | QuadrilateralDescriptor |
only used to initialize a quadrilateral. for all other tasks you should use FaceDescriptor. More... | |
class | Raster |
Generic raster for arbitrary dimensions. More... | |
struct | RasterLayerDesc |
class | RasterLayers |
class | RasterLayersProjector |
class | RasterUserData |
! More... | |
struct | RayElemIntersectionRecord |
struct | reference_element_traits |
traits for reference elements More... | |
struct | reference_element_traits< ConstrainedEdge > |
struct | reference_element_traits< ConstrainedQuadrilateral > |
struct | reference_element_traits< ConstrainedTriangle > |
struct | reference_element_traits< ConstrainedVertex > |
struct | reference_element_traits< ConstrainingEdge > |
struct | reference_element_traits< ConstrainingQuadrilateral > |
struct | reference_element_traits< ConstrainingTriangle > |
struct | reference_element_traits< Edge > |
struct | reference_element_traits< Hexahedron > |
struct | reference_element_traits< Octahedron > |
struct | reference_element_traits< Prism > |
struct | reference_element_traits< Pyramid > |
struct | reference_element_traits< Quadrilateral > |
struct | reference_element_traits< RegularEdge > |
struct | reference_element_traits< RegularVertex > |
struct | reference_element_traits< Tetrahedron > |
struct | reference_element_traits< Triangle > |
struct | reference_element_traits< Vertex > |
class | ReferenceEdge |
class | ReferenceElement |
base class for reference elements More... | |
class | ReferenceElementProvider |
Provider for Reference Elements. More... | |
class | ReferenceHexahedron |
reference element for a hexahedron More... | |
class | ReferenceMapping |
class | ReferenceMapping< ReferenceEdge, TWorldDim > |
class | ReferenceMapping< ReferenceHexahedron, TWorldDim > |
class | ReferenceMapping< ReferenceOctahedron, TWorldDim > |
class | ReferenceMapping< ReferencePrism, TWorldDim > |
class | ReferenceMapping< ReferencePyramid, TWorldDim > |
class | ReferenceMapping< ReferenceQuadrilateral, TWorldDim > |
class | ReferenceMapping< ReferenceTetrahedron, TWorldDim > |
class | ReferenceMapping< ReferenceTriangle, TWorldDim > |
class | ReferenceMapping< ReferenceVertex, TWorldDim > |
class | ReferenceMappingProvider |
class to provide reference mappings More... | |
class | ReferenceOctahedron |
class | ReferencePrism |
class | ReferencePyramid |
class | ReferenceQuadrilateral |
class | ReferenceTetrahedron |
class | ReferenceTriangle |
class | ReferenceVertex |
class | RefinementProjector |
Adjusts vertex coordinates during refinement. More... | |
class | RegularEdge |
Edges connect two vertices. More... | |
class | RegularVertex |
A basic vertex-type. More... | |
class | ReservableArray2 |
class | RevisionCounter |
Class used to identify a state of adaption of a grid, approx-space, ... More... | |
class | RiverOrdering |
class | RotatingCone2d |
class | RotatingVelocity2d |
class | RowSendingScheme |
class | ScalarGridFunctionData |
class | ScalarLowerObstacle |
Scalar Lower Obstacles. More... | |
class | ScalarSubVectorAdapter |
class | ScalarUpperObstacle |
class | ScaleAddLinker |
class | ScaledGridFunctionEstimator |
class | SCCOrdering |
class | SchurComplementMatrixOperator |
class | SchurComplementOperator |
class | SchurInverseWithAGammaGamma |
class | SchurInverseWithAutoFullMatrix |
class | SchurInverseWithFullMatrix |
class | SchurInverseWithOperator |
class | SchurPrecond |
operator implementation of the DD Schur complement solver More... | |
struct | SCVFofSCVRayIntersectionWrapper |
struct | SCVFofSCVRayIntersectionWrapper< 2, 2 > |
class | SDIRK |
Singly Diagonal Implicit Runge Kutta Method. More... | |
class | SectionContainer |
A container that is divided into different sections. More... | |
struct | SectionContainerSelector |
Helper class to access the correct element storage from its element type. More... | |
struct | SectionContainerSelector< Edge > |
struct | SectionContainerSelector< Face > |
struct | SectionContainerSelector< Vertex > |
struct | SectionContainerSelector< Volume > |
class | Selector |
specialization of ISelector for a grid of class Grid. More... | |
class | SequentialSubspaceCorrection |
Sequential subspace correction preconditioner. More... | |
class | ShadowCopyAdjuster |
Adjusts RM_FULL-selected quadrilaterals that cannot be fully refined. More... | |
class | SideAndElemErrEstData |
Error estimator data class storing a number vector per side and per element. More... | |
class | SideFluxErrEstData |
Error estimator data class storing one scalar number per side. More... | |
class | SimpleGrid |
class | SimpleTimeIntegrator |
class | SliceIndexView |
class | SlicingData |
class | SmartPtrVector |
class | SmoothPartitionBounds |
early draft. Currently only useful for prism-geometries in the d3f-wipp setting More... | |
class | SmoothProjector |
Smoothes vertices during refinement. More... | |
class | SoftAbort |
This special error is used to perform a soft-abort e.g. during script execution. More... | |
class | SomaProjector |
Projects new vertices onto a sphere during refinement. More... | |
class | SortedGridFunctionOrdering |
struct | sortStruct |
struct | SortVertexPos |
class | SparseBlockGaussSeidel |
class | SparseBlockGaussSeidel2 |
class | SparseMatrix |
sparse matrix for big, variable sparse matrices. More... | |
class | SparseVector |
class | Sphere |
class | SphereProjector |
Projects new vertices onto a sphere during refinement. More... | |
class | StandardLineSearch |
standard implementation of the line search based on the "sufficient descent" More... | |
struct | static_type |
struct | std_number_vector_attachment_reduce_traits |
class | StdArrayCommunicationScheme |
Communication Scheme for synchronization of arrays or similar datastructures. More... | |
class | StdBalanceWeights |
class | StdCoarseningMarkingStrategy |
M. Breit's standard coarsening strategy. More... | |
class | StdConstData |
class | StdConvCheck |
class | StdDataLinker |
combines several UserDatas to a new UserData of a specified type More... | |
class | StdDependentUserData |
class | StdExplicitGridFunctionData |
class | StdFuncIntegrand |
class | StdGlobAssembler |
Global assembler based on the straightforward application of the local discretizations. More... | |
class | StdGlobPosData |
class | StdHNodeAdjuster |
Makes sure that elements are marked correctly so that hnode-refinement produces a valid grid. More... | |
class | StdInjection |
class | StdIntegrand |
Abstract integrand interface (using CRTP) More... | |
class | StdLagrangeElemTransfer |
class | StdLinConsistentGravity |
Class for the computation of the standard version ('Voss-Souza-type') of the consistent gravity. More... | |
class | StdLinConsistentGravityX |
Class for the computation of the enhanced version ('Frolkovic-type') of the consistent gravity. More... | |
class | StdRefinementMarkingStrategy |
M. Breit's standard refinement strategy. More... | |
class | StdTransfer |
Standard Prolongation Operator. More... | |
class | StdUserData |
class | stdvector |
class | Stopwatch |
Stopwatch class for quickly taking times. More... | |
struct | storage_traits1 |
struct | storage_traits1< FixedArray1< T, N > > |
struct | storage_traits1< VariableArray1< T > > |
class | StringTableStream |
class | StrongNegativeConnectionsByBlockNorm |
Adds 'strong negative connections' to graph. More... | |
class | SubdivisionProjector |
Applies piecewise smooth loop subdivision rules. More... | |
class | SubdivRules_PLoop |
A singleton that stores all rules for a piecewise-loop subdivision surface. More... | |
class | SubGrid |
specializes ISubGrid for general callback classes. More... | |
class | SubLocalDoFSet |
class | SubsetGroup |
Group of subsets. More... | |
class | SubsetHandlerSerializer |
class | SubsetIndicatorUserData |
User data of a subset indicator (1 in the subset, 0 everywhere else) More... | |
struct | SubsetInfo |
a struct that holds information associated with subsets. More... | |
struct | SuperLUConfiguration |
class | SuperLUImplementation |
class | SuperLUSolver |
class | SupErrorEvaluator |
class | SurfaceView |
Represents the surface view of a multi-grid hierarchy. More... | |
struct | SweepLineEdge |
struct | SweepLineVertex |
class | SymmetricGaussSeidel |
class | SymP1Constraints |
class | T_min |
class | Table |
Useful for printing a table to the terminal or into a file. More... | |
struct | TargetProcInfo |
struct | TarHeader |
class | TE_AlphaVec |
class | TE_AMV_X |
class | TE_TRANSPOSED |
class | TE_VecAdd2 |
class | TE_VecAdd3 |
class | TE_VecScale |
class | TE_Vector |
class | TElemSelector |
specialization of ISelector for a subset of the elements in a grid of class Grid. More... | |
class | TemporalFinishedCondition |
class | Tetrahedron |
the most simple volume-element. More... | |
class | TetrahedronClass |
class | TetrahedronDescriptor |
only used to initialize a tetrahedron. for all other tasks you should use VolumeDescripor. More... | |
class | THangingNodeRefiner |
Gives access to a hanging node refiner, depending on the grid-type. More... | |
class | THangingNodeRefiner< Grid > |
class | THangingNodeRefiner< MultiGrid > |
class | ThetaTimeStep |
theta time stepping scheme More... | |
struct | TIKZElem |
struct | TikzExportDesc |
class | TimeDependentSpace |
Wrapper class for time dependence. More... | |
class | TimeIntegratorLinearAdaptive |
class | TimeIntegratorSubject |
Base class for a subject notifying observers attachment. More... | |
class | TimeStepBounds |
class | TKDInfo |
class | ToElementPosition |
class | TopologicalOrdering |
class | TParallelGlobalRefiner |
Adds parallel support to a global refiner. More... | |
class | TransferValueAccessor |
class | TRANSPOSED |
this helper class is a transposed of class A More... | |
class | Traverser_FindContainingElement |
class | Traverser_FindElementsInIntersectingNodes |
class | Traverser_FindLowestLeafNodeLevel |
class | Traverser_MinMaxNumElements |
returns the minimum and maximum number of elements in all subtrees of nodes of the given level More... | |
class | Traverser_RayElementIntersection |
struct | TRI |
class | Triangle |
the most simple form of a face More... | |
class | TriangleDescriptor |
only used to initialize a triangle. for all other tasks you should use FaceDescriptor. More... | |
class | TruncatedEquidistantLagrange1D |
class | TruncatedMonotoneTransfer |
struct | TypeList |
struct | TypeList< EmptyType, EmptyType, EmptyType, EmptyType, EmptyType, EmptyType, EmptyType, EmptyType, EmptyType, EmptyType, EmptyType, EmptyType > |
struct | TypeValueList |
struct | TypeValueList< TypeList<> > |
class | UGError |
Instances of this class or of derived classes are thrown if errors arise. More... | |
struct | UGError_ReferenceElementMissing |
Exception thrown when reference element not found. More... | |
class | UGProfileNode |
class | UGProfileNodeNull |
This singleton represents a UGProfileNode that has not been found. More... | |
class | UGXFileInfo |
class | UID |
supplies a unique ID. More... | |
class | UndirectedMatrix |
class | UniqueFVGeomIDProvider |
a singleton class that returns a new id for each type More... | |
class | UniqueTypeIDProvider |
a singleton class that returns a new id for each type More... | |
class | UnsortedSparseVector |
class | unvisited_iterator |
class | UpdateableMatrixOperator |
struct | user_data_traits |
struct | user_data_traits< MathMatrix< dim, dim > > |
struct | user_data_traits< MathTensor< 4, dim > > |
struct | user_data_traits< MathVector< dim > > |
struct | user_data_traits< number > |
class | UserData |
Type based UserData. More... | |
class | UserDataDistIntegrandSq |
For arbitrary UserData \(f\) and grid functions \(u_1\) and \(u_2\), this class (should) define the integrand \( (f(u_1)- f(u_2))^2 \). More... | |
class | UserDataInfo |
base class providing runtime-info on dimension and type More... | |
class | UserDataIntegrand |
For arbitrary UserData \(\rho\), this class defines the integrand \(\rho(u)\). More... | |
class | UserDataIntegrandSq |
For arbitrary UserData \(f\) (of type TData), this class defines the integrand \(f^2(u)\). More... | |
class | UserDataSpace |
class | UserVectorEntryAdapter |
class | UzawaBase |
class | UzawaSlicing |
class | ValueDataExport |
class | ValueIndicatorUserData |
"Heaviside step function" based on the value of values of a further userdata More... | |
class | Vanka |
Vanka Preconditioner. More... | |
struct | variable_type |
class | VariableArray1 |
class | VariableArray2 |
class | VarianceMarking |
class | VarianceMarkingEta |
Marks elements above a certain threshold for refinement. More... | |
class | Variant |
A variant can represent variables of different types. More... | |
class | Vector |
struct | vector_attachment_reduce_traits |
class | VectorDataExport |
class | VectorDebugWritingObject |
struct | VectorProxy |
struct | VectorProxyBase |
Proxy struct for generic passing of any vector type. More... | |
class | VectorTimeSeries |
time series of solutions and corresponding time point More... | |
class | Vertex |
Base-class for all vertex-types. More... | |
class | VertexBasedSubspace |
Collects indices on all elements with v \in Vtx(elem) More... | |
class | VertexCenteredVankaSubspace |
Collects indices on all elements with v \in Vtx(elem) More... | |
class | VertexDescriptor |
This descriptor is mainly useful to avoid compilation errors in templated code. More... | |
class | VertexFractureProperties |
class | VertexFractureTriple |
class | VMAdd |
--> documentation in vm.doxygen <–/// More... | |
class | Volume |
Volumes are 3-dimensional objects. More... | |
class | VolumeDescriptor |
Holds a set of vertices which represent the corners of a volume element. More... | |
class | VolumeVertices |
holds the vertices of a Volume or a VolumeDescriptor More... | |
class | VTKOutput |
output writer to the VTK file format More... | |
class | VTKOutputObserver |
struct | xy |
struct | xyz |
class | ZRayTracer |
Functions | |
void | AbortRun () |
sets a flag, that the current run shall be aborted during the next call of TerminateAbortedRun() More... | |
bool | absCompare (double a, double b) |
bool | AdaptSurfaceGridToCylinder (Selector &selOut, Grid &grid, Vertex *vrtCenter, const vector3 &normal, number radius, number rimSnapThreshold, AInt &aInt, APosition &aPos=aPosition) |
Performs local remeshing so that the grid is adapted to the given cylinder. More... | |
bool | AdaptSurfaceGridToCylinder (Selector &selOut, Grid &grid, Vertex *vrtCenter, const vector3 &normal, number radius, number rimSnapThreshold, APosition &aPos=aPosition) |
Performs local remeshing so that the grid is adapted to the given cylinder. More... | |
void | AddAllFromInterface (std::set< size_t > &s, const IndexLayout::Interface &interface) |
void | AddAllFromLayout (std::set< size_t > &s, const IndexLayout &layout) |
void | AddConnectionsBetweenSlaves (pcl::InterfaceCommunicator< IndexLayout > &communicator, IndexLayout &masterLayout, IndexLayout &slaveLayout, IndexLayout &allToAllSend, IndexLayout &allToAllReceive) |
template<class TLayout > | |
bool | AddEntriesToIndexLayout_DomainDecomposition (IndexLayout &processLayoutOut, IndexLayout &subdomainLayoutOut, DoFDistribution &dofDistr, TLayout &elemLayout, pcl::IDomainDecompositionInfo *ddInfoIn) |
template<class TLayout > | |
bool | AddEntriesToLevelIndexLayout (IndexLayout &indexLayoutOut, DoFDistribution &dofDistr, TLayout &elemLayout, const std::map< int, std::vector< bool > > *pIgnoreMap=NULL) |
template<class TLayout > | |
bool | AddEntriesToSurfaceIndexLayout (IndexLayout &indexLayoutOut, DoFDistribution &dofDistr, TLayout &elemLayout, MultiGrid &mg, DistributedGridManager &dGrMgr) |
bool | AddExtraProcessEntriesToSubdomainLayout (size_t numIDs, IndexLayout &processMasterLayoutIn, IndexLayout &processSlaveLayoutIn, IndexLayout &subdomainMasterLayoutInOut, IndexLayout &subdomainSlaveLayoutInOut) |
template<typename TGridFunction > | |
void | AddFunctionValuesToGridCoordinatesP1 (SmartPtr< TGridFunction > spGridFct, const char *cmp, size_t coordInd) |
template<typename TGridFunction > | |
void | AddFunctionValuesToGridCoordinatesP1 (SmartPtr< TGridFunction > spGridFct, const char *cmp, size_t coordInd, number timestep) |
template<typename TGridFunction > | |
void | AddFunctionValuesToGridCoordinatesP1 (SmartPtr< TGridFunction > spGridFct, size_t fct, size_t coordInd, const SubsetGroup &ssGrp, number timestep) |
template<class TElem > | |
static void | AddGlobalAttachmentsToSerializer (GridDataSerializationHandler &handler, Grid &grid) |
Adds serializers for all registered global attachments. More... | |
template<class TDomain > | |
static SPIRefMarkAdjuster | AddHorizontalAnisotropyAdjuster (IRefiner *ref, TDomain *dom) |
Adds a horizontal-anisotropy-adjuster to the given refiner. More... | |
void | AddIfUnique (IndexLayout::Interface &interface, size_t i) |
template<typename TGlobalToLocal > | |
void | AddLayoutFromGlobalLayout (IndexLayout &layout, GlobalLayout &globalLayout, TGlobalToLocal &globalToLocal, bool bRemoveDoubles=true) |
template<typename TGlobalMatrix , typename TLocalMatrix > | |
bool | AddLocalMatrix (TGlobalMatrix &mat, const TLocalMatrix &localMat) |
template<typename TGlobalMatrix , typename TLocalMatrix > | |
bool | AddLocalMatrix (TGlobalMatrix &mat, const TLocalMatrix &localMat, const size_t *rowIndices, const size_t *colIndices) |
template<typename TMatrix > | |
void | AddLocalMatrixToGlobal (TMatrix &mat, const LocalMatrix &lmat) |
template<typename TVector > | |
void | AddLocalVector (TVector &vec, const LocalVector &lvec) |
template<typename A > | |
void | AddMult (A &dest, const A &vec, const double &b) |
template<typename A , typename B , typename C > | |
void | AddMult (A &dest, const B &b, const C &vec) |
template<typename A , typename B , typename C > | |
void | AddMult (DenseMatrix< A > &dest, const DenseMatrix< B > &mA, const DenseMatrix< C > &mB) |
template<typename A , typename B > | |
void | AddMult (DenseMatrix< A > &dest, const double &alpha, const DenseMatrix< B > &mat) |
template<typename A , typename B , typename C > | |
void | AddMult (DenseVector< A > &dest, const DenseMatrix< B > &mat, const DenseVector< C > &vec) |
template<typename A , typename B > | |
void | AddMult (DenseVector< A > &dest, const double &b, const A &vec) |
void | AddMult (number &dest, const number &b, const number &vec) |
template<typename ABC_type , typename A_type , typename B_type , typename C_type > | |
void | AddMultiplyOf (ABC_type &M, const A_type &A, const B_type &B, const C_type &C, double epsilonTruncation=0.0) |
Calculates M += A*B*C. More... | |
static SPIRefMarkAdjuster | AddShadowCopyAdjuster (IRefiner *ref) |
Adds a ShadowCopyAdjuster to the given refiner. More... | |
template<class TElem > | |
static void | AddTargetProcToDistInfos (MGSelector &msel, DistInfoSupplier &distInfos, int targetProc) |
bool | AdjustEdgeLength (Grid &grid, SubsetHandler &shMarks, const AdjustEdgeLengthDesc &desc, int numIterations) |
bool | AdjustEdgeLength (Grid &grid, SubsetHandler &shMarks, number minEdgeLen, number maxEdgeLen, int numIterations, bool projectPoints, bool adaptive) |
template<typename TGridFunction > | |
void | AdjustMeanValue (SmartPtr< TGridFunction > spGF, const std::string &fcts) |
template<typename TGridFunction > | |
void | AdjustMeanValue (SmartPtr< TGridFunction > spGF, const std::string &fcts, number mean) |
template<typename TGridFunction > | |
void | AdjustMeanValue (SmartPtr< TGridFunction > spGF, const std::vector< std::string > &vCmp) |
template<typename TGridFunction > | |
void | AdjustMeanValue (SmartPtr< TGridFunction > spGF, const std::vector< std::string > &vCmp, number mean) |
static void | AdjustSelection (Grid &grid, Selector &sel) |
void | AdjustSubsetsForLgmNg (Grid &grid, SubsetHandler &sh, bool keepExistingInterfaceSubsets=false) |
reorders subsets in a way that allows for easy export to lgm-ng. More... | |
template<class TSubsetHandler > | |
void | AdjustSubsetsForSimulation (TSubsetHandler &sh, bool preserveExistingSubsets) |
Adjust the grid so that it is ready for simulation with ug4. More... | |
AGeomObjID | aGeomObjID ("globalID", false) |
void | AllGatherGrid (Grid &gridOut, Selector &sel, GridDataSerializationHandler &serializer, GridDataSerializationHandler &deserializer, const pcl::ProcessCommunicator &procCom=pcl::ProcessCommunicator()) |
AllGathers selected parts of a grid into 'gridOut'. More... | |
DebugID | APP ("APP") |
UG_API void | AppendCounterToString (std::string &str, std::string indicator, int counter, int maxCounter=-1) |
appends a counter number to a string More... | |
void | AppendCounterToString (string &str, string indicator, int counter, int maxCounter) |
template<typename TLayout > | |
bool | AppendInterface (TLayout &layout, int pidSource, int pidAppendTo) |
UG_API std::string | AppendSpacesToString (std::string &str, int totalLength) |
padding a string with spaces to predefined length More... | |
string | AppendSpacesToString (string &str, int totalLength) |
void | ApplyConstrainedSmoothSubdivisionVolumesToTopLevel (MultiGrid &mg, MGSubsetHandler &sh, MGSubsetHandler &markSH, const char *linearManifoldSubsets) |
template<typename vector_type > | |
bool | ApplyLinearSolver (SmartPtr< ILinearOperator< vector_type > > A, vector_type &u, vector_type &b, SmartPtr< ILinearOperatorInverse< vector_type > > solver) |
template<class TAPosition > | |
void | ApplySmoothManifoldPosToTopLevelAveragingScheme (MultiGrid &mg, TAPosition &aPos, MGSubsetHandler &markSH, MGSubsetHandler &linearManifoldSH) |
Toplevel vertex repositioning function for subdivision surfaces refinement (Averaging scheme) More... | |
template<class TAPosition > | |
void | ApplySmoothManifoldPosToTopLevelButterflyScheme (MultiGrid &mg, TAPosition &aPos, MGSubsetHandler &markSH, MGSubsetHandler &linearManifoldSH) |
Toplevel vertex repositioning function for subdivision surfaces refinement (Butterfly scheme) More... | |
template<class TAPosition > | |
void | ApplySmoothManifoldPosToTopLevelLoopScheme (MultiGrid &mg, TAPosition &aPos, MGSubsetHandler &markSH, MGSubsetHandler &linearManifoldSH, bool bCreaseSurf) |
Toplevel vertex repositioning function for subdivision surfaces refinement (by C. Loop, 1987) More... | |
template<class TAPosition > | |
void | ApplySmoothSubdivisionSurfacesToTopLevel (MultiGrid &mg, TAPosition &aPos, MGSubsetHandler &sh, MGSubsetHandler &markSH, const char *linearManifoldSubsets, bool bCreaseSurf) |
Wrapper procedures for smooth subdivision surfaces/volumes hierarchy creation. More... | |
template<class TAPosition > | |
void | ApplySmoothSubdivisionSurfacesToTopLevel (MultiGrid &mg, TAPosition &aPos, MGSubsetHandler &sh, MGSubsetHandler &markSH, MGSubsetHandler &linearManifoldSH, bool bCreaseSurf) |
Function to create a smooth subdivision volumes hierarchy. More... | |
template void | ApplySmoothSubdivisionSurfacesToTopLevel< APosition > (MultiGrid &mg, APosition &aPos, MGSubsetHandler &sh, MGSubsetHandler &markSH, const char *linearManifoldSubsets, bool bCreaseSurf) |
template void | ApplySmoothSubdivisionSurfacesToTopLevel< APosition1 > (MultiGrid &mg, APosition1 &aPos, MGSubsetHandler &sh, MGSubsetHandler &markSH, const char *linearManifoldSubsets, bool bCreaseSurf) |
template void | ApplySmoothSubdivisionSurfacesToTopLevel< APosition2 > (MultiGrid &mg, APosition2 &aPos, MGSubsetHandler &sh, MGSubsetHandler &markSH, const char *linearManifoldSubsets, bool bCreaseSurf) |
void | ApplySmoothSubdivisionVolumesToTopLevel (MultiGrid &mg, MGSubsetHandler &sh, MGSubsetHandler &markSH, const char *linearManifoldSubsets) |
void | ApplySmoothSubdivisionVolumesToTopLevel (MultiGrid &mg, MGSubsetHandler &sh, MGSubsetHandler &markSH, MGSubsetHandler &linearManifoldSH, bool bConstrained) |
Function to create a smooth subdivision volumes hierarchy. More... | |
void | ApplySmoothVolumePosToTopLevel (MultiGrid &mg, MGSubsetHandler &markSH, bool bConstrained) |
Toplevel vertex repositioning function for subdivision volumes refinement. More... | |
template<class TIterator > | |
UG_API number | AreaFaceQuality (TIterator facesBegin, TIterator facesEnd, Grid::VertexAttachmentAccessor< APosition > &aaPos) |
returns a value between 0 (bad) and 1 (good) that describes the quality of the area. More... | |
template<class TIterator > | |
number | AreaFaceQuality (TIterator facesBegin, TIterator facesEnd, Grid::VertexAttachmentAccessor< APosition > &aaPos) |
returns a value between 0 (bad) and 1 (good) that describes the quality of the area. More... | |
template<class TType > | |
int | ArrayEraseEntry (TType *array, const TType &entry, size_t size) |
removes the first occurance of the specified entry. More... | |
template<class TType > | |
bool | ArrayReplaceEntry (TType *array, const TType &newEntry, const TType &oldEntry, size_t size) |
replaces the first occurance of oldEntry with newEntry More... | |
template<class TType > | |
void | ArraySwapWithLast (TType *array, const TType &entry, size_t size) |
Swaps the first entry with the given value with the last entry in the list. More... | |
template<> | |
bool | ArteExpandFracs3D::establishNewVertices< false, ArteExpandFracs3D::VrtxFracProptsStatus::oneFracSuDoAtt > (Vertex *const &oldVrt) |
template<> | |
bool | ArteExpandFracs3D::establishNewVertices< true, ArteExpandFracs3D::VrtxFracProptsStatus::oneFracSuDoAtt > (Vertex *const &oldVrt) |
template<class TAAPos > | |
number | AspectRatio (FaceVertices *f, TAAPos &aaPos) |
Returns the aspect ratio of a face. More... | |
template<class TAAPos > | |
number | AspectRatio (Volume *vol, TAAPos &aaPos) |
template<int dim, typename TAlgebra > | |
void | AssembleInjectionByAverageOfChildren (typename TAlgebra::matrix_type &mat, const DoFDistribution &coarseDD, const DoFDistribution &fineDD) |
template<typename TAlgebra > | |
void | AssembleInjectionByAverageOfChildren (typename TAlgebra::matrix_type &mat, const DoFDistribution &coarseDD, const DoFDistribution &fineDD) |
template<typename TAlgebra > | |
void | AssembleInjectionForP1Lagrange (typename TAlgebra::matrix_type &mat, const DoFDistribution &coarseDD, const DoFDistribution &fineDD) |
template<typename TAlgebra > | |
void | AssembleLinearOperatorRhsAndSolution (AssembledLinearOperator< TAlgebra > &op, typename TAlgebra::vector_type &u, typename TAlgebra::vector_type &b) |
help function to assemble a linear operator More... | |
template<class TElem , class TSubsetHandler > | |
void | AssignAssociatedEdgesToSubsets (TSubsetHandler &sh, const ISubsetHandler &srcIndHandler) |
Assigns associated edges of elements of type TElem in sh to sh. More... | |
template<class TElem , class TSubsetHandler > | |
void | AssignAssociatedFacesToSubsets (TSubsetHandler &sh, const ISubsetHandler &srcIndHandler) |
Assigns associated faces of elements of type TElem in sh to sh. More... | |
template<class TElem , class TSubsetHandlerDest , class TSubsetHandlerSrc > | |
void | AssignAssociatedLowerDimElemsToSubsets (TSubsetHandlerDest &sh, const TSubsetHandlerSrc &srcIndHandler) |
Assigns associated elements of elements of type TElem in sh to sh. More... | |
template<class TElem , class TSubsetHandlerDest , class TSubsetHandlerSrc > | |
void | AssignAssociatedLowerDimElemsToSubsets (TSubsetHandlerDest &sh, const TSubsetHandlerSrc &srcIndHandler, const Edge &) |
helper with with dummy-param for compile-time function selection. More... | |
template<class TElem , class TSubsetHandlerDest , class TSubsetHandlerSrc > | |
void | AssignAssociatedLowerDimElemsToSubsets (TSubsetHandlerDest &sh, const TSubsetHandlerSrc &srcIndHandler, const Face &) |
helper with with dummy-param for compile-time function selection. More... | |
template<class TElem , class TSubsetHandlerDest , class TSubsetHandlerSrc > | |
void | AssignAssociatedLowerDimElemsToSubsets (TSubsetHandlerDest &sh, const TSubsetHandlerSrc &srcIndHandler, const Volume &) |
helper with with dummy-param for compile-time function selection. More... | |
template<class TElem , class TSubsetHandlerDest , class TSubsetHandlerSrc > | |
void | AssignAssociatedSidesToSubsets (TSubsetHandlerDest &sh, const TSubsetHandlerSrc &srcIndHandler) |
Assigns associated sides of elements of type TElem in sh to sh. More... | |
template<class TIterator > | |
void | AssignAssociatedVerticesToSubset (ISubsetHandler &sh, TIterator elemsBegin, TIterator elemsEnd, int subsetIndex) |
assigns vertices of the given elements to the subset at subsetIndex More... | |
template<class TElem , class TSubsetHandler > | |
void | AssignAssociatedVerticesToSubsets (TSubsetHandler &sh, const ISubsetHandler &srcIndHandler) |
Assigns associated vertices of elements of type TElem in sh to sh. More... | |
static void | AssignCreaseVertices (Grid &grid, SubsetHandler &shMarks) |
static void | AssignCreaseVertices (Grid &grid, SubsetHandler &shMarks) |
void | AssignDefaultSubsetColors (ISubsetHandler &sh) |
assigns ug4's default subset colors More... | |
void | AssignFaceInterfaceEdgesToSubsets (Grid &grid, SubsetHandler &sh) |
assigns edges which belong to no subset and are adjacent to faces of different subsets to new subsets. More... | |
void | assignFaceSubsetToClosedFace (std::vector< Face * > &faceVec, Grid &grid, SubsetHandler &sh) |
static void | AssignFixedVertices (Grid &grid, SubsetHandler &shMarks) |
static void | AssignFixedVertices (Grid &grid, SubsetHandler &shMarks) |
void | AssignGridToSubset (Grid &g, ISubsetHandler &sh, int subsetInd) |
Assigns all elements of the given grid to the given subset. More... | |
template<class TIterator , class TAAInt > | |
void | AssignIndices (TIterator begin, TIterator end, TAAInt &aaInt, int baseIndex=0) |
assigns indices to the elements between begin and end. More... | |
template<class TElem > | |
void | AssignIndices (typename geometry_traits< TElem >::iterator iterBegin, typename geometry_traits< TElem >::iterator iterEnd, Grid::AttachmentAccessor< TElem, AInt > &aaInt) |
void | AssignInnerAndBoundarySubsets (Grid &grid, ISubsetHandler &shOut, int inSubset, int bndSubset) |
assigns objects to subsets depending on whether they are inner or boundary objects. More... | |
template<typename A > | |
void | AssignMult (A &dest, const A &vec, const double &b) |
template<typename A , typename B , typename C > | |
void | AssignMult (A &dest, const B &b, const C &vec) |
template<typename A , typename B , typename C > | |
void | AssignMult (DenseMatrix< A > &dest, const DenseMatrix< B > &mA, const DenseMatrix< C > &mB) |
template<typename A , typename B > | |
void | AssignMult (DenseMatrix< A > &dest, const double &alpha, const DenseMatrix< B > &mat) |
template<typename A , typename B , typename C > | |
void | AssignMult (DenseVector< A > &dest, const DenseMatrix< B > &mat, const DenseVector< C > &vec) |
template<typename A , typename B > | |
void | AssignMult (DenseVector< A > &dest, const double &b, const DenseVector< B > &vec) |
void | AssignMult (number &dest, const number &b, const number &vec) |
void | AssignRegionToSubset (Grid &grid, ISubsetHandler &shVolsOut, const ISubsetHandler &shFaces, Volume *proxyVol, int newSubsetIndex) |
assigns a region of volumes to a subset. More... | |
template<class TElem , class TSelector > | |
void | AssignSelectionStateToSides (TSelector &sel, bool recursive) |
Assigns the selection state of selected elements to associated sides. More... | |
void | AssignSelectionToSubset (ISelector &sel, ISubsetHandler &sh, int subsetInd) |
Assigns all selected elements to the specified subset. More... | |
template<class TElem > | |
void | AssignSidesToSubsets (ISubsetHandler &sh, ISelector *psel=NULL) |
Assigns all sides of elements of the given type to a separate subset. More... | |
template void | AssignSidesToSubsets< Edge > (ISubsetHandler &, ISelector *) |
template void | AssignSidesToSubsets< Face > (ISubsetHandler &, ISelector *) |
template void | AssignSidesToSubsets< Volume > (ISubsetHandler &, ISelector *) |
template<class TDomain > | |
void | AssignSubset_VerticesInCube (TDomain &dom, const typename TDomain::position_type &min, const typename TDomain::position_type &max, int si) |
Marks all elements which have vertices in the given d-dimensional cube. More... | |
template<class TDomain > | |
void | AssignSubset_VerticesInSphere (TDomain &dom, const typename TDomain::position_type ¢er, const number radius, int si) |
Marks all elements which have vertices in the given d-dimensional cube. More... | |
void | AssignSubsetColors (ISubsetHandler &sh) |
assigns a different color to each subset More... | |
void | AssignSubsetColorsBlueToGreen (ISubsetHandler &sh, int firstSi, int numSi) |
void | AssignSubsetColorsRedToGreen (ISubsetHandler &sh, int firstSi, int numSi) |
void | AssignSubsetsByElementQuality (Grid &grid, SubsetHandler &sh, int dim, int numSecs) |
void | AssignSubsetsByElementQuality (MultiGrid &mg, MGSubsetHandler &sh, int dim, int numSecs) |
void | AssignSubsetsByElementQuality3d (MultiGrid &grid, MGSubsetHandler &sh, int numSecs) |
template<class TElem > | |
static void | AssignSubsetsByInterfaceType (SubsetHandler &sh, MultiGrid &mg) |
template<class TElem > | |
static void | AssignSubsetsByLevel (SubsetHandler &sh, MultiGrid &mg) |
template<class TIterator > | |
bool | AssignSubsetsByQuality (Grid &grid, SubsetHandler &sh, TIterator elemsBegin, TIterator elemsEnd, std::vector< number > intervals) |
assigns a subset based on the quality of the given element. More... | |
template<class TElem > | |
static void | AssignSubsetsBySurfaceViewState (SubsetHandler &sh, const SurfaceView &sv, MultiGrid &mg) |
void | AssignSubsetToElementWithSmallestMinAngle (MultiGrid &grid, MGSubsetHandler &sh, int dim, const char *roid, int si) |
void | AssignSubsetToElementWithSmallestMinAngle2d (MultiGrid &grid, MGSubsetHandler &sh, const char *roid, int si) |
void | AssignSubsetToElementWithSmallestMinAngle3d (MultiGrid &grid, MGSubsetHandler &sh, const char *roid, int si) |
bool | AssignTetrahedronAttributesByAspectRatio (Grid &grid, SubsetHandler &shVolume, AInt &aTetrahedronAspectRatioClass, std::vector< double > &offsets, Grid::VertexAttachmentAccessor< APosition > &aaPos) |
assigns tetrahedral elements of a grid to subsets respecting their aspect ratio More... | |
bool | AssignTetrahedronAttributesByAspectRatio (Grid &grid, SubsetHandler &shVolume, AInt &aTetrahedronAspectRatioClass, vector< double > &offsets, Grid::VertexAttachmentAccessor< APosition > &aaPos) |
assigns attributes to tetrahedral elements of a grid respecting their aspect ratio More... | |
template<class TElem , class TSubsetHandler > | |
void | AssignUnassignedElemsToSubset (TSubsetHandler &sh, int si) |
Assigns all elements of type TElem with subset index -1 to subset at index si. More... | |
template<class TElem > | |
static void | AssignVerticalMasterAndSlaveStates (MGSelector &msel, bool partitionForLocalProc) |
void | AssignVolumeInterfaceFacesToSubsets (Grid &grid, SubsetHandler &sh) |
assigns faces which belong to no subset and are adjacent to volumes of different subsets to new subsets. More... | |
bool | AttachAct (Grid &grid, const char *filename, string name) |
template<typename TElem , typename AType > | |
void | AttachmentAllReduce (Grid &grid, AType aValue, pcl::ReduceOperation op) |
bool | AttachProperty (Grid &grid, const char *filename, string name) |
template<typename TDomain , typename TAlgebra > | |
number | AverageFunctionDifference (SmartPtr< GridFunction< TDomain, TAlgebra > > spGridFct, std::string subset, std::string fct1, std::string fct2) |
Calculates the average of the pointwise difference of two functions on given subset. More... | |
template<typename TPosition > | |
void | AveragePositions (TPosition &vOut, const TPosition *vCornerCoords, size_t num) |
averages positions by arithmetic mean More... | |
template<typename TSparseMatrix , typename vector_t > | |
bool | Axpy_transposedCommonSparseMatrix (const TSparseMatrix &A, vector_t &dest, const number &alpha1, const vector_t &v1, const number &beta1, const vector_t &w1) |
template<typename TSparseMatrix , typename vector_t > | |
bool | AxpyCommonSparseMatrix (const TSparseMatrix &A, vector_t &dest, const number &alpha1, const vector_t &v1, const number &beta1, const vector_t &w1) |
template<typename Matrix_type , typename Vector_type > | |
void | backward_gs_step (Vector_type &c, const Matrix_type &A, const Vector_type &d, const size_t i, const number relaxFactor) |
void | baseName (std::string &nameOut, const std::string &nameIn) |
static int | Bevel2d (const vector3 &p) |
static int | Bevel3d (const vector3 &p) |
int | BinomCoeff (int n, int k) |
Returns the BinomialCoefficient. More... | |
template<size_t Tr, size_t Tc> | |
bool | BlockDeserialize (std::istream &buff, const DenseMatrix< FixedArray2< number, Tr, Tc > > &mat) |
template<typename TBlock > | |
bool | BlockMatrixFiniteAndNotTooBig (TBlock &m, double tooBigValue=1e24) |
template<typename TMatrix > | |
void | BlockMatrixToDoubleMatrix (DenseMatrix< VariableArray2< double > > &Ad, TMatrix &Ab) |
template<typename A > | |
double | BlockMaxNorm (const DenseVector< A > &v) |
template<> | |
number | BlockMaxNorm (const number &a) |
template<typename T > | |
number | BlockMaxNorm (const T &t) |
template<> | |
number | BlockNorm (const number &a) |
template<typename T > | |
number | BlockNorm (const T &t) |
template<typename TYPE > | |
double | BlockNorm (const TYPE &v) |
template<typename A > | |
double | BlockNorm2 (const DenseMatrix< A > &mat) |
template<typename A > | |
double | BlockNorm2 (const DenseVector< A > &v) |
template<> | |
number | BlockNorm2 (const number &a) |
template<typename T > | |
number | BlockNorm2 (const T &t) |
template<typename TYPE > | |
double | BlockNorm2 (const TYPE &v) |
template<> | |
const number & | BlockRef (const number &m, size_t i) |
template<> | |
const number & | BlockRef (const number &m, size_t i, size_t j) |
template<typename T > | |
const double & | BlockRef (const T &mat, size_t i, size_t j) |
template<typename T > | |
const double & | BlockRef (const T &vec, size_t i) |
template<> | |
number & | BlockRef (number &m, size_t i) |
template<> | |
number & | BlockRef (number &m, size_t i, size_t j) |
template<typename T > | |
double & | BlockRef (T &mat, size_t i, size_t j) |
template<typename T > | |
double & | BlockRef (T &vec, size_t i) |
template<size_t Tr, size_t Tc> | |
bool | BlockSerialize (const DenseMatrix< FixedArray2< number, Tr, Tc > > &mat, std::ostream &buff) |
template<typename TBlock > | |
bool | BlockVectorFiniteAndNotTooBig (TBlock &v, double tooBigValue=1e24) |
template<class T > | |
void | BlurField (Field< T > &field, number alpha, size_t numIterations, const T &noDataValue) |
Smoothens the field by adjusting the value of each pixel towards the average of its neighbours. More... | |
template<class vector_t > | |
bool | BoxBoundProbe (const vector_t &v, const vector_t &boxMin, const vector_t &boxMax) |
Returns true if the point lies inside or on the boundary of the box. More... | |
template<class vector_t > | |
bool | BoxBoxIntersection (const vector_t &box1Min, const vector_t &box1Max, const vector_t &box2Min, const vector_t &box2Max) |
checks whether two boxes intersect. More... | |
static void | bp_defect_and_gradient (number &defectOut, vector3 &gradientOut, const std::vector< NeuriteProjector::BPProjectionHelper > &bpList, const vector3 &x, number rad, const vector3 &constAngleSurfNormal, const NeuriteProjector *np) |
static void | bp_newton_start_pos (vector3 &initOut, uint32_t neuriteID, float t, float angle, float rad, const vector3 &constAngleSurfaceNormal, const IVertexGroup *parent, const NeuriteProjector *np) |
void | BroadcastGrid (Grid &gridOut, Selector &sel, GridDataSerializationHandler &serializer, GridDataSerializationHandler &deserializer, int root, const pcl::ProcessCommunicator &procCom=pcl::ProcessCommunicator()) |
Broadcasts the specified Selection from 'root' to all processes in procCom. More... | |
template<typename T > | |
void | BroadcastVectorFromOne (HorizontalAlgebraLayouts &agglomerationLayout, ParallelVector< T > &vec, const ParallelVector< T > &collectedVec, ParallelStorageType type) |
template<typename T > | |
void | BroadcastVectorFromOne (IndexLayout &agglomeratedMaster, IndexLayout &agglomeratedSlave, pcl::InterfaceCommunicator< IndexLayout > &com, ParallelVector< T > &vec, const ParallelVector< T > &collectedVec, ParallelStorageType type, bool bRoot) |
void | BuildDomainDecompositionLayouts (IndexLayout &subdomMastersOut, IndexLayout &subdomSlavesOut, IndexLayout &processMastersOut, IndexLayout &processSlavesOut, IndexLayout &deltaNbrMastersOut, IndexLayout &deltaNbrSlavesOut, IndexLayout &crossPointMastersOut, IndexLayout &crossPointSlavesOut, const IndexLayout &standardMasters, const IndexLayout &standardSlaves, int highestReferencedIndex, IDomainDecompositionInfo &ddinfo) |
int | BuildOneToManyLayout (IndexLayout &masterLayoutOut, IndexLayout &slaveLayoutOut, int rootProcID, IndexLayout &masterLayout, IndexLayout &slaveLayout, pcl::ProcessCommunicator procComm, std::vector< int > *pNewMasterIDsOut) |
void | CalcTotalMem (const Shiny::ProfileNode *p) |
template<class TAAPosVRT > | |
void | CalculateAngles (vector< number > &vAnglesOut, Grid &grid, Face *f, TAAPosVRT &aaPos) |
Face. More... | |
template<class TElem , class TAAPosVRT > | |
number | CalculateAngles (vector< number > &vAnglesOut, Grid &grid, TElem *elem, TAAPosVRT &aaPos) |
An unimplemented version, so that a compile error occurs if no overload exists. More... | |
template<class TAAPosVRT > | |
void | CalculateAngles (vector< number > &vAnglesOut, Grid &grid, Volume *v, TAAPosVRT &aaPos) |
Volume. More... | |
template<class TAAPosVRT > | |
number | CalculateAspectRatio (Grid &grid, Face *face, TAAPosVRT &aaPos) |
CalculateAspectRatio for faces. More... | |
template<class TAAPosVRT > | |
number | CalculateAspectRatio (Grid &grid, Hexahedron *hex, TAAPosVRT &aaPos) |
Hexahedron. More... | |
template<class TAAPosVRT > | |
number | CalculateAspectRatio (Grid &grid, Pyramid *pyr, TAAPosVRT &aaPos) |
Pyramid. More... | |
template<class TAAPosVRT > | |
number | CalculateAspectRatio (Grid &grid, Quadrilateral *quad, TAAPosVRT &aaPos) |
Quadrilaterals. More... | |
template<class TElem , class TAAPosVRT > | |
number | CalculateAspectRatio (Grid &grid, TElem *elem, TAAPosVRT &aaPos) |
An unimplemented version, so that a compile error occurs if no overload exists. More... | |
template<class TAAPosVRT > | |
number | CalculateAspectRatio (Grid &grid, Tetrahedron *tet, TAAPosVRT &aaPos) |
Tetrahedron. More... | |
template<class TAAPosVRT > | |
number | CalculateAspectRatio (Grid &grid, Triangle *tri, TAAPosVRT &aaPos) |
Triangles and Constrained Triangles. More... | |
template<class TAAPosVRT > | |
number | CalculateAspectRatio (Grid &grid, Volume *vol, TAAPosVRT &aaPos) |
Volume. More... | |
template<class TAAPosVRT > | |
number | CalculateAverageCurvature (Grid &grid, SubsetHandler &shMarks, Edge *e, TAAPosVRT &aaPos) |
template<class TAAPosVRT > | |
number | CalculateAverageEdgeLength (Grid &grid, TAAPosVRT &aaPos) |
Returns the average length of edges in the given grid. More... | |
template<class TVrtIter , class TAPosition > | |
UG_API TAPosition::ValueType | CalculateBarycenter (TVrtIter vrtsBegin, TVrtIter vrtsEnd, Grid::VertexAttachmentAccessor< TAPosition > &aaPos) |
calculates the barycenter of a set of vertices More... | |
template<class TVrtIter , class TAPosition > | |
TAPosition::ValueType | CalculateBarycenter (TVrtIter vrtsBegin, TVrtIter vrtsEnd, Grid::VertexAttachmentAccessor< TAPosition > &aaPos) |
calculates the barycenter of a set of vertices More... | |
template<class TAAPosVRT > | |
UG_API void | CalculateBoundaryVertexNormal2D (typename TAAPosVRT::ValueType &nOut, Grid &grid, Vertex *vrt, TAAPosVRT &aaPos) |
calculates the normal of a boundary vertex using associated faces More... | |
template<class TAAPosVRT > | |
void | CalculateBoundaryVertexNormal2D (typename TAAPosVRT::ValueType &nOut, Grid &grid, Vertex *vrt, TAAPosVRT &aaPos) |
calculates the normal of a boundary vertex using associated faces More... | |
template<class TAAPosVRT > | |
UG_API void | CalculateBoundaryVertexNormal3D (vector3 &nOut, Grid &grid, Vertex *vrt, TAAPosVRT &aaPos) |
calculates the normal of a boundary vertex using associated volumes More... | |
template<class TAAPosVRT > | |
void | CalculateBoundaryVertexNormal3D (vector3 &nOut, Grid &grid, Vertex *vrt, TAAPosVRT &aaPos) |
calculates the normal of a boundary vertex using associated volumes More... | |
template<int dim> | |
void | CalculateBoundingBox (size_t npoints, const MathVector< dim > points[], MathVector< dim > &vMinBB, MathVector< dim > &vMaxBB) |
Determine the bounding box for a set of points. More... | |
template<class TElem , class TAAPos > | |
AABox< typename TAAPos::ValueType > | CalculateBoundingBox (TElem *e, TAAPos aaPos) |
calculates the smallest axis aligned box that contains the given element More... | |
template<class TVrtIter , class TAPosition > | |
UG_API void | CalculateBoundingBox (typename TAPosition::ValueType &vMinOut, typename TAPosition::ValueType &vMaxOut, TVrtIter vrtsBegin, TVrtIter vrtsEnd, Grid::AttachmentAccessor< Vertex, TAPosition > &aaPos) |
calculates the BoundingBox More... | |
template<class TVrtIter , class TAPosition > | |
void | CalculateBoundingBox (typename TAPosition::ValueType &vMinOut, typename TAPosition::ValueType &vMaxOut, TVrtIter vrtsBegin, TVrtIter vrtsEnd, Grid::AttachmentAccessor< Vertex, TAPosition > &aaPos) |
calculates the BoundingBox More... | |
template<class vector_t , class TIterator , class TAAPos > | |
UG_API void | CalculateBoundingBox (vector_t &vMinOut, vector_t &vMaxOut, TIterator begin, TIterator end, TAAPos &aaPos) |
Calculates the bounding box of a set of geometric objects. More... | |
template<class vector_t , class TIterator , class TAAPos > | |
void | CalculateBoundingBox (vector_t &vMinOut, vector_t &vMaxOut, TIterator begin, TIterator end, TAAPos &aaPos) |
Calculates the bounding box of a set of geometric objects. More... | |
template<class TAAPos > | |
AABox< typename TAAPos::ValueType > | CalculateBoundingBox (Vertex *e, TAAPos aaPos) |
calculates the smallest axis aligned box that contains the given vertex More... | |
template<class TAAPos > | |
Sphere< typename TAAPos::ValueType > | CalculateBoundingSphere (FaceVertices *face, TAAPos aaPos) |
template<class TVertexPositionAttachmentAccessor > | |
UG_API TVertexPositionAttachmentAccessor::ValueType | CalculateCenter (const Edge *e, TVertexPositionAttachmentAccessor &aaPosVRT) |
Calculates the center of an edge. More... | |
template<class TVertexPositionAttachmentAccessor > | |
TVertexPositionAttachmentAccessor::ValueType | CalculateCenter (const Edge *e, TVertexPositionAttachmentAccessor &aaPosVRT) |
Calculates the center of an edge. More... | |
template<class TAAPosVRT , class TAAWeightVRT > | |
UG_API TAAPosVRT::ValueType | CalculateCenter (const EdgeVertices *e, TAAPosVRT &aaPos, TAAWeightVRT &aaWeight) |
returns the weighted center of the vertices of the given edge More... | |
template<class TAAPosVRT , class TAAWeightVRT > | |
UG_API TAAPosVRT::ValueType | CalculateCenter (const FaceVertices *f, TAAPosVRT &aaPos, TAAWeightVRT &aaWeight) |
returns the weighted center of the vertices of the given face More... | |
template<class TVertexPositionAttachmentAccessor > | |
TVertexPositionAttachmentAccessor::ValueType | CalculateCenter (const FaceVertices *f, TVertexPositionAttachmentAccessor &aaPosVRT) |
calculates the center of a face. More... | |
template<class TVertexPositionAttachmentAccessor > | |
TVertexPositionAttachmentAccessor::ValueType | CalculateCenter (const Vertex *v, TVertexPositionAttachmentAccessor &aaPosVRT) |
returns the position of the vertex. More... | |
template<class TAAPosVRT , class TAAWeightVRT > | |
UG_API TAAPosVRT::ValueType | CalculateCenter (const VolumeVertices *vol, TAAPosVRT &aaPos, TAAWeightVRT &aaWeight) |
returns the weighted center of the vertices of the given volume More... | |
template<class TVertexPositionAttachmentAccessor > | |
UG_API TVertexPositionAttachmentAccessor::ValueType | CalculateCenter (const VolumeVertices *vol, TVertexPositionAttachmentAccessor &aaPosVRT) |
calculates the center of a volume by averaging the positions of its corners More... | |
template<class TVertexPositionAttachmentAccessor > | |
TVertexPositionAttachmentAccessor::ValueType | CalculateCenter (const VolumeVertices *vol, TVertexPositionAttachmentAccessor &aaPosVRT) |
calculates the center of a volume by averaging the positions of its corners More... | |
template<class TIterator , class TAAPosVRT > | |
UG_API TAAPosVRT::ValueType | CalculateCenter (TIterator begin, TIterator end, TAAPosVRT &aaPos) |
calculates the center for a set of elements More... | |
template<class TIterator , class TAAPosVRT > | |
TAAPosVRT::ValueType | CalculateCenter (TIterator begin, TIterator end, TAAPosVRT &aaPos) |
calculates the center for a set of elements More... | |
template<class TVrtIter , class TAPosition > | |
UG_API TAPosition::ValueType | CalculateCenter (TVrtIter vrtsBegin, TVrtIter vrtsEnd, Grid::AttachmentAccessor< Vertex, TAPosition > &aaPos) |
calculates the center of a set of vertices. More... | |
template<class TVrtIter , class TAPosition > | |
TAPosition::ValueType | CalculateCenter (TVrtIter vrtsBegin, TVrtIter vrtsEnd, Grid::AttachmentAccessor< Vertex, TAPosition > &aaPos) |
calculates the center of a set of vertices. More... | |
template<class TAAPosVRT > | |
bool | CalculateCenter (typename TAAPosVRT::ValueType ¢erOut, Selector &sel, TAAPosVRT &aaPos) |
calculates the center of selected objects More... | |
template<class vector_t > | |
void | CalculateCenter (vector_t ¢erOut, const vector_t *pointSet, size_t numPoints) |
calculates the center of a point-set More... | |
void | CalculateConstrainedSmoothVolumePosInTopLevel (MultiGrid &mg, MGSubsetHandler &markSH, APosition &aSmoothVolPos_toc) |
Toplevel vertex smoothing function for subdivision volumes refinement. More... | |
void | CalculateCovarianceMatrix (matrix33 &matOut, const vector3 *pointSet, const vector3 ¢er, size_t numPoints) |
Calculates the covariance matrix of a given point-set. More... | |
template<class TAAPosVRT > | |
TAAPosVRT::ValueType | CalculateCreaseNormal (Grid &grid, Face *f, Vertex *vrt, Grid::edge_traits::callback funcIsCreaseEdge, TAAPosVRT &aaPos) |
returns true if the vertex lies on a surface. More... | |
template<class TAAPosVRT > | |
TAAPosVRT::ValueType | CalculateCreaseNormal (Grid &grid, Volume *vol, Vertex *vrt, Grid::face_traits::callback funcIsCreaseFace, TAAPosVRT &aaPos) |
calculates the normal of the crease vertex vrt on the side of vol More... | |
bool | CalculateEigenvalues (const ug::matrix33 &mat, number &lambdaMinOut, number &lambdaMedOut, number &lambdaMaxOut, ug::vector3 &evMinOut, ug::vector3 &evMedOut, ug::vector3 &evMaxOut) |
void | CalculateFaceNormals (Grid &grid, const FaceIterator &facesBegin, const FaceIterator &facesEnd, AVector3 &aPos, AVector3 &aNorm) |
calculates the normal of each face. Presumes that all faces are flat. More... | |
template<class TAAPosVRT > | |
UG_API TAAPosVRT::ValueType | CalculateGridObjectCenter (const GridObject *o, TAAPosVRT &aaPosVRT) |
calculates the center for arbitrary geometric object More... | |
template<class TAAPosVRT , class TAAWeightVRT > | |
UG_API TAAPosVRT::ValueType | CalculateGridObjectCenter (const GridObject *o, TAAPosVRT &aaPosVRT, TAAWeightVRT &aaWeight) |
returns the weighted center of the vertices of the given geometric object More... | |
number | CalculateHexahedronAspectRatio (Grid &grid, Hexahedron *tet, Grid::VertexAttachmentAccessor< APosition > &aaPos) |
calculates the aspect ratio of a hexahedral element More... | |
UG_API number | CalculateHexahedronVolToRMSFaceAreaRatio (Grid &grid, Hexahedron *hex, Grid::VertexAttachmentAccessor< APosition > &aaPos) |
number | CalculateHexahedronVolume (const vector3 &a, const vector3 &b, const vector3 &c, const vector3 &d, const vector3 &e, const vector3 &f, const vector3 &g, const vector3 &h) |
template<class TAAPosVRT > | |
number | CalculateLengthFac (Grid &grid, SubsetHandler &shMarks, Edge *e, TAAPosVRT &aaPos) |
template<class TAAPosVRT > | |
number | CalculateMaxAngle (Grid &grid, Face *f, TAAPosVRT &aaPos) |
Face (Triangles and Quadrilaterals) More... | |
template<class TAAPosVRT > | |
number | CalculateMaxAngle (Grid &grid, Prism *prism, TAAPosVRT &aaPos) |
Prism. More... | |
template<class TAAPosVRT > | |
number | CalculateMaxAngle (Grid &grid, Pyramid *pyr, TAAPosVRT &aaPos) |
Pyramid. More... | |
template<class TElem , class TAAPosVRT > | |
number | CalculateMaxAngle (Grid &grid, TElem *elem, TAAPosVRT &aaPos) |
An unimplemented version, so that a compile error occurs if no overload exists. More... | |
template<class TAAPosVRT > | |
number | CalculateMaxAngle (Grid &grid, Tetrahedron *tet, TAAPosVRT &aaPos) |
Tetrahedron. More... | |
template<class TAAPosVRT > | |
number | CalculateMaxAngle (Grid &grid, Volume *vol, TAAPosVRT &aaPos) |
Volume. More... | |
template<class TAAPosVRT > | |
number | CalculateMaxDihedral (Grid &grid, Prism *prism, TAAPosVRT &aaPos) |
Prism. More... | |
template<class TAAPosVRT > | |
number | CalculateMaxDihedral (Grid &grid, Pyramid *pyr, TAAPosVRT &aaPos) |
Pyramid. More... | |
template<class TElem , class TAAPosVRT > | |
number | CalculateMaxDihedral (Grid &grid, TElem *elem, TAAPosVRT &aaPos) |
An unimplemented version, so that a compile error occurs if no overload exists. More... | |
template<class TAAPosVRT > | |
number | CalculateMaxDihedral (Grid &grid, Tetrahedron *tet, TAAPosVRT &aaPos) |
Tetrahedron. More... | |
template<class TAAPosVRT > | |
number | CalculateMaxDihedral (Grid &grid, Volume *v, TAAPosVRT &aaPos) |
Volume. More... | |
template<class TAAPosVRT > | |
number | CalculateMinAngle (Grid &grid, Face *f, TAAPosVRT &aaPos) |
Face (Triangles and Quadrilaterals) More... | |
template<class TAAPosVRT > | |
number | CalculateMinAngle (Grid &grid, Hexahedron *hex, TAAPosVRT &aaPos) |
Hexahedron. More... | |
template<class TAAPosVRT > | |
number | CalculateMinAngle (Grid &grid, Prism *prism, TAAPosVRT &aaPos) |
Prism. More... | |
template<class TAAPosVRT > | |
number | CalculateMinAngle (Grid &grid, Pyramid *pyr, TAAPosVRT &aaPos) |
Pyramid. More... | |
template<class TElem , class TAAPosVRT > | |
number | CalculateMinAngle (Grid &grid, TElem *elem, TAAPosVRT &aaPos) |
An unimplemented version, so that a compile error occurs if no overload exists. More... | |
template<class TAAPosVRT > | |
number | CalculateMinAngle (Grid &grid, Tetrahedron *tet, TAAPosVRT &aaPos) |
Tetrahedron. More... | |
template<class TAAPosVRT > | |
number | CalculateMinAngle (Grid &grid, Volume *vol, TAAPosVRT &aaPos) |
Volume. More... | |
template<class TAAPosVRT > | |
number | CalculateMinCurvature (Grid &grid, SubsetHandler &shMarks, Vertex *vrt, TAAPosVRT &aaPos) |
template<class TAAPosVRT > | |
number | CalculateMinDihedral (Grid &grid, Hexahedron *hex, TAAPosVRT &aaPos) |
Hexahedron. More... | |
template<class TAAPosVRT > | |
number | CalculateMinDihedral (Grid &grid, Prism *prism, TAAPosVRT &aaPos) |
Prism. More... | |
template<class TAAPosVRT > | |
number | CalculateMinDihedral (Grid &grid, Pyramid *pyr, TAAPosVRT &aaPos) |
Pyramid. More... | |
template<class TElem , class TAAPosVRT > | |
number | CalculateMinDihedral (Grid &grid, TElem *elem, TAAPosVRT &aaPos) |
An unimplemented version, so that a compile error occurs if no overload exists. More... | |
template<class TAAPosVRT > | |
number | CalculateMinDihedral (Grid &grid, Tetrahedron *tet, TAAPosVRT &aaPos) |
Tetrahedron. More... | |
template<class TAAPosVRT > | |
number | CalculateMinDihedral (Grid &grid, Volume *v, TAAPosVRT &aaPos) |
Volume. More... | |
template<class TAAPosVRT > | |
number | CalculateMinTriangleHeight (Face *face, TAAPosVRT &aaPos) |
number | CalculateMinVolumeHeight (Tetrahedron *tet, Grid::VertexAttachmentAccessor< APosition > &aaPos) |
calculates the minimal height of a volume element of type tetrahedron More... | |
vector2 | CalculateNormal (EdgeVertices *edge, Grid::AttachmentAccessor< Vertex, APosition2 > &aaPos) |
vector2 | CalculateNormal (EdgeVertices *edge, Grid::AttachmentAccessor< Vertex, Attachment< vector2 > > &aaPos) |
vector3 | CalculateNormal (FaceVertices *face, Grid::AttachmentAccessor< Vertex, APosition > &aaPos) |
vector3 | CalculateNormal (FaceVertices *face, Grid::AttachmentAccessor< Vertex, Attachment< vector3 > > &aaPos) |
void | CalculateNormal (vector3 &vNormOut, const FaceVertices *face, Grid::AttachmentAccessor< Vertex, APosition > &aaPos) |
calculates the normal of the given face More... | |
int | CalculateNormal (vector3 &vNormOut, Grid &grid, Edge *e, Grid::AttachmentAccessor< Vertex, APosition > &aaPos, Grid::AttachmentAccessor< Face, ANormal > *paaNormFACE=NULL) |
Calculates the normal of the given edge. More... | |
template<class TVertexPositionAccessor > | |
number | CalculateNormalDot (TriangleDescriptor &td1, TriangleDescriptor &td2, TVertexPositionAccessor &aaPos) |
template<class TVertexPositionAccessor > | |
static number | CalculateNormalDot (TriangleDescriptor &td1, TriangleDescriptor &td2, TVertexPositionAccessor &aaPos) |
void | CalculateNormalNoNormalize (vector3 &vNormOut, FaceVertices *face, Grid::AttachmentAccessor< Vertex, APosition > &aaPos) |
calculates the normal of the given face More... | |
int | CalculateNormalNoNormalize (vector3 &vNormOut, Grid &grid, Edge *e, Grid::VertexAttachmentAccessor< APosition > &aaPos, Grid::FaceAttachmentAccessor< ANormal > *paaNormFACE=NULL) |
Calculates the normal of the given edge. More... | |
void | CalculateNumElemsVertexAttachmentInTopLevel (MultiGrid &mg, AInt &aNumElems_toc, AInt &aNumElems_prism, AInt &aNumElems_hex) |
Function for calculating the number of associated volumes of all toplevel vertices. More... | |
void | CalculateNumManifoldEdgesVertexAttachmentInParentLevel (MultiGrid &mg, MGSubsetHandler &markSH, AInt &aNumManifoldEdges, bool bCreaseSurf) |
Function for calculating the number of associated manifold edges of all parent level vertices. More... | |
void | CalculateNumManifoldFacesVertexAttachmentInTopLevel (MultiGrid &mg, MGSubsetHandler &markSH, AInt &aNumManifoldFaces_tri, AInt &aNumManifoldFaces_quad) |
Function for calculating the number of associated manifold faces of all toplevel manifold vertices. More... | |
number | CalculateOctahedronVolume (const vector3 &a, const vector3 &b, const vector3 &c, const vector3 &d, const vector3 &e, const vector3 &f) |
template<class TAAPos > | |
TAAPos::ValueType | CalculateOuterNormal (Edge *v, int sideIndex, TAAPos aaPos) |
template<class TAAPos > | |
TAAPos::ValueType | CalculateOuterNormal (Face *v, int sideIndex, TAAPos aaPos) |
template<class TAAPos > | |
TAAPos::ValueType | CalculateOuterNormal (GridObject *v, int sideIndex, TAAPos aaPos) |
template<class TAAPos > | |
TAAPos::ValueType | CalculateOuterNormal (Vertex *v, int sideIndex, TAAPos aaPos) |
Calculates the outer normal of the i-th side of the given grid object. More... | |
template<class TAAPos > | |
TAAPos::ValueType | CalculateOuterNormal (Volume *v, int sideIndex, TAAPos aaPos) |
void | CalculatePolychainEdgeNormals (vector2 *edgeNormalsOut, vector2 *polyChain, size_t polyChainSize, bool bOuterNormals) |
number | CalculatePrismVolume (const vector3 &a, const vector3 &b, const vector3 &c, const vector3 &d, const vector3 &e, const vector3 &f) |
number | CalculatePyramidAspectRatio (Grid &grid, Pyramid *pyr, Grid::VertexAttachmentAccessor< APosition > &aaPos) |
calculates the aspect ratio of a pyramidal element Pyramid aspect ratio (AR) is the ratio of the height of the pyramid and the average length of the base's (quadrilateral) edges. The AR can be less than 1. The height is the distance from the base to the top of the pyramid in normal direction. More... | |
number | CalculatePyramidVolume (const vector3 &a, const vector3 &b, const vector3 &c, const vector3 &d, const vector3 &e) |
number | CalculateRightBendVal (vector2 &dirOut, number &normDotOut, SweepLineEdge &e, SweepLineVertex *firstVrt, vector2 lastDir, bool lastDirNormalized=false) |
returns a value between -1 and 1, determining the magnitude of the right bend. More... | |
template<class TAPosition > | |
void | CalculateSmoothCreaseManifoldPosInParentLevelLoopScheme (MultiGrid &mg, TAPosition &aPos, MGSubsetHandler &markSH, MGSubsetHandler &linearManifoldSH, TAPosition &aSmoothBndPosEvenVrt, TAPosition &aSmoothBndPosOddVrt, AInt &aNumManifoldEdges) |
Parent level vertex smoothing function for subdivision crease surfaces refinement (by C. Loop, 1987) More... | |
template<class TAPosition > | |
void | CalculateSmoothManifoldPosInParentLevelButterflyScheme (MultiGrid &mg, TAPosition &aPos, MGSubsetHandler &markSH, MGSubsetHandler &linearManifoldSH, TAPosition &aSmoothBndPosOddVrt, AInt &aNumManifoldEdges) |
Parent level vertex smoothing function for subdivision surfaces refinement (Butterfly scheme) More... | |
template<class TAPosition > | |
void | CalculateSmoothManifoldPosInParentLevelLoopScheme (MultiGrid &mg, TAPosition &aPos, MGSubsetHandler &markSH, MGSubsetHandler &linearManifoldSH, TAPosition &aSmoothBndPosEvenVrt, TAPosition &aSmoothBndPosOddVrt, AInt &aNumManifoldEdges) |
Parent level vertex smoothing function for subdivision surfaces refinement (by C. Loop, 1987) More... | |
template<class TAPosition > | |
void | CalculateSmoothManifoldPosInTopLevelAveragingScheme (MultiGrid &mg, TAPosition &aPos, MGSubsetHandler &markSH, MGSubsetHandler &linearManifoldSH, TAPosition &aSmoothBndPos_tri, TAPosition &aSmoothBndPos_quad) |
Toplevel vertex smoothing function for subdivision surfaces refinement (Averaging scheme) More... | |
void | CalculateSmoothVolumePosInTopLevel (MultiGrid &mg, MGSubsetHandler &markSH, APosition &aSmoothVolPos_toc, APosition &aSmoothVolPos_prism, APosition &aSmoothVolPos_hex) |
Toplevel vertex smoothing function for subdivision volumes refinement. More... | |
number | CalculateSubsetSurfaceArea (MultiGrid &mg, int subsetIndex, MGSubsetHandler &sh) |
number | CalculateSubsetVolume (MultiGrid &mg, int subsetIndex, MGSubsetHandler &sh) |
number | CalculateTetrahedronAspectRatio (Grid &grid, Tetrahedron *tet, Grid::VertexAttachmentAccessor< APosition > &aaPos) |
calculates the aspect ratio of a tetrahedral element More... | |
UG_API number | CalculateTetrahedronRootMeanSquareFaceArea (Grid &grid, Tetrahedron *tet, Grid::VertexAttachmentAccessor< APosition > &aaPos) |
UG_API number | CalculateTetrahedronVolToRMSFaceAreaRatio (Grid &grid, Tetrahedron *tet, Grid::VertexAttachmentAccessor< APosition > &aaPos) |
number | CalculateTetrahedronVolume (const vector3 &a, const vector3 &b, const vector3 &c, const vector3 &d) |
void | CalculateTriangleNormal (SimpleGrid &sg, int triIndex) |
caculates the normal of the given triangle and stores it in sg.triangleNormals[triIndex] More... | |
template<typename vector_t > | |
void | CalculateTriangleNormal (vector_t &vOut, const vector_t &v1, const vector_t &v2, const vector_t &v3) |
Calculates a triangle-normal in 3d (output has length 1). More... | |
template<typename vector_t > | |
void | CalculateTriangleNormalNoNormalize (vector_t &vOut, const vector_t &v1, const vector_t &v2, const vector_t &v3) |
Calculates a triangle-normal in 3d (no normalization is performed). More... | |
void | CalculateTriangleNormals (SimpleGrid &sg) |
resizes sg.triangleNormals and calculates them More... | |
template<class TAAPosVRT > | |
UG_API void | CalculateVertexNormal (vector3 &nOut, Grid &grid, Vertex *vrt, TAAPosVRT &aaPos) |
calculates the normal of a vertex using associated faces More... | |
template<class TAAPosVRT > | |
void | CalculateVertexNormal (vector3 &nOut, Grid &grid, Vertex *vrt, TAAPosVRT &aaPos) |
calculates the normal of a vertex using associated faces More... | |
template<class TAAPosVRT > | |
number | CalculateVolToRMSFaceAreaRatio (Grid &grid, Face *face, TAAPosVRT &aaPos) |
Face (Triangles and Constrained Triangles supported) More... | |
template<class TAAPosVRT > | |
number | CalculateVolToRMSFaceAreaRatio (Grid &grid, Hexahedron *hex, TAAPosVRT &aaPos) |
Hexahedron. More... | |
template<class TElem , class TAAPosVRT > | |
number | CalculateVolToRMSFaceAreaRatio (Grid &grid, TElem *elem, TAAPosVRT &aaPos) |
An unimplemented version, so that a compile error occurs if no overload exists. More... | |
template<class TAAPosVRT > | |
number | CalculateVolToRMSFaceAreaRatio (Grid &grid, Tetrahedron *tet, TAAPosVRT &aaPos) |
Tetrahedron. More... | |
template<class TAAPosVRT > | |
number | CalculateVolToRMSFaceAreaRatio (Grid &grid, Volume *vol, TAAPosVRT &aaPos) |
Volume. More... | |
void | cflNumber (TGridFunction &u, number deltaT) |
void | cgetrf_ (lapack_int *m, lapack_int *n, std::complex< lapack_float > *pColMajorMatrix, lapack_int *lda, lapack_int *ipiv, lapack_int *info) |
void | cgetrs_ (char *trans, lapack_int *n, lapack_int *nrhs, const std::complex< lapack_float > *pColMajorMatrix, lapack_int *lda, const lapack_int *ipiv, std::complex< lapack_float > *b, lapack_int *ldb, lapack_int *info) |
UG_API void | ChangeDirectory (std::string dir) |
Changes the current directory. More... | |
number | Chebyshev1Poly (size_t k, number x) |
number | Chebyshev2Poly (size_t k, number x) |
void | check_subset_strings (std::vector< std::string > s) |
template<typename TSparseMatrix > | |
bool | CheckDiagonalInvertible (const ParallelMatrix< TSparseMatrix > &m) |
template<typename TSparseMatrix > | |
bool | CheckDiagonalInvertible (const TSparseMatrix &A) |
template<class TElem1 , class TElem2 , class TAAPos > | |
bool | CheckDirection (TElem1 *e1, TElem2 *e2, const TAAPos &aaPos, const typename TAAPos::ValueType &dir, number minAngle, number maxAngle) |
Checks whether the center of e2 can be reached from the center of e1 in the given direction. More... | |
template<class TElem > | |
static bool | CheckDistributedObjectConstraintTypes (MultiGrid &mg) |
Checks whether distributed objects have the same type on all processes. More... | |
bool | CheckDistributedParentTypes (MultiGrid &mg) |
Check whether local parent types match the type of the actual parent element. More... | |
template<typename TDomain , typename TBaseElem > | |
bool | CheckDoFElem (ConstSmartPtr< TDomain > domain, ConstSmartPtr< DoFDistribution > dd, std::vector< MathVector< TDomain::dim > > &vPos) |
bool | CheckEnoughTimePassedToNow (ProfileCall &pc, Shiny::tick_t tnow) |
bool | CheckForUnconnectedSides (Grid &grid) |
Logs all unconnected sides to UG_ERR_LOG and returns true if an unconnected side was found. More... | |
template<class TSide > | |
static bool | CheckForUnconnectedSidesIMPL (Grid &grid) |
template<typename TGridFunction , typename TBaseElem > | |
bool | CheckGFforNaN (const TGridFunction *u, const char *fct_names) |
template<typename TGridFunction , typename TBaseElem > | |
bool | CheckGFforNaN (const TGridFunction *u, const FunctionGroup &fctGroup) |
template<typename TGridFunction , typename TBaseElem > | |
bool | CheckGFforNaN (const TGridFunction *u, size_t fct) |
template<typename TGridFunction > | |
bool | CheckGFValuesWithinBounds (ConstSmartPtr< TGridFunction > u, const char *fctNames, number lowerBnd, number upperBnd) |
template<typename TGridFunction , typename TBaseElem > | |
bool | CheckGFValuesWithinBounds (ConstSmartPtr< TGridFunction > u, size_t cmp, number lowerBnd, number upperBnd) |
template<typename TGridFunction > | |
bool | CheckGFValuesWithinBounds (ConstSmartPtr< TGridFunction > u, size_t cmp, number lowerBnd, number upperBnd) |
bool | CheckHangingNodeConsistency (Grid &g) |
checks whether all constraining and constrained objects are correctly connected. More... | |
bool | CheckHangingNodeConsistency (MultiGrid &mg) |
checks whether a multigrid is a valid haging vertex grid. More... | |
template<typename T > | |
void | CheckHangingNodeConstrainingFace (bool isConsistent, Grid &g, T iter, T end) |
static int | CheckLine (const vector3 &p1, const vector3 &p2, int outcode_diff) |
template<class TElem > | |
bool | CheckLocalParentTypes (MultiGrid &mg) |
bool | CheckLuaCallbackName (const char *name) |
returns true if callback exists More... | |
void | CheckMultiGridConsistency (MultiGrid &mg) |
Checks whether parent child connections in a multi-grid are correct. More... | |
template<class TElem > | |
static void | CheckMultiGridConsistencyImpl (MultiGrid &mg) |
template<class TAAPosVRT > | |
bool | CheckOrientation (Volume *vol, TAAPosVRT &aaPosVRT) |
returns true if the volume is oriented so that all sides point to this outside. More... | |
bool | CheckPermutationBijective (const std::vector< size_t > &perm) |
static int | CheckPoint (const vector3 &p1, const vector3 &p2, number alpha, long mask) |
template<typename TSparseMatrix > | |
bool | CheckRowIterators (const TSparseMatrix &A) |
void | checksub (const CPUAlgebra::matrix_type &A) |
void | CheckValences (MultiGrid &mg, MGSubsetHandler &markSH, const char *filename) |
Function for checking the number of associated volumes of all edges. More... | |
template<typename TVector > | |
bool | CheckVectorInvertible (const ParallelVector< TVector > &v) |
template<typename TVector > | |
bool | CheckVectorInvertible (const TVector &v) |
void | ClearAbortRunFlag () |
clears the abort-run-flag. More... | |
template<class TNumber > | |
TNumber | clip (TNumber val, TNumber lowerBound, TNumber upperBound) |
clips a number to the given interval [lowerBound, upperBound]. More... | |
template<typename TVector > | |
bool | CloneVector (ParallelVector< TVector > &dest, const ParallelVector< TVector > &src) |
template<typename TValueType > | |
void | CloneVector (Vector< TValueType > &dest, const Vector< TValueType > &src) |
template<typename TAAPos > | |
AnisotropyState | close_sides_of_anisotropic_elem (Edge *elem, Grid &grid, const TAAPos &aaPos, number thresholdRatio, std::vector< Vertex * > &sidesOut) |
template<typename TAAPos > | |
AnisotropyState | close_sides_of_anisotropic_elem (Face *elem, Grid &grid, const TAAPos &aaPos, number thresholdRatio, std::vector< Edge * > &sidesOut) |
template<typename TAAPos > | |
AnisotropyState | close_sides_of_anisotropic_elem (Volume *elem, Grid &grid, const TAAPos &aaPos, number thresholdRatio, std::vector< Face * > &sidesOut) |
bool | CloseLibrary (DynLibHandle h) |
Frees a library. More... | |
template<class TSelector > | |
void | CloseSelection (TSelector &sel) |
Selects all associated elements of lower dimensions. More... | |
template<class TSelector > | |
UG_API void | CloseSelection (TSelector &sel) |
Selects all associated elements of lower dimensions. More... | |
template void | CloseSelection< MGSelector > (MGSelector &sel) |
template void | CloseSelection< Selector > (Selector &sel) |
bool | CloseToZero (double d) |
bool | cmp_slv (const SweepLineVertex &v1, const SweepLineVertex &v2) |
static bool | cmpQPairs (const std::pair< number, number > &a, const std::pair< number, number > &b) |
bool | CollapseEdge (Grid &grid, Edge *e, Vertex *newVrt) |
Collapses the specified edge performs local grid restructuring. More... | |
bool | CollapseEdge (SimpleGrid &sg) |
static bool | CollectAllVerticesForNG (Grid &grid, VertexSelector &NgVrtSel, VertexSelector &SurfVrtSel, VertexSelector &InnVrtSel) |
collects all vertices in *.ng file order in a selector More... | |
void | CollectAspectRatios (Grid &grid, TIterator elementsBegin, TIterator elementsEnd, TAAPosVRT &aaPos, vector< number > &aspectRatios) |
void | CollectAssociated (std::vector< Edge * > &vEdgesOut, Grid &grid, GridObject *obj, bool clearContainer=true) |
void | CollectAssociated (std::vector< Face * > &vFacesOut, Grid &grid, Face *vol, bool clearContainer=true) |
Collects all faces. (Returns the face itself) More... | |
void | CollectAssociated (std::vector< Face * > &vFacesOut, Grid &grid, GridObject *obj, bool clearContainer=true) |
void | CollectAssociated (std::vector< Face * > &vFacesOut, Grid &grid, Vertex *vrt, bool clearContainer=true) |
UG_API void | CollectAssociated (std::vector< Vertex * > &vVertexOut, Grid &grid, GridObject *obj, bool clearContainer=true) |
void | CollectAssociated (std::vector< Volume * > &vVolumesOut, Grid &grid, GridObject *obj, bool clearContainer=true) |
void | CollectAssociated (std::vector< Volume * > &vVolumesOut, Grid &grid, Vertex *vrt, bool clearContainer=true) |
void | CollectAssociated (std::vector< Volume * > &vVolumesOut, Grid &grid, Volume *vol, bool clearContainer=true) |
Collects all volumes. (Returns the volume itself) More... | |
UG_API void | CollectAssociatedSides (Edge *sidesOut[2], Grid &grid, Face *f, Vertex *vrt) |
Collects all edges (= 2) which exist in the given face and which share the given vertex. More... | |
UG_API void | CollectAssociatedSides (Face *sidesOut[2], Grid &grid, Volume *v, Edge *e) |
Collects all faces (= 2) which exist in the given volume and which share the given edge. More... | |
void | CollectConstraining (std::vector< Vertex * > &vConstrainingVrt, const Grid &grid, ConstrainedVertex *hgVrt, bool bClearContainer) |
returns the vertices of the object constraining a hanging vertex More... | |
template<typename TDomain > | |
void | CollectCornerCoordinates (int base_object_id, std::vector< typename TDomain::position_type > &vCornerCoordsOut, GridObject &elem, const TDomain &domain, bool clearContainer) |
returns the corner coordinates of a geometric object More... | |
template<typename TElem , typename TAAPos > | |
void | CollectCornerCoordinates (std::vector< typename TAAPos::ValueType > &vCornerCoordsOut, const TElem &elem, const TAAPos &aaPos, bool clearContainer=true) |
returns the corner coordinates of a geometric object More... | |
template<typename TElem , typename TAAPos > | |
void | CollectCornerCoordinates (std::vector< typename TAAPos::ValueType > &vCornerCoordsOut, TElem *elem, const TAAPos &aaPos, bool clearContainer) |
template<typename TElem , typename TDomain > | |
void | CollectCornerCoordinates (std::vector< typename TDomain::position_type > &vCornerCoordsOut, const TElem &elem, const TDomain &domain, bool clearContainer=true) |
returns the corner coordinates of a geometric object More... | |
void | CollectEdges (vector< Edge * > &vEdgesOut, Grid &grid, Edge *e, bool clearContainer) |
Collects all edges. (Returns the edge itself) More... | |
void | CollectEdges (vector< Edge * > &vEdgesOut, Grid &grid, Face *f, bool clearContainer) |
Collects all edges which exist in the given grid and which are part of the given face. More... | |
void | CollectEdges (vector< Edge * > &vEdgesOut, Grid &grid, Volume *v, bool clearContainer) |
Collects all edges that exist in the given grid are part of the given volume. More... | |
UG_API void | CollectEdgesSorted (std::vector< Edge * > &vEdgesOut, Grid &grid, Edge *e, bool clearContainer=true) |
Collects all edges that exist in the given grid are part of the given edge in the order defined by the reference elements. More... | |
UG_API void | CollectEdgesSorted (std::vector< Edge * > &vEdgesOut, Grid &grid, Face *f, bool clearContainer=true) |
Collects all edges that exist in the given grid are part of the given face in the order defined by the reference elements. More... | |
void | CollectEdgesSorted (std::vector< Edge * > &vEdgesOut, Grid &grid, GridObject *obj, bool clearContainer=true) |
UG_API void | CollectEdgesSorted (std::vector< Edge * > &vEdgesOut, Grid &grid, Vertex *v, bool clearContainer=true) |
Collects all edges of a vertex, thus, none. More... | |
UG_API void | CollectEdgesSorted (std::vector< Edge * > &vEdgesOut, Grid &grid, Volume *v, bool clearContainer=true) |
Collects all edges that exist in the given grid are part of the given volume in the order defined by the reference elements. More... | |
void | CollectEdgesSorted (vector< Edge * > &vEdgesOut, Grid &grid, Edge *e, bool clearContainer) |
Collects all edges. (Returns the edge itself) More... | |
void | CollectEdgesSorted (vector< Edge * > &vEdgesOut, Grid &grid, Face *f, bool clearContainer) |
Collects all edges which exist in the given grid and which are part of the given face in the order defined by the reference elements. More... | |
void | CollectEdgesSorted (vector< Edge * > &vEdgesOut, Grid &grid, Vertex *v, bool clearContainer) |
Collects all edges of a vertex, thus, none. More... | |
void | CollectEdgesSorted (vector< Edge * > &vEdgesOut, Grid &grid, Volume *v, bool clearContainer) |
Collects all edges that exist in the given grid are part of the given volume in the order defined by the reference elements. More... | |
UG_API void | CollectFaces (std::vector< Face * > &vFacesOut, Grid &grid, Face *v, bool clearContainer=true) |
Collects all faces. (Returns the face itself) More... | |
void | CollectFaces (std::vector< Face * > &vFacesOut, Grid &grid, Vertex *vrt, bool clearContainer) |
Collects all faces that exist in the given grid which contain the given vertex. More... | |
void | CollectFaces (vector< Face * > &vFacesOut, Grid &grid, Face *e, bool clearContainer) |
Collects all faces. (Returns the face itself) More... | |
void | CollectFaces (vector< Face * > &vFacesOut, Grid &grid, Volume *v, bool clearContainer) |
Collects all faces that exist in the given grid are part of the given volume. More... | |
UG_API void | CollectFacesSorted (std::vector< Face * > &vFacesOut, Grid &grid, Edge *e, bool clearContainer=true) |
Collects all face that exist in the given grid are part of the given edge in the order defined by the reference elements. More... | |
UG_API void | CollectFacesSorted (std::vector< Face * > &vFacesOut, Grid &grid, Face *f, bool clearContainer=true) |
Collects all face that exist in the given grid are part of the given face in the order defined by the reference elements. More... | |
void | CollectFacesSorted (std::vector< Face * > &vFacesOut, Grid &grid, GridObject *obj, bool clearContainer=true) |
UG_API void | CollectFacesSorted (std::vector< Face * > &vFacesOut, Grid &grid, Vertex *v, bool clearContainer=true) |
Collects all Faces of a Vertex, thus, none. More... | |
UG_API void | CollectFacesSorted (std::vector< Face * > &vFacesOut, Grid &grid, Volume *v, bool clearContainer=true) |
Collects all face that exist in the given grid are part of the given volume in the order defined by the reference elements. More... | |
void | CollectFacesSorted (vector< Face * > &vFacesOut, Grid &grid, Edge *e, bool clearContainer) |
Collects all faces and returns them in the order prescribed by the reference element. More... | |
void | CollectFacesSorted (vector< Face * > &vFacesOut, Grid &grid, Face *f, bool clearContainer) |
Collects all faces and returns them in the order prescribed by the reference element. More... | |
void | CollectFacesSorted (vector< Face * > &vFacesOut, Grid &grid, Vertex *v, bool clearContainer) |
Collects all Faces of a Vertex, thus, none. More... | |
void | CollectFacesSorted (vector< Face * > &vFacesOut, Grid &grid, Volume *v, bool clearContainer) |
Collects all faces and returns them in the order prescribed by the reference element. More... | |
template<typename TDomain , typename T > | |
void | CollectIErrEstData (std::vector< IErrEstData< TDomain > * > &vErrEstData, const T &vElemDisc) |
static bool | CollectInnerVertices (Grid &grid, VertexSelector &InnVrtSel, VertexSelector &SurfVrtSel) |
collects inner-vertices in a selector More... | |
static bool | CollectLines (Grid &grid, const SubsetHandler &shFace, EdgeSelector &LineSel) |
collects lines in a selector More... | |
template<typename matrix_type > | |
void | CollectMatrixOnOneProc (const matrix_type &A, matrix_type &collectedA, IndexLayout &masterLayout, IndexLayout &slaveLayout) |
void | CollectMaxAngles (Grid &grid, TIterator elementsBegin, TIterator elementsEnd, TAAPosVRT &aaPos, vector< number > &maxAngles) |
void | CollectMinAngles (Grid &grid, TIterator elementsBegin, TIterator elementsEnd, TAAPosVRT &aaPos, vector< number > &minAngles) |
void | CollectNeighborhood (std::vector< Face * > &facesOut, Grid &grid, Vertex *vrt, size_t range, bool clearContainer=true) |
Collects all neighbors in a given neighborhood of a vertex. More... | |
void | CollectNeighbors (std::vector< Edge * > &vNeighborsOut, Edge *e, Grid &grid, NeighborhoodType nbhType=NHT_VERTEX_NEIGHBORS) |
collects all edges that are connected to the given one. More... | |
void | CollectNeighbors (std::vector< Face * > &vNeighborsOut, Face *f, Grid &grid, NeighborhoodType nbhType=NHT_EDGE_NEIGHBORS) |
collects all faces that are connected to the given one. More... | |
void | CollectNeighbors (std::vector< Vertex * > &vNeighborsOut, Grid &grid, Vertex *vrt, uint nbhType=NHT_EDGE_NEIGHBORS, Grid::edge_traits::callback considerEdge=ConsiderAll(), Grid::face_traits::callback considerFace=ConsiderAll(), Grid::volume_traits::callback considerVol=ConsiderAll()) |
Collects all vertices that are connected by elements of the specified type. More... | |
void | CollectNeighbors (std::vector< Volume * > &vNeighboursOut, Volume *v, Grid &grid, NeighborhoodType nbhType=NHT_FACE_NEIGHBORS) |
collects all volumes that are connected to the given one. More... | |
template<typename TDomain , typename TBaseElem > | |
void | collectStretchedElementIndices (ConstSmartPtr< TDomain > domain, ConstSmartPtr< DoFDistribution > dd, std::vector< size_t > &indarray, number alpha) |
bool | CollectSurfaceNeighborsSorted (std::vector< Vertex * > &vNeighborsOut, Grid &grid, Vertex *v) |
Collects neighbor-vertices in either clockwise or counter clockwise order. More... | |
static bool | CollectSurfaceVertices (Grid &grid, const SubsetHandler &shFace, VertexSelector &SurfVrtSel) |
collects surface-vertices in a selector More... | |
template<class TElem > | |
void | CollectSurfaceViewElements (ISubsetHandler &surfaceViewOut, DistributedGridManager &distGridMgr, MultiGridSubsetHandler &mgsh, bool clearContainer) |
template<class TElem > | |
void | CollectSurfaceViewElements (ISubsetHandler &surfaceViewOut, MultiGrid &mg, MGSubsetHandler &mgsh, bool clearContainer=true) |
template<class TSideIterator > | |
size_t | CollectUnconnectedSides (std::vector< typename TSideIterator::value_type > &elemsOut, Grid &grid, TSideIterator begin, TSideIterator end) |
template<class TType > | |
static void | CollectUniqueObjects (vector< TType > &vecOut, const vector< TType > &vecIn) |
UG_API void | CollectVertices (std::vector< Vertex * > &vVertexOut, Grid &grid, GridObject *obj, bool clearContainer=true) |
size_t | CollectVerticesTouchingSelection (std::vector< Vertex * > &vrtsOut, ISelector &sel) |
Collects all vertices which are selected or which touch a selected element. More... | |
void | CollectVolToRMSFaceAreaRatios (Grid &grid, TIterator elementsBegin, TIterator elementsEnd, TAAPosVRT &aaPos, vector< number > &ratios) |
void | CollectVolumes (std::vector< Volume * > &vVolumesOut, Grid &grid, Vertex *vrt, bool clearContainer=true) |
Collects all volumes that exist in the given grid which contain the given vertex. More... | |
UG_API void | CollectVolumes (std::vector< Volume * > &vVolumesOut, Grid &grid, Volume *v, bool clearContainer=true) |
Collects all volumes. (Returns the volume itself) More... | |
void | CollectVolumes (vector< Volume * > &vVolumesOut, Grid &grid, Volume *v, bool clearContainer) |
Collects all volumes. (Returns the volume itself) More... | |
template<int TRefDim> | |
void | ColorControlVolume (ISubsetHandler &shOut) |
int | ColorProcessorGraph (pcl::InterfaceCommunicator< IndexLayout > &com, std::set< int > &pids, std::vector< int > &processesWithLowerColor, std::vector< int > &processesWithHigherColor) |
template<typename TElem > | |
void | ColorSubControlVolume (ISubsetHandler &shOut) |
template<typename TElem > | |
void | ColorSubControlVolumeFaces (ISubsetHandler &shOut) |
vector< nodeType * > | CommaListToVector (nodeType *a) |
void | CommunicateConnections (vector< vector< int > > &connectionsToProcsOut, vector< vector< int > > &connectionsToSubDomsOut, const IndexLayout &masterLayout, const IndexLayout &slaveLayout, int highestReferencedIndex, pcl::IDomainDecompositionInfo &ddinfo) |
template<typename TCommunicationScheme > | |
void | CommunicateFromMasterToSlave (HorizontalAlgebraLayouts &layouts, TCommunicationScheme &scheme) |
template<typename TCommunicationScheme > | |
void | CommunicateFromSlaveToMaster (HorizontalAlgebraLayouts &layouts, TCommunicationScheme &scheme) |
template<typename TCommunicationScheme > | |
void | CommunicateOnInterfaces (pcl::InterfaceCommunicator< IndexLayout > &communicator, const IndexLayout &sendingLayout, const IndexLayout &receivingLayout, TCommunicationScheme &scheme) |
sends data over a CommunicationScheme from a sendingLayout to a receivingLayout More... | |
template<int dim, size_t orderDim> | |
bool | ComparePosDim (const std::pair< MathVector< dim >, size_t > &p1, const std::pair< MathVector< dim >, size_t > &p2) |
template<> | |
bool | ComparePosDim< 1, 0 > (const std::pair< MathVector< 1 >, size_t > &p1, const std::pair< MathVector< 1 >, size_t > &p2) |
template<> | |
bool | ComparePosDim< 2, 0 > (const std::pair< MathVector< 2 >, size_t > &p1, const std::pair< MathVector< 2 >, size_t > &p2) |
template<> | |
bool | ComparePosDim< 2, 1 > (const std::pair< MathVector< 2 >, size_t > &p1, const std::pair< MathVector< 2 >, size_t > &p2) |
template<> | |
bool | ComparePosDim< 3, 0 > (const std::pair< MathVector< 3 >, size_t > &p1, const std::pair< MathVector< 3 >, size_t > &p2) |
template<> | |
bool | ComparePosDim< 3, 1 > (const std::pair< MathVector< 3 >, size_t > &p1, const std::pair< MathVector< 3 >, size_t > &p2) |
template<> | |
bool | ComparePosDim< 3, 2 > (const std::pair< MathVector< 3 >, size_t > &p1, const std::pair< MathVector< 3 >, size_t > &p2) |
template<int dim, size_t orderDim> | |
bool | ComparePosDimDec (const std::pair< MathVector< dim >, size_t > &p1, const std::pair< MathVector< dim >, size_t > &p2) |
template<> | |
bool | ComparePosDimDec< 1, 0 > (const std::pair< MathVector< 1 >, size_t > &p1, const std::pair< MathVector< 1 >, size_t > &p2) |
template<> | |
bool | ComparePosDimDec< 2, 0 > (const std::pair< MathVector< 2 >, size_t > &p1, const std::pair< MathVector< 2 >, size_t > &p2) |
template<> | |
bool | ComparePosDimDec< 2, 1 > (const std::pair< MathVector< 2 >, size_t > &p1, const std::pair< MathVector< 2 >, size_t > &p2) |
template<> | |
bool | ComparePosDimDec< 3, 0 > (const std::pair< MathVector< 3 >, size_t > &p1, const std::pair< MathVector< 3 >, size_t > &p2) |
template<> | |
bool | ComparePosDimDec< 3, 1 > (const std::pair< MathVector< 3 >, size_t > &p1, const std::pair< MathVector< 3 >, size_t > &p2) |
template<> | |
bool | ComparePosDimDec< 3, 2 > (const std::pair< MathVector< 3 >, size_t > &p1, const std::pair< MathVector< 3 >, size_t > &p2) |
template<int dim> | |
bool | ComparePosDimYDir (const std::pair< MathVector< dim >, size_t > &p1, const std::pair< MathVector< dim >, size_t > &p2) |
template<> | |
bool | ComparePosDimYDir< 1 > (const std::pair< MathVector< 1 >, size_t > &p1, const std::pair< MathVector< 1 >, size_t > &p2) |
template<> | |
bool | ComparePosDimYDir< 2 > (const std::pair< MathVector< 2 >, size_t > &p1, const std::pair< MathVector< 2 >, size_t > &p2) |
template<> | |
bool | ComparePosDimYDir< 3 > (const std::pair< MathVector< 3 >, size_t > &p1, const std::pair< MathVector< 3 >, size_t > &p2) |
template<int dim> | |
bool | ComparePosDimZDir (const std::pair< MathVector< dim >, size_t > &p1, const std::pair< MathVector< dim >, size_t > &p2) |
template<> | |
bool | ComparePosDimZDir< 1 > (const std::pair< MathVector< 1 >, size_t > &p1, const std::pair< MathVector< 1 >, size_t > &p2) |
template<> | |
bool | ComparePosDimZDir< 2 > (const std::pair< MathVector< 2 >, size_t > &p1, const std::pair< MathVector< 2 >, size_t > &p2) |
template<> | |
bool | ComparePosDimZDir< 3 > (const std::pair< MathVector< 3 >, size_t > &p1, const std::pair< MathVector< 3 >, size_t > &p2) |
bool | CompareScalar (const std::pair< number, size_t > &p1, const std::pair< number, size_t > &p2) |
template<class TVrtContainer1 , class TVrtContainer2 > | |
UG_API bool | CompareVertexContainer (const TVrtContainer1 &con1, const TVrtContainer2 &con2) |
compares vertices in a container More... | |
template<class TVrtContainer1 , class TVrtContainer2 > | |
bool | CompareVertexContainer (const TVrtContainer1 &con1, const TVrtContainer2 &con2) |
compares vertices in a container More... | |
UG_API bool | CompareVertices (const EdgeVertices *ev1, const EdgeVertices *ev2) |
Checks whether ev1 and ev2 contain the same vertices. More... | |
bool | CompareVertices (const FaceVertices *fv1, const FaceVertices *fv2) |
Checks whether fv1 and fv2 contain the same vertices. More... | |
bool | CompareVertices (const VolumeVertices *vv1, const VolumeVertices *vv2) |
Checks whether vv1 and vv2 contain the same vertices. More... | |
static number | compute_angle (const vector3 &axis, const vector3 &secondAxis, const vector3 &thirdAxis, const vector3 &posFromAxis) |
static void | compute_first_section_end_points (vector3 &pos0Out, vector3 &pos1Out, std::vector< NeuriteProjector::Section >::const_iterator secIt) |
static void | compute_ONB (vector3 &firstOut, vector3 &secondOut, vector3 &thirdOut, const vector3 &firstIn, const vector3 &refDir) |
static void | compute_position_and_velocity_in_section (vector3 &posAxOut, vector3 &velOut, number &radiusOut, std::vector< NeuriteProjector::Section >::const_iterator secIt, float t) |
static void | compute_radius_in_section (number &radiusOut, std::vector< NeuriteProjector::Section >::const_iterator secIt, float t) |
template<typename TElem > | |
number | ComputeAvg (MultiGrid::AttachmentAccessor< TElem, ug::Attachment< number > > &aaError2, ConstSmartPtr< DoFDistribution > dd, number &min, number &max, number &sum, number &errSq, size_t &numElem, number &minLocal, number &maxLocal, number &sumLocal, size_t &numElemLocal) |
helper function that computes min/max and total of error indicators More... | |
template<typename TRefElem > | |
static void | ComputeBFMidID (const TRefElem &rRefElem, int side, MidID vMidID[], int co) |
template<typename TRefElem > | |
static void | ComputeBFMidID (const TRefElem &rRefElem, int side, MidID vMidID[], int co) |
void | ComputeCRCuthillMcKeeOrder (std::vector< size_t > &vNewIndex, std::vector< std::vector< size_t > > &vvConnections, size_t minpind, bool bReverse) |
void | ComputeCuthillMcKeeOrder (std::vector< size_t > &vNewIndex, std::vector< std::vector< size_t > > &vvNeighbour, bool bReverse=true, bool bPreserveConsec=true) |
returns an array describing the needed index mapping for Cuthill-McKee ordering More... | |
void | computeDegree (std::vector< size_t > °ree, std::vector< std::vector< size_t > > &vvConnections, size_t minpind) |
void | computeDiamondPointXCrossType (ExpandCrossFracInfo &expCFIBeforeFracEdg, ExpandCrossFracInfo &expCFIAfterFracEdg, Vertex *const &crossPt, Grid::VertexAttachmentAccessor< APosition > &aaPos, SubsetHandler &sh, Grid &grid, IndexType const &diamantSubsNum, vector3 &distVecNewVrt2SCrossPt, bool useTrianglesInDiamonds=false) |
template<typename TVector > | |
void | ComputeDifferenceOnDelta (TVector &diff, const TVector &u, IndexLayout &dualMasterLayoutIn, IndexLayout &dualSlaveLayoutIn, IndexLayout &dualNbrMasterLayoutIn, IndexLayout &dualNbrSlaveLayoutIn) |
Application of the "jump operator" \(B_{\Delta}\). More... | |
template<typename TVector > | |
void | ComputeDifferenceOnDeltaTransposed (TVector &f, const TVector &diff, const std::vector< IndexLayout::Element > &vDualMasterIndex, const std::vector< IndexLayout::Element > &vDualSlaveIndex, const std::vector< IndexLayout::Element > &vDualNbrSlaveIndex) |
'ComputeDifferenceOnDeltaTransposed()': Apply \(B_{\Delta}^T\) More... | |
template<int dim> | |
void | ComputeDirectionYOrder (std::vector< std::pair< MathVector< dim >, size_t > > &vPos, std::vector< size_t > &indY) |
template<int dim> | |
void | ComputeDirectionZOrder (std::vector< std::pair< MathVector< dim >, size_t > > &vPos, std::vector< size_t > &indZ) |
template<int TWorldDim, int ncorners> | |
void | ComputeElementExtensionsSq (const MathVector< TWorldDim > *vCornerCoords, MathVector< TWorldDim > &ext) |
template<typename TVector > | |
void | ComputeElementExtensionsSqForEdges (const TVector *vCornerCoords, TVector &ext) |
Extension of an element (in a given dimension) More... | |
template<typename TFunction > | |
void | ComputeGradientCrouzeixRaviart (TFunction &u, size_t fct, MultiGrid::AttachmentAccessor< typename TFunction::element_type, ug::Attachment< number > > &aaError) |
template<typename TFunction > | |
void | computeGradientJump (TFunction &u, MultiGrid::AttachmentAccessor< typename TFunction::element_type, ug::Attachment< number > > &aaGrad, MultiGrid::AttachmentAccessor< typename TFunction::element_type, ug::Attachment< number > > &aaError) |
template<typename TFunction > | |
void | ComputeGradientLagrange1 (TFunction &u, size_t fct, MultiGrid::AttachmentAccessor< typename TFunction::element_type, ug::Attachment< number > > &aaError) |
template<typename TFunction > | |
void | ComputeGradientPiecewiseConstant (TFunction &u, size_t fct, MultiGrid::AttachmentAccessor< typename TFunction::element_type, ug::Attachment< number > > &aaError) |
template<int dim> | |
void | ComputeLexicographicOrder (std::vector< size_t > &vNewIndex, std::vector< std::pair< MathVector< dim >, size_t > > &vPos, size_t orderDim, bool increasing) |
void | ComputeLocalSubsetDimensions (ISubsetHandler &sh, AChar aDimension, bool includeUnassigned) |
Computes the local subset dimension for each element and stores it in the given attachment. More... | |
template<int dim, typename TRefElem , int maxMid> | |
static void | ComputeMidPoints (const TRefElem &rRefElem, const MathVector< dim > vCorner[], MathVector< dim > vvMid[][maxMid]) |
template<int dim, typename TRefElem , int maxMid> | |
static void | ComputeMidPoints (const TRefElem &rRefElem, const MathVector< dim > vCorner[], MathVector< dim > vvMid[][maxMid]) |
template<typename TElem > | |
void | ComputeMinMax (MultiGrid::AttachmentAccessor< TElem, ug::Attachment< number > > &aaError, ConstSmartPtr< DoFDistribution > dd, number &min, number &max, number &totalErr, size_t &numElem, number &minLocal, number &maxLocal, number &totalErrLocal, size_t &numElemLocal) |
helper function that computes min/max and total of error indicators More... | |
template<typename TElem > | |
void | ComputeMinMaxTotal (MultiGrid::AttachmentAccessor< TElem, ug::Attachment< number > > &aaError2, ConstSmartPtr< DoFDistribution > dd, number &min, number &max, number &totalErr, size_t &numElem) |
helper function that computes min/max and total of error indicators More... | |
template<int dim> | |
void | ComputeMultiIndicesOfSubElement (std::vector< MathVector< dim, int > > *vvMultiIndex, bool *vIsBndElem, std::vector< int > *vElemBndSide, std::vector< size_t > *vIndex, ReferenceObjectID roid, int p) |
template<> | |
void | ComputeMultiIndicesOfSubElement< 1 > (std::vector< MathVector< 1, int > > *vvMultiIndex, bool *vIsBndElem, std::vector< int > *vElemBndSide, std::vector< size_t > *vIndex, ReferenceObjectID roid, int p) |
template<> | |
void | ComputeMultiIndicesOfSubElement< 2 > (std::vector< MathVector< 2, int > > *vvMultiIndex, bool *vIsBndElem, std::vector< int > *vElemBndSide, std::vector< size_t > *vIndex, ReferenceObjectID roid, int p) |
template<> | |
void | ComputeMultiIndicesOfSubElement< 3 > (std::vector< MathVector< 3, int > > *vvMultiIndex, bool *vIsBndElem, std::vector< int > *vElemBndSide, std::vector< size_t > *vIndex, ReferenceObjectID roid, int p) |
void | computeNewIndicesFromPIndexset (std::vector< std::vector< size_t > > &vvConnection, std::vector< size_t > &newIndex, size_t pmin, const std::vector< int > &inv_perm, bool bseparate) |
void | computeNewIndicesFromVIndexset (std::vector< std::vector< size_t > > &vvConnection, std::vector< size_t > &newIndex, size_t pmin, size_t dim, const std::vector< int > &inv_perm, bool bseparate, size_t strategy) |
template<typename TBaseElem , typename TSubBaseElem > | |
void | ComputeOrientationOffsetGeneric (std::vector< size_t > &vOrientOffset, TBaseElem *elem, TSubBaseElem *sub, size_t nrSub, const LFEID &lfeid) |
void | ComputeOrientationOffsetLagrange (std::vector< size_t > &vOrientOffset, EdgeDescriptor &ed, EdgeVertices *edge, const size_t p) |
void | ComputeOrientationOffsetLagrange (std::vector< size_t > &vOrientOffset, Face *face, Edge *edge, size_t nrEdge, const size_t p) |
void | ComputeOrientationOffsetLagrange (std::vector< size_t > &vOrientOffset, GridObject *volume, GridObject *face, size_t nrFace, const size_t p) |
void | ComputeOrientationOffsetLagrange (std::vector< size_t > &vOrientOffset, Volume *vol, Edge *edge, size_t nrEdge, const size_t p) |
void | ComputeOrientationOffsetLagrange (std::vector< size_t > &vOrientOffset, Volume *volume, Face *face, size_t nrFace, const size_t p) |
template<typename TRefElem > | |
static void | ComputeSCVFMidID (const TRefElem &rRefElem, MidID vMidID[], int i) |
template<typename TRefElem > | |
static void | ComputeSCVFMidID (const TRefElem &rRefElem, MidID vMidID[], int i) |
template<typename TRefElem > | |
static void | ComputeSCVMidID (const TRefElem &rRefElem, MidID vMidID[], int i) |
template<typename TRefElem > | |
static void | ComputeSCVMidID (const TRefElem &rRefElem, MidID vMidID[], int i) |
UG_API std::string | ConfigShift (std::string s) |
returns a "shifted" string one-line strings are not shifted two line strings are shifted like this: input: "MyLine1\nMyLine2\n" Output: "\n | MyLine1\n | MyLine2" note that they get an additional at the beginning, and doubled and at the end are removed, so you can use ConfigShift like this More... | |
string | ConfigShift (string s) |
char | ConfigShiftRotation (char c) |
template<typename TVec > | |
void | ConsistencyCheck (const TVec &vec, const HorizontalAlgebraLayouts &layout, std::string name="") |
template<typename TVec > | |
void | ConsistencyCheck (const TVec &vec, pcl::InterfaceCommunicator< IndexLayout > &com, const pcl::ProcessCommunicator &pc, const IndexLayout &masterLayout, const IndexLayout &slaveLayout, std::string name="") |
receives data over a interface based on a CommunicationScheme on a subgroup of processes More... | |
void | constrainingSideAveraging (PeriodicAttachmentAccessor< side_type, Attachment< VType > > &aaData, SmartPtr< TGridFunction > m_uInfo) |
template<class TGeomBaseObj , class TIndexType > | |
void | ConstructDualGraph (std::vector< TIndexType > &adjacencyMapStructureOut, std::vector< TIndexType > &adjacencyMapOut, Grid &grid, Attachment< TIndexType > *paIndex=NULL, TGeomBaseObj **pGeomObjsOut=NULL, NeighborhoodType nbhType=NHT_DEFAULT, const GridObjectCollection *pgoc=NULL) |
template<class TGeomBaseObj , class TIndexType > | |
void | ConstructDualGraphMG (std::vector< TIndexType > &adjacencyMapStructureOut, std::vector< TIndexType > &adjacencyMapOut, std::vector< TIndexType > *pEdgeWeightsOut, MultiGrid &mg, size_t baseLevel=0, int hWeight=1, int vWeight=1, Attachment< TIndexType > *paIndex=NULL, TGeomBaseObj **pGeomObjsOut=NULL, NeighborhoodType nbhType=NHT_DEFAULT) |
template<class TGeomBaseObj , class TIndexType > | |
void | ConstructDualGraphMGLevel (std::vector< TIndexType > &adjacencyMapStructureOut, std::vector< TIndexType > &adjacencyMapOut, MultiGrid &mg, size_t level, Attachment< TIndexType > *paIndex=NULL, TGeomBaseObj **pGeomObjsOut=NULL, NeighborhoodType nbhType=NHT_DEFAULT, DualGraphNeighborCollector< TGeomBaseObj > *neighborCollector=NULL) |
template<typename TElem , template< class, int > class TFVGeom, int TWorldDim> | |
void | ConstructGridOfSCV (ISubsetHandler &shOut, const SurfaceView &surfView, const Grid::VertexAttachmentAccessor< Attachment< MathVector< TWorldDim > > > &aaPos, Grid::VertexAttachmentAccessor< Attachment< MathVector< TWorldDim > > > &aaPosOut, int si) |
template<template< class, int > class TFVGeom, int TWorldDim> | |
void | ConstructGridOfSCV (ISubsetHandler &shOut, const SurfaceView &surfView, const Grid::VertexAttachmentAccessor< Attachment< MathVector< TWorldDim > > > &aaPos, Grid::VertexAttachmentAccessor< Attachment< MathVector< TWorldDim > > > &aaPosOut, int si, int siDim) |
template<typename TElem , template< class, int > class TFVGeom, int TWorldDim> | |
void | ConstructGridOfSCVF (ISubsetHandler &shOut, const SurfaceView &surfView, const Grid::VertexAttachmentAccessor< Attachment< MathVector< TWorldDim > > > &aaPos, Grid::VertexAttachmentAccessor< Attachment< MathVector< TWorldDim > > > &aaPosOut, int si) |
template<template< class, int > class TFVGeom, int TWorldDim> | |
void | ConstructGridOfSCVF (ISubsetHandler &shOut, const SurfaceView &surfView, const Grid::VertexAttachmentAccessor< Attachment< MathVector< TWorldDim > > > &aaPos, Grid::VertexAttachmentAccessor< Attachment< MathVector< TWorldDim > > > &aaPosOut, int si, int siDim) |
bool | ConstructOrthonormalSystem (matrix33 &matOut, const vector3 &v, size_t vColInd) |
constructs a orthonormal matrix given a vector in 3d. More... | |
template<class TGeomBaseObj , class TIndexType > | |
void | ConstructParallelDualGraphMGLevel (std::vector< TIndexType > &adjacencyMapStructureOut, std::vector< TIndexType > &adjacencyMapOut, std::vector< TIndexType > &nodeOffsetMapOut, MultiGrid &mg, size_t level, pcl::ProcessCommunicator procCom, Attachment< TIndexType > *paIndex=NULL, TGeomBaseObj **pGeomObjsOut=NULL, NeighborhoodType nbhType=NHT_DEFAULT) |
UG_API bool | Contains (const std::string &str, const std::string &search) |
Checks whether given string contains a specified substring. More... | |
bool | Contains (const string &str, const string &search) |
template<class TStdVector > | |
static bool | ContainsInterfaceElem (const TStdVector &elems, DistributedGridManager &distGridMgr) |
template<class vector_t , class TAAPos > | |
UG_API bool | ContainsPoint (const EdgeVertices *e, const vector_t &p, TAAPos aaPos) |
Returns true if the given point lies on the given edge. More... | |
template<class vector_t , class TAAPos > | |
UG_API bool | ContainsPoint (const FaceVertices *f, const vector_t &p, TAAPos aaPos) |
Returns true if the given point lies inside the given face. More... | |
template<class vector_t , class TAAPos > | |
bool | ContainsPoint (const FaceVertices *f, const vector_t &p, TAAPos aaPos) |
Returns true if the given point lies inside the given face. More... | |
template<class vector_t , class TAAPos > | |
UG_API bool | ContainsPoint (const Vertex *v, const vector_t &p, TAAPos aaPos) |
Returns true if the given point lies on the given vertex. More... | |
template<class TAAPos > | |
UG_API bool | ContainsPoint (Volume *vol, const vector3 &p, TAAPos aaPos) |
Checks whether a given point lies in the given volume element. More... | |
template<class TAAPos > | |
bool | ContainsPoint (Volume *vol, const vector3 &p, TAAPos aaPos) |
Checks whether a given point lies in the given volume element. More... | |
static void | ContinuousDebugSave (ISelector &sel) |
temporary method, which will be removed when debugging is done. More... | |
template<class TElem , class TSrcAttachment , class TDestAttachment > | |
bool | ConvertMathVectorAttachmentValues (Grid &grid, TSrcAttachment &srcAttachment, TDestAttachment &destAttachment) |
Fills the dest-attachment with values from the source-attachment. More... | |
std::string | ConvertNumber (uint64_t size, unsigned int width, unsigned int numDisplayedDigits) |
returns number 'size' in a more human readable format (using IEC binary prefixes) More... | |
std::string | ConvertNumberSI (uint64_t size, unsigned int width, unsigned int numDisplayedDigits) |
returns number 'size' in a more human readable format (using SI prefixes) More... | |
template<class TVolIter > | |
void | ConvertToTetrahedra (Grid &grid, TVolIter volsBegin, TVolIter volsEnd) |
Converts all volumes in the given range to tetrahedra. More... | |
template<class TElemIter , class TAttachment > | |
bool | CopyAttachments (Grid &grid, TElemIter elemsBegin, TElemIter elemsEnd, TAttachment &aSrc, TAttachment &aDest) |
copies attachments for the specified elements More... | |
template<class TElem , class TAttachment > | |
bool | CopyAttachments (Grid &srcGrid, TAttachment &aSrc, Grid &destGrid, TAttachment &aDest) |
copies attachments from one grid to the other More... | |
template<int dim, int maxMid> | |
static void | CopyCornerByMidID (MathVector< dim > vCorner[], const MidID vMidID[], MathVector< dim > vvMidPos[][maxMid], const size_t numCo) |
template<int dim, int maxMid> | |
static void | CopyCornerByMidID (MathVector< dim > vCorner[], const MidID vMidID[], MathVector< dim > vvMidPos[][maxMid], const size_t numCo) |
template void | CopyGrid (Grid &, Grid &, ISubsetHandler &, ISubsetHandler &, APosition1) |
template void | CopyGrid (Grid &, Grid &, ISubsetHandler &, ISubsetHandler &, APosition2) |
template void | CopyGrid (Grid &, Grid &, ISubsetHandler &, ISubsetHandler &, APosition3) |
template<class TAPos > | |
void | CopyGrid (Grid &srcGrid, Grid &destGrid, ISubsetHandler &srcSH, ISubsetHandler &destSH, TAPos aPos) |
Copies a grid to a separate grid. More... | |
template<class TElem > | |
void | CopyGridElements (Grid &srcGrid, Grid &destGrid, ISubsetHandler &srcSH, ISubsetHandler &destSH, Attachment< Vertex * > &aNewVrt) |
Copy grid elements of type TElem from srcGrid to destGrid. More... | |
template<class TAPos > | |
void | CopyGridLevel (MultiGrid &srcMG, Grid &destGrid, ISubsetHandler &srcSH, ISubsetHandler &destSH, int lvl, TAPos aPos) |
Copies a grid level to a separate grid. More... | |
template<class TElem > | |
void | CopyGridLevelElements (MultiGrid &srcMG, Grid &destGrid, ISubsetHandler &srcSH, ISubsetHandler &destSH, int lvl, AVertex &aNewVrt) |
static void | CopyInterfaceEntrysToDomainDecompositionLayouts (IndexLayout &subdomLayoutOut, IndexLayout &processLayoutOut, IndexLayout &deltaNbrLayoutOut, IndexLayout &crossPointLayoutOut, const IndexLayout &standardLayout, vector< int > &flags, IDomainDecompositionInfo &ddinfo) |
template<typename TMatrixType , typename TRowType > | |
void | CopyOffDiagEntries (const TMatrixType &A, size_t i, TRowType &row, bool enforceNew=false) |
template<typename TDomain > | |
void | CopySelected (SmartPtr< TDomain > destDom, SmartPtr< TDomain > srcDom, Selector &sel) |
template<class TElem > | |
void | CopySelectedElements (Selector &srcSel, Grid &destGrid, AVertex aNewVrt) |
template<typename TDomain , class TElem > | |
void | CopySelectedElements (SmartPtr< TDomain > destDom, SmartPtr< TDomain > srcDom, Selector &sel, AVertex &aNewVrt) |
template<class TAAPosSrc , class TAAPosDest > | |
void | CopySelection (Selector &srcSel, Grid &destGrid, TAAPosSrc aaPosSrc, TAAPosDest aaPosDest) |
template<class TGeomObj > | |
void | CopySelectionStatus (Selector &selOut, Grid &gridOut, Selector &selIn, Grid &gridIn) |
template<class TGeomObj > | |
static void | CopySelectionStatus (Selector &selOut, Grid &gridOut, Selector &selIn, Grid &gridIn) |
template<class TIterator > | |
static void | CopySubsetFromHigherDimNbr (ISubsetHandler &sh, TIterator elemsBegin, TIterator elemsEnd, AChar aDimension) |
template<class TIterator > | |
static void | CopySubsetIndices (ISubsetHandler &dest, const ISubsetHandler &src, TIterator destIterBegin, TIterator destIterEnd, TIterator srcIterBegin, TIterator srcIterEnd) |
void | CopySubsetIndicesToSides (ISubsetHandler &sh, bool toUnassignedOnly) |
copies subset-indices to sides of all elements in the subset handler More... | |
void | CopySubsetIndicesToSides (ISubsetHandler &sh, GridObjectCollection goc, bool toUnassignedOnly) |
copies subset-indices to sides of the specified elements More... | |
void | CopySubsetIndicesToSides (ISubsetHandler &sh, ISelector &sel, bool toUnassignedOnly) |
copies subset-indices to sides of the elements selected in 'sel' More... | |
template<class TIterator > | |
void | CopySubsetIndicesToSides (ISubsetHandler &sh, TIterator elemsBegin, TIterator elemsEnd, bool toUnassignedOnly) |
copies subset-indices to side-elements More... | |
template<typename TStorage > | |
std::string | CPPString (const DenseMatrix< TStorage > &A, const char *name) |
void | cr_get_connections (std::vector< std::vector< size_t > > &vvConnection, size_t &minpind, DoFDistribution &dd, TGridFunction &u) |
uint32 | crc32 (const char *str) |
Calculates the crc32 for a null-terminated string. More... | |
void | CRCuthillMcKee (std::vector< size_t > &newIndex, std::vector< std::vector< size_t > > &vvConnection, size_t dim, size_t minpind, bool bReverse, bool bseparate, bool orderp, bool orderv) |
template<typename TDomain > | |
static SmartPtr< IRefiner > | CreateAdaptiveRegularDomainRefiner (TDomain *dom) |
Creates an adaptive regular domain refiner. More... | |
void | CreateAllToAllFromMasterSlave (pcl::InterfaceCommunicator< IndexLayout > &communicator, IndexLayout &OLCoarseningSendLayout, IndexLayout &OLCoarseningReceiveLayout, IndexLayout &OL1MasterLayout, IndexLayout &OL1SlaveLayout) |
template<class TGeomObj > | |
void | CreateAndDistributeGlobalIDs (Grid &g, GridLayoutMap &glm, AGeomObjID &aID=aGeomObjID) |
Creates and distributes global ids for the given element type. More... | |
template<typename AB_type , typename A_type , typename B_type > | |
void | CreateAsMultiplyOf (AB_type &M, const A_type &A, const B_type &B) |
Calculates M = A*B. More... | |
template<typename ABC_type , typename A_type , typename B_type , typename C_type > | |
void | CreateAsMultiplyOf (ABC_type &M, const A_type &A, const B_type &B, const C_type &C, double epsilonTruncation=0.0) |
Calculates M = A*B*C. More... | |
template<int dim> | |
SmartPtr< CplUserData< MathMatrix< dim, dim >, dim > > | CreateConstUserData (number val, MathMatrix< dim, dim >) |
template<int dim> | |
SmartPtr< CplUserData< MathTensor< 4, dim >, dim > > | CreateConstUserData (number val, MathTensor< 4, dim >) |
template<int dim, int worldDim = dim> | |
SmartPtr< CplUserData< MathVector< dim >, worldDim > > | CreateConstUserData (number val, MathVector< dim >) |
template<int dim> | |
SmartPtr< CplUserData< number, dim > > | CreateConstUserData (number val, number) |
template<typename TData , int dim> | |
SmartPtr< CplUserData< TData, dim > > | CreateConstUserData (number val, TData dummy) |
creates user data of desired type More... | |
template<template< class, int > class TFVGeom, typename TDomain > | |
void | CreateControlVolumeDomain (TDomain &domOut, const TDomain &domIn, const SurfaceView &surfView, int si=-1) |
void | createDiamondFacesXCrossType (ExpandCrossFracInfo &expCFIBeforeFracEdg, ExpandCrossFracInfo &expCFIAfterFracEdg, std::vector< Face * > &newDiamFaceVec, SubsetHandler &sh, Grid &grid, IndexType diamantSubsNum, Vertex *&crossPt, bool isFreeTEnd=false) |
UG_API bool | CreateDirectory (const char *directory) |
Creates a directory. More... | |
UG_API bool | CreateDirectory (const char *directory, int mode) |
Creates a directory. More... | |
static bool | CreateDirectory (std::string directory) |
Creates a directory. More... | |
UG_API bool | CreateDirectoryTMP (const char *directory) |
Creates a directory. More... | |
Edge * | CreateEdge (Grid &grid, Vertex *vrt0, Vertex *vrt1) |
Edge * | CreateEdge (Grid &grid, Vertex *vrts[], const size_t, numVrts) |
bool | CreateEdgeSplitGeometry (Grid &destGrid, Grid &srcGrid, Edge *e, Vertex *newVertex, AVertex *paAssociatedVertices=NULL) |
given an edge and a vertex (the split-vertex) this method constructs the split-geometry. More... | |
void | CreateElementQualityHistogram (vector< int > &histOut, const std::vector< number > &vQualities, int numSections) |
Face * | CreateFace (Grid &grid, Vertex *vrts[], const size_t numVrts) |
void | CreateFunctionIndexMapping (FunctionIndexMapping &map, const FunctionGroup &grpFrom, ConstSmartPtr< FunctionPattern > fctPattern) |
void | CreateFunctionIndexMapping (FunctionIndexMapping &map, const FunctionGroup &grpFromSmall, const FunctionGroup &grpToLarge) |
template<class TDomain > | |
static SmartPtr< GlobalFracturedMediaRefiner > | CreateGlobalFracturedDomainRefiner (TDomain *dom) |
Creates a global fractured domain refiner. More... | |
template<typename TLocalToGlobal > | |
void | CreateGlobalLayout (GlobalLayout &globalLayout, const IndexLayout &layout, const TLocalToGlobal &localToGlobal) |
void | CreateGridFromField (Grid &grid, const Field< number > &field, const vector2 &cellSize, const vector2 &offset, number noDataValue, Grid::VertexAttachmentAccessor< APosition > aaPos) |
void | CreateGridFromField (Grid &grid, const Heightfield &hfield, Grid::VertexAttachmentAccessor< APosition > aaPos) |
void | CreateGridFromFieldBoundary (Grid &grid, const Field< number > &field, const vector2 &cellSize, const vector2 &offset, number noDataValue, Grid::VertexAttachmentAccessor< APosition > aaPos) |
void | CreateGridFromFieldBoundary (Grid &grid, const Heightfield &hfield, Grid::VertexAttachmentAccessor< APosition > aaPos) |
template<template< class, int > class TFVGeom, typename TAAPosition , typename TAPosition > | |
void | CreateGridOfControlVolumes (ISubsetHandler &shOut, TAAPosition &aaPosOut, TAPosition &aPosOut, const ISubsetHandler &sh, const TAAPosition &aaPos, const SurfaceView &surfView, int si=-1) |
template<template< class, int > class TFVGeom, typename TAAPosition > | |
void | CreateGridOfSubControlVolumeFaces (ISubsetHandler &shOut, TAAPosition &aaPosOut, const ISubsetHandler &sh, const TAAPosition &aaPos, const SurfaceView &surfView, int si=-1) |
template<template< class, int > class TFVGeom, typename TAAPosition > | |
void | CreateGridOfSubControlVolumes (ISubsetHandler &shOut, TAAPosition &aaPosOut, const ISubsetHandler &sh, const TAAPosition &aaPos, const SurfaceView &surfView, int si=-1) |
Hexahedron * | CreateHexahedronFromPrisms (Grid &grid, Prism *p0, Prism *p1) |
Creates a hexahedron from two prisms which share a quadrilateral side. More... | |
bool | CreateIndexLayouts_DomainDecomposition (IndexLayout &processLayoutOut, IndexLayout &subdomainLayoutOut, DoFDistribution &dofDistr, GridLayoutMap &layoutMap, int keyType, int level, pcl::IDomainDecompositionInfo *ddInfoIn) |
template<typename TGlobalToLocal > | |
void | CreateLayoutFromGlobalLayout (IndexLayout &layout, GlobalLayout &globalLayout, TGlobalToLocal &globalToLocal, bool bRemoveDoubles=true) |
template<class TElem > | |
static void | CreateLayoutsFromDistInfos (MultiGrid &mg, GridLayoutMap &glm, DistInfoSupplier &distInfos, AGeomObjID &aGID) |
bool | CreateLevelIndexLayout (IndexLayout &layoutOut, DoFDistribution &dofDistr, GridLayoutMap &layoutMap, int keyType, int level) |
creates the index layout for a level given a GridLayoutMap More... | |
template<class TElem > | |
number | CreateListOfElemWeights (Grid::AttachmentAccessor< TElem, ug::Attachment< number > > &aaError, typename DoFDistribution::traits< TElem >::const_iterator iterBegin, const typename DoFDistribution::traits< TElem >::const_iterator iterEnd, std::vector< double > &etaSq) |
SmartPtr< AlgebraLayouts > | CreateLocalAlgebraLayouts () |
void | createNewFacesForExtXCrossFracs (ExpandCrossFracInfo const &ecf, std::vector< Face * > &newFracFaceVec, bool &boundAtShiftVrtEdg, SubsetHandler &sh, Grid &grid, Vertex *const &crossPt, std::vector< IndexType > const &subdomList) |
template<class TIterator > | |
SPOctree | CreateOctree (Grid &grid, TIterator elemsBegin, TIterator elemsEnd, int maxDepth, int elemThreshold, bool bLoose, APosition &aPos=aPosition) |
Creates an Octree from a list of edges or triangles. More... | |
template<class TMatrix > | |
void | CreateOverlap (TMatrix &matInOut) |
Adds coefficients and connections to create an overlapping matrix. More... | |
template<typename TPosition > | |
void | CreatePlane (Grid &grid, const TPosition &upLeft, const TPosition &upRight, const TPosition &lowLeft, const TPosition &lowRight, Grid::VertexAttachmentAccessor< Attachment< TPosition > > &aaPos bool fill) |
template<class TEdgeIter > | |
bool | CreatePolyChain (std::vector< Vertex * > &polyChainOut, Grid &grid, TEdgeIter edgesBegin, TEdgeIter edgesEnd) |
given a list of edges, this method collects associated vertices in a polychain More... | |
static Prism * | CreatePrism (Grid &grid, vector< Triangle * > &vTris, vector< Quadrilateral * > &vQuads, Grid::VertexAttachmentAccessor< APosition > &aaPos) |
SPProcessHierarchy | CreateProcessHierarchy (size_t *numElemsOnLvl, size_t numLvls, size_t minNumElemsPerProcPerLvl, size_t maxNumRedistProcs, size_t maxNumProcs, int minDistLvl, int maxLvlsWithoutRedist) |
Creates a process-hierarchy that fullfills the given conditions. More... | |
template<class TDomain > | |
SPProcessHierarchy | CreateProcessHierarchy (TDomain &dom, size_t minNumElemsPerProcPerLvl, size_t maxNumRedistProcs, size_t maxNumProcs, int minDistLvl, int maxLevelsWithoutRedist) |
Creates a process-hierarchy that fullfills the given conditions. More... | |
template<class TDomain > | |
SPProcessHierarchy | CreateProcessHierarchy (TDomain &dom, size_t minNumElemsPerProcPerLvl, size_t maxNumRedistProcs, size_t maxNumProcs, int minDistLvl, int maxLevelsWithoutRedist, IRefiner *refiner) |
static Pyramid * | CreatePyramid (Grid &grid, vector< Triangle * > &vTris, vector< Quadrilateral * > &vQuads, Grid::VertexAttachmentAccessor< APosition > &aaPos) |
Quadrilateral * | CreateQuadrilateral (Grid &g, Face *tri1, Face *tri2) |
Creates a new quadrilateral from the specified triangles in the specified grid. More... | |
Quadrilateral * | CreateQuadrilateral_NoRegistration (Grid &g, Face *tri1, Face *tri2) |
Creates a new quadrilateral from the specified triangles but doesn't register it at the grid. More... | |
template<typename TElem , template< class, int > class TFVGeom, int TWorldDim> | |
void | CreateSCV (const TElem &elem, TFVGeom< TElem, TWorldDim > &geo, ISubsetHandler &shOut, Grid::VertexAttachmentAccessor< Attachment< MathVector< TWorldDim > > > &aaPosOut) |
template<typename TElem , template< class, int > class TFVGeom, int TWorldDim> | |
void | CreateSCVF (const TElem &elem, TFVGeom< TElem, TWorldDim > &geo, ISubsetHandler &shOut, Grid::VertexAttachmentAccessor< Attachment< MathVector< TWorldDim > > > &aaPosOut) |
template<class TElem > | |
number | CreateSortedListOfElems (Grid::AttachmentAccessor< TElem, ug::Attachment< number > > &aaError, typename DoFDistribution::traits< TElem >::const_iterator iterBegin, const typename DoFDistribution::traits< TElem >::const_iterator iterEnd, std::vector< std::pair< double, TElem * > > &etaSqList) |
template<typename matrix_type > | |
void | CreateStrongConnectionGraphForSystems (const matrix_type &A, cgraph &graph, double theta) |
template<template< class, int > class TFVGeom, typename TDomain > | |
void | CreateSubControlVolumeDomain (TDomain &domOut, const TDomain &domIn, const SurfaceView &surfView, int si=-1) |
template<template< class, int > class TFVGeom, typename TDomain > | |
void | CreateSubControlVolumeFaceDomain (TDomain &domOut, const TDomain &domIn, const SurfaceView &surfView, int si=-1) |
template<typename TElemIn > | |
void | CreateSubsetGroups (std::vector< SubsetGroup > &vSSGrp, SubsetGroup &unionSSGrp, std::vector< TElemIn * > vElemDisc, ConstSmartPtr< ISubsetHandler > pSH) |
IExternalSolverImplementation * | CreateSuperLUImplementation (SuperLUConfiguration &config) |
bool | CreateSurfaceIndexLayout (IndexLayout &layoutOut, DoFDistribution &dofDistr, GridLayoutMap &layoutMap, int keyType, MultiGrid &mg, DistributedGridManager &dGrMgr) |
creates the index layout for a level given a GridLayoutMap More... | |
template<class TSurfaceView > | |
void | CreateSurfaceView (TSurfaceView &surfaceViewOut, DistributedGridManager &distGridMgr, MultiGridSubsetHandler &mgsh) |
template<class TElem , class TSurfaceView > | |
void | CreateSurfaceView (TSurfaceView &surfaceViewOut, MultiGrid &mg, MGSubsetHandler &mgsh) |
template<class TSurfaceView > | |
void | CreateSurfaceView (TSurfaceView &surfaceViewOut, MultiGrid &mg, MultiGridSubsetHandler &mgsh) |
bool | CreateSweepLineStructs (vector< SweepLineVertex > &vrtsOut, SweepLineEdgeList &edgesOut, const vector< vector2 > &vrtsIn, const vector< int > &edgesIn) |
static Tetrahedron * | CreateTetrahedron (Grid &grid, vector< Triangle * > &vTris, Grid::VertexAttachmentAccessor< APosition > &aaPos) |
void | CreateTKD (const TKDInfo &tkdInfo, Grid &g, APosition3 &aPos, Volume **volsOut=NULL) |
Creates a tkd mesh based on the given tkdInfo object. More... | |
void | CreateTKDVertices (const TKDInfo &tkdInfo, Grid &g, APosition3 &aPos, Vertex **vrtsOut) |
void | CreateTKDWithOuterLayer (const TKDInfo &tkdInfo, Grid &g, APosition3 &aPos, Volume **volsOut=NULL) |
Creates a tkd mesh with a surrounding layer based on the given tkdInfo object. More... | |
void | CreateUnionOfFunctionGroups (FunctionGroup &fctGrp, const std::vector< const FunctionGroup * > &vFctGrp, bool sortFct=false) |
void | CreateUnionOfFunctionGroups (FunctionGroup &fctGrp, const vector< const FunctionGroup * > &vFctGrp, bool sortFct) |
template<typename TPosition > | |
Vertex * | CreateVertex (Grid &grid, const TPosition &pos, Grid::VertexAttachmentAccessor< Attachment< TPosition > > &aaPos) |
Volume * | CreateVolume (Grid &grid, Vertex *vrts, const size_t numVrts) |
static void | CreateVolumesFromElementIndexList (Grid &g, const int *elemIndexList, int numElements, Vertex *const *vrts, Volume **volsOut=NULL) |
static void | CreateVolumesFromElementIndexList (vector< Volume * > &volsOut, int *elemIndexList, int elemIndexListSize, Vertex **vrts) |
void | CRKing (std::vector< size_t > &newIndex, std::vector< std::vector< size_t > > &vvConnection, size_t dim, size_t minpind, bool bReverse, bool bseparate, bool orderp, bool orderv) |
void | CRMinimumDegree (std::vector< size_t > &newIndex, std::vector< std::vector< size_t > > &vvConnection, size_t dim, size_t minpind, bool bseparate, bool orderp, bool orderv) |
void | CROrderCuthillMcKee (ApproximationSpace< TDomain > &approxSpace, TGridFunction &u, bool bReverse, bool bseparate, bool orderp, bool orderv) |
void | CROrderKing (ApproximationSpace< TDomain > &approxSpace, TGridFunction &u, bool bReverse, bool bseparate, bool orderp, bool orderv) |
void | CROrderMinimumDegree (ApproximationSpace< TDomain > &approxSpace, TGridFunction &u, bool bseparate, bool orderp, bool orderv) |
void | CROrderSloan (ApproximationSpace< TDomain > &approxSpace, TGridFunction &u, bool bseparate, bool orderp, bool orderv) |
void | CRSloan (std::vector< size_t > &newIndex, std::vector< std::vector< size_t > > &vvConnection, size_t dim, size_t minpind, bool bseparate, bool orderp, bool orderv) |
template<typename T > | |
T | CUDA_GetElementFromDevice (T *p, size_t i=0) |
template<typename T > | |
void | CudaCheckStatus (T status, const char *file, int line) |
template<typename T > | |
void | CudaCpyToDevice (typename T::value_type *dest, T &vec) |
template<typename T > | |
void | CudaCpyToHost (T &dest, typename T::value_type *src) |
template<typename T > | |
T::value_type * | CudaCreateAndCopyToDevice (T &vec) |
const char * | CUDAError (int err) |
std::string | CurrentWorkingDirectory () |
bool | CutEdgesWithPlane (Selector &sel, const vector3 &p, const vector3 &n, APosition &aPos=aPosition) |
refines all edges in sel which cut the given plane. More... | |
std::string | cutString (double d, size_t width) |
double | dabs (double a) |
DECLARE_ATTACHMENT_INFO_TRAITS (Attachment< bool >, "bool") | |
DECLARE_ATTACHMENT_INFO_TRAITS (Attachment< byte >, "byte") | |
DECLARE_ATTACHMENT_INFO_TRAITS (Attachment< char >, "char") | |
DECLARE_ATTACHMENT_INFO_TRAITS (Attachment< double >, "double") | |
DECLARE_ATTACHMENT_INFO_TRAITS (Attachment< float >, "float") | |
DECLARE_ATTACHMENT_INFO_TRAITS (Attachment< int >, "int") | |
DECLARE_ATTACHMENT_INFO_TRAITS (Attachment< NeuriteProjector::Mapping >, "Mapping") | |
DECLARE_ATTACHMENT_INFO_TRAITS (Attachment< NeuriteProjector::SurfaceParams >, "NeuriteProjectorSurfaceParams") | |
DECLARE_ATTACHMENT_INFO_TRAITS (Attachment< uint >, "uint") | |
DECLARE_ATTACHMENT_INFO_TRAITS (Attachment< vector1 >, "vector1") | |
DECLARE_ATTACHMENT_INFO_TRAITS (Attachment< vector2 >, "vector2") | |
DECLARE_ATTACHMENT_INFO_TRAITS (Attachment< vector3 >, "vector3") | |
DECLARE_ATTACHMENT_INFO_TRAITS (Attachment< vector4 >, "vector4") | |
bool | Decomp (DenseMatrix< VariableArray2< double > > &A, DenseVector< VariableArray1< double > > &rhs, size_t &iNonNullRows, double deficitTolerance) |
bool | Decomp (DenseMatrix< VariableArray2< double > > &A, DenseVector< VariableArray1< double > > &rhs, size_t &iNonNullRows, std::vector< size_t > &xinterchange, double deficitTolerance) |
template<class TNumber > | |
TNumber | deg_to_rad (TNumber deg) |
template<class TAAPos > | |
static void | DelaunayDebugSave (Grid &g, const char *msg, DelaunayInfo< TAAPos > &dinfo) |
static bool | DelaunayLineLineIntersection (vector3 &vOut, const vector3 &lineFrom, const vector3 &lineTo, const vector3 &edgeVrt1, const vector3 &edgeVrt2, vector3 areaNormal, number smallsq=SMALL_SQ) |
string | demangle (const char *str) |
string | demangle_block (const char *str) |
template<class TSelector > | |
void | DeselectBoundarySelectionEdges (TSelector &sel) |
deselects all edges that are connected to unselected elements. More... | |
template void | DeselectBoundarySelectionEdges< MGSelector > (MGSelector &) |
template void | DeselectBoundarySelectionEdges< Selector > (Selector &) |
template<class TSelector > | |
void | DeselectBoundarySelectionFaces (TSelector &sel) |
deselects all faces that are connected to unselected elements. More... | |
template void | DeselectBoundarySelectionFaces< MGSelector > (MGSelector &) |
template void | DeselectBoundarySelectionFaces< Selector > (Selector &) |
template<class TSelector > | |
void | DeselectBoundarySelectionVertices (TSelector &sel) |
deselects all vertices that are connected to unselected elements. More... | |
template void | DeselectBoundarySelectionVertices< MGSelector > (MGSelector &) |
template void | DeselectBoundarySelectionVertices< Selector > (Selector &) |
static void | DeselectFamily (ISelector &sel, MultiGrid &mg, Edge *elem) |
static void | DeselectFamily (ISelector &sel, MultiGrid &mg, Face *elem) |
static void | DeselectFamily (ISelector &sel, MultiGrid &mg, GridObject *elem) |
static void | DeselectFamily (ISelector &sel, MultiGrid &mg, Vertex *elem) |
static void | DeselectFamily (ISelector &sel, MultiGrid &mg, Volume *elem) |
template<typename T > | |
void | Deserialize (std::istream &buff, const DenseMatrix< VariableArray2< T > > &mat) |
template<size_t n> | |
void | Deserialize (std::istream &buff, DenseVector< FixedArray1< number, n > > &vec) |
template<typename T > | |
void | Deserialize (std::istream &buff, DenseVector< VariableArray1< double > > &vec) |
template<class TIStream > | |
void | Deserialize (TIStream &buf, IndexLayout &layout) |
template<class TIStream > | |
void | Deserialize (TIStream &buf, IndexLayout::Interface &interface) |
template<typename T , class TIStream > | |
void | Deserialize (TIStream &buf, ParallelVector< T > &v) |
Deerialize for ParallelVector<T> More... | |
template<class TIStream > | |
void | Deserialize (TIStream &buf, pcl::InterfaceCommunicator< IndexLayout > &ic) |
template<class TIStream > | |
void | Deserialize (TIStream &buf, pcl::ProcessCommunicator &ic) |
template<class Key , class T , class TIStream > | |
void | Deserialize (TIStream &buf, std::map< Key, T > &m) |
deserializes data from a binary stream into a map More... | |
template<class T1 , class T2 , class TIStream > | |
void | Deserialize (TIStream &buf, std::pair< T1, T2 > &v) |
template<class T , class TIStream > | |
void | Deserialize (TIStream &buf, std::set< T > &myset) |
deserializes data from a binary stream into a set More... | |
template<class TIStream > | |
void | Deserialize (TIStream &buf, std::string &str) |
deserializes data from a binary stream into a string More... | |
template<class TIStream > | |
void | Deserialize (TIStream &buf, std::vector< bool > &vec) |
template<class TIStream > | |
void | Deserialize (TIStream &buf, std::vector< bool >::reference boolRef) |
deserializes data from a binary stream into a vector<bool> More... | |
template<class T , class TIStream > | |
void | Deserialize (TIStream &buf, std::vector< T > &vec) |
deserializes data from a binary stream into a vector More... | |
template<class TIStream > | |
void | Deserialize (TIStream &buf, Variant &v) |
deserializes data from a binary stream into a variant More... | |
template<typename TValueType , class TIStream > | |
void | Deserialize (TIStream &buf, Vector< TValueType > &v) |
template<typename T , class TIStream > | |
T | Deserialize (TIStream &stream) |
method returning value directly More... | |
template<class TStream , class T > | |
void | Deserialize (TStream &buf, const T &valOut) |
Catch errors with wrong const identifiers in valOut. More... | |
template<class TStream , class T > | |
void | Deserialize (TStream &buf, T &valOut) |
template<class TStream , std::size_t N, class T > | |
void | Deserialize (TStream &out, MathVector< N, T > &valOut) |
void | DeserializeAndAddGlobalInterface (BinaryBuffer &stream, std::vector< AlgebraID > &interface) |
void | DeserializeAndAddGlobalLayout (BinaryBuffer &stream, GlobalLayout &globalLayout) |
template<class TElem , class TAttachment > | |
bool | DeserializeAttachment (Grid &grid, TAttachment &attachment, BinaryBuffer &in) |
copies attached values from a binary stream More... | |
template<class TElem , class TAttachment > | |
bool | DeserializeAttachment (Grid &grid, TAttachment &attachment, typename geometry_traits< TElem >::iterator iterBegin, typename geometry_traits< TElem >::iterator iterEnd, BinaryBuffer &in) |
copies attached values from a binary stream More... | |
bool | DeserializeGridElements (Grid &grid, BinaryBuffer &in, bool readGridHeader=true) |
Creates grid elements from a binary stream. More... | |
template<typename TGlobalToLocal > | |
void | DeserializeInterface (BinaryBuffer &stream, IndexLayout::Interface &interface, const TGlobalToLocal &globalToLocal) |
template<typename TGlobalToLocal > | |
void | DeserializeLayout (BinaryBuffer &stream, IndexLayout &layout, const TGlobalToLocal &globalToLocal) |
template<typename TSparseMatrix , class TIStream > | |
void | DeserializeMatrix (TIStream &buf, TSparseMatrix &A) |
bool | DeserializeMultiGridElements (MultiGrid &mg, BinaryBuffer &in, std::vector< Vertex * > *pvVrts=NULL, std::vector< Edge * > *pvEdges=NULL, std::vector< Face * > *pvFaces=NULL, std::vector< Volume * > *pvVols=NULL, MultiElementAttachmentAccessor< AGeomObjID > *paaID=NULL) |
Creates multi-grid elements from a binary stream. More... | |
template<typename T , class TIStream > | |
void | DeserializeParallelData (TIStream &buf, T &t, IndexLayout &masterLayout, IndexLayout &slaveLayout, pcl::InterfaceCommunicator< IndexLayout > &ic, pcl::ProcessCommunicator &pc) |
void | DeserializeProjectionHandler (BinaryBuffer &in, ProjectionHandler &ph) |
SPRefinementProjector | DeserializeProjector (BinaryBuffer &in) |
template<typename TConnectionType > | |
size_t | DeserializeRow (BinaryBuffer &stream, stdvector< TConnectionType > &cons, ParallelNodes &PN) |
bool | DeserializeSelector (Grid &grid, ISelector &sel, BinaryBuffer &in) |
assigns subset-indices to all elements in the grid from a stream. More... | |
bool | DeserializeSelector (Grid &grid, ISelector &sel, GridObjectCollection goc, BinaryBuffer &in) |
assigns subset-indices to all elements in the goc from a stream. More... | |
bool | DeserializeSubsetHandler (Grid &grid, ISubsetHandler &sh, BinaryBuffer &in, bool readPropertyMap=true) |
assigns subset-indices to all elements in the grid from a stream. More... | |
bool | DeserializeSubsetHandler (Grid &grid, ISubsetHandler &sh, GridObjectCollection goc, BinaryBuffer &in, bool readPropertyMap=true) |
assigns subset-indices to all elements in the goc from a stream. More... | |
template<typename T , class TIStream > | |
void | DeserializeUniquePart (TIStream &buf, ParallelMatrix< T > &A) |
template<typename TValueType , class TIStream > | |
void | DeserializeUniquePart (TIStream &buf, ParallelVector< TValueType > &v) |
template<typename T > | |
MathMatrix< 0, 0, T >::value_type | Determinant (const MathMatrix< 0, 0, T > &m) |
template<typename T > | |
MathMatrix< 4, 4, T >::value_type | Determinant (const MathMatrix< 4, 4, T > &m) |
bool | determineOrderOfFaces (VecVertFracTrip const &vecVertFracTrip, VecFace const &assoFaces, VecVertexOfFaceInfo &orderedFaces, SegmentsFractExtrus &segments, IndexType startIndex, std::vector< Edge * > const &allAssoEdges, SubsetHandler &sh, Grid::EdgeAttachmentAccessor< ABool > const &aaMarkEdgeB, std::vector< Edge * > const &adjBndEdgs=std::vector< Edge * >(), Face *const &attFaceOf1stBndEdg=nullptr) |
void | dgetrf_ (lapack_int *m, lapack_int *n, lapack_double *pColMajorMatrix, lapack_int *lda, lapack_int *ipiv, lapack_int *info) |
void | dgetri_ (lapack_int *n, lapack_double *pColMajorMatrix, lapack_int *lda, const lapack_int *ipiv, lapack_double *pWork, lapack_int *worksize, lapack_int *info) |
void | dgetrs_ (char *trans, lapack_int *n, lapack_int *nrhs, const lapack_double *pColMajorMatrix, lapack_int *lda, const lapack_int *ipiv, lapack_double *b, lapack_int *ldb, lapack_int *info) |
template<typename Matrix_type , typename Vector_type > | |
void | diag_step (const Matrix_type &A, Vector_type &c, const Vector_type &d, number damp) |
Performs a jacobi-step. More... | |
template<typename Matrix_type , typename Vector_type > | |
bool | diag_step (const Matrix_type &A, Vector_type &x, const Vector_type &b, number damp) |
Performs a jacobi-step. More... | |
template<typename Matrix_type , typename Vector_type > | |
bool | Diag_Vanka_step (const Matrix_type &A, Vector_type &x, const Vector_type &b, number relax) |
DebugID | DID_REFERENCE_MAPPING ("REFERENCE_MAPPING") |
DebugID | DID_REFERENCE_MAPPING_GLOB_TO_LOC ("REFERENCE_MAPPING_GLOB_TO_LOC") |
int | DimensionOfSubset (const ISubsetHandler &sh, int si) |
returns the current dimension of the subset More... | |
int | DimensionOfSubsets (const ISubsetHandler &sh) |
Returns the dimension of geometric objects, that are contained in the subset handler. More... | |
UG_API bool | DirectoryExists (const char *dirname) |
Checks the existence of a given directory. More... | |
static bool | DirectoryExists (std::string filename) |
void | DisplayVacantMemory () |
number | DistanceLineToLine (const vector3 &a1, const vector3 &a2, const vector3 &b1, const vector3 &b2) |
calculates the distance between two 3d line segments More... | |
template<class vector_t > | |
number | DistancePointToLine (const vector_t &v, const vector_t &v1, const vector_t &v2) |
calculates the distance of a point to a line segment More... | |
template<class vector_t > | |
number | DistancePointToLine (number &tOut, const vector_t &v, const vector_t &v1, const vector_t &v2) |
template<class vector_t > | |
number | DistancePointToPlane (const vector_t &v, const vector_t &p, const vector_t &n) |
Calculates the distance between the specified point and the plane. More... | |
template<class vector_t > | |
number | DistancePointToRay (const vector_t &v, const vector_t &from, const vector_t &dir) |
calculates the distance of a point to a ray More... | |
template<class vector_t > | |
number | DistancePointToRay (number &tOut, const vector_t &v, const vector_t &from, const vector_t &dir) |
template<class vector_t > | |
number | DistancePointToRay (vector_t &vOut, number &tOut, const vector_t &v, const vector_t &from, const vector_t &dir) |
template<class vector_t > | |
number | DistancePointToTriangle (vector_t &vOut, number &bc1Out, number &bc2Out, const vector_t &p, const vector_t &v1, const vector_t &v2, const vector_t &v3, const vector_t &n) |
calculates the minimal distance of a point to a triangle. More... | |
template<typename TDomain > | |
static bool | DistributeDomain (TDomain &domainOut, PartitionMap &partitionMap, bool createVerticalInterfaces) |
distributes a already distributed domain onto the specified processes More... | |
template<typename TDomain > | |
static bool | DistributeDomain (TDomain &domainOut, PartitionMap &partitionMap, bool createVerticalInterfaces) |
static void | DistributeExpansionMarks3D (Grid &grid, SubsetHandler &sh, Selector &sel, const vector< FractureInfo > &fracInfos, bool expandInnerFracBnds, bool expandOuterFracBnds, Grid::VertexAttachmentAccessor< AInt > &aaMarkVRT, Grid::EdgeAttachmentAccessor< AInt > &aaMarkEDGE, Grid::FaceAttachmentAccessor< AInt > &aaMarkFACE) |
bool | DistributeGrid (MultiGrid &mg, SubsetHandler &shPartition, GridDataSerializationHandler &serializer, bool createVerticalInterfaces, const std::vector< int > *processMap=NULL, const pcl::ProcessCommunicator &procComm=pcl::ProcessCommunicator()) |
distributes/redistributes parts of possibly distributed grids. More... | |
std::string | DistributionPercentage (std::vector< double > values) |
template<int refDim, int dim> | |
bool | DoFPositionElem (std::vector< MathVector< dim > > &vPos, const ReferenceObjectID roid, const std::vector< MathVector< dim > > &vVertPos, const LFEID &lfeID) |
template<int dim> | |
bool | DoFPositionVertex (std::vector< MathVector< dim > > &vPos, const ReferenceObjectID roid, const std::vector< MathVector< dim > > &vVertPos, const LFEID &lfeID) |
template<typename TMatrix > | |
const number & | DoFRef (const TMatrix &mat, const DoFIndex &iInd, const DoFIndex &jInd) |
template<typename TVector > | |
const number & | DoFRef (const TVector &vec, const DoFIndex &ind) |
template<typename TMatrix > | |
number & | DoFRef (TMatrix &mat, const DoFIndex &iInd, const DoFIndex &jInd) |
template<typename TVector > | |
number & | DoFRef (TVector &vec, const DoFIndex &ind) |
template<typename TTo , typename TFrom > | |
TTo & | DownCast (const TTo &pfrom, const TFrom &p) |
template<typename TTo , typename TFrom > | |
TTo & | DownCast (const TTo &pfrom, TFrom &p) |
std::vector< number > | DragLift (SmartPtr< TGridFunction > spGridFct, const char *vCmp, const char *BndSubsets, const char *InnerSubsets, number kinVisco, number density, int quadOrder) |
void | DrivenCavityEvalAtPoints (const std::vector< MathVector< 2 > > &vPos, GlobalGridFunctionNumberData< TGridFunction > &GFEval, const number vReferenceValue[]) |
void | DrivenCavityLinesEval (SmartPtr< TGridFunction > u, std::vector< std::string > vVelCmp, size_t Re) |
template<class vector_t > | |
number | DropAPerpendicular (vector_t &vOut, const vector_t &v, const vector_t &v0, const vector_t &v1) |
finds the projection of v onto the line defined by v0 and v1 More... | |
template<class TAPos > | |
bool | Duplicate (Grid &grid, Selector &sel, const typename TAPos::ValueType &offset, TAPos &aPos, bool deselectOld=true, bool selectNew=true) |
Duplicates the selected part of a grid and translates it by an offset. More... | |
bool | EdgeCollapseIsValid (Grid &grid, Edge *e) |
Checks if an edge-collapse would invalidate the current topology. More... | |
bool | EdgeContains (EdgeVertices *e, Vertex *vrt) |
bool | EdgeContains (EdgeVertices *e, Vertex *vrt1, Vertex *vrt2) |
bool | EdgeExists (SweepLineVertex *v0, SweepLineVertex *v1) |
template<class TAAPosVRT > | |
UG_API number | EdgeLength (const EdgeVertices *e, TAAPosVRT &aaPos) |
Calculates the length of the given edge. More... | |
template<class TAAPosVRT > | |
number | EdgeLength (const EdgeVertices *e, TAAPosVRT &aaPos) |
Calculates the length of the given edge. More... | |
template<class TAAPosVRT > | |
UG_API number | EdgeLengthSq (const EdgeVertices *e, TAAPosVRT &aaPos) |
Calculates the squared length of the given edge. More... | |
template<class TAAPosVRT > | |
number | EdgeLengthSq (const EdgeVertices *e, TAAPosVRT &aaPos) |
Calculates the squared length of the given edge. More... | |
void | EdgeReferenceMappingTest (std::vector< number > vCornerCoord0, std::vector< number > vCornerCoord1, std::vector< number > vGlobPos) |
template<class TElem > | |
static std::string | ElementDebugInfo_IMPL (const Grid &grid, TElem *e) |
template<typename TElem , typename TDomain > | |
number | ElementDiameter (const TElem &elem, TDomain &domain) |
returns the maximal distance between to element vertices More... | |
template<class TElem , class TAAPos > | |
number | ElementDiameter (Grid &grid, TAAPos &aaPos, TElem *elem) |
returns the maximal distance between to element vertices More... | |
template<typename TElem , typename TDomain > | |
number | ElementDiameter (TElem &elem, TDomain &domain) |
template<typename TElem , typename TDomain > | |
number | ElementDiameterSq (const TElem &elem, TDomain &domain) |
returns the maximal squared distance between to element vertices More... | |
template<class TAAPos > | |
number | ElementDiameterSq (Grid &grid, TAAPos &aaPos, GridObject *elem) |
returns the maximal squared distance between to element vertices More... | |
template<class TElem , class TAAPos > | |
number | ElementDiameterSq (Grid &grid, TAAPos &aaPos, TElem *elem) |
returns the maximal squared distance between to element vertices More... | |
template<typename TElem , typename TDomain > | |
number | ElementDiameterSq (TElem &elem, TDomain &domain) |
template<int dim> | |
void | ElementExtensionsSq (ReferenceObjectID roid, MathVector< dim > &ext, const MathVector< dim > *vCornerCoords) |
template<> | |
void | ElementExtensionsSq< 1 > (ReferenceObjectID roid, MathVector< 1 > &ext, const MathVector< 1 > *vCornerCoords) |
template<> | |
void | ElementExtensionsSq< 2 > (ReferenceObjectID roid, MathVector< 2 > &ext, const MathVector< 2 > *vCornerCoords) |
template<> | |
void | ElementExtensionsSq< 3 > (ReferenceObjectID roid, MathVector< 3 > &ext, const MathVector< 3 > *vCornerCoords) |
template<typename TGroupObj , typename TDomain , typename TAlgebra > | |
void | ElementGaussSeidelStep (const typename TAlgebra::matrix_type &A, GridFunction< TDomain, TAlgebra > &c, const typename TAlgebra::vector_type &d, number relax, const std::vector< std::string > &cmp, number alpha, bool elim_off_diag=false) |
template<typename TRefElem , int TWorldDim> | |
void | ElementNormal (MathVector< TWorldDim > &normalOut, const MathVector< TWorldDim > *vCornerCoords) |
Normal to an Element in a given Dimension. More... | |
template<int dim> | |
void | ElementNormal (ReferenceObjectID roid, MathVector< dim > &normalOut, const MathVector< dim > *vCornerCoords) |
template<> | |
void | ElementNormal< 1 > (ReferenceObjectID roid, MathVector< 1 > &normalOut, const MathVector< 1 > *vCornerCoords) |
template<> | |
void | ElementNormal< 2 > (ReferenceObjectID roid, MathVector< 2 > &normalOut, const MathVector< 2 > *vCornerCoords) |
template<> | |
void | ElementNormal< 3 > (ReferenceObjectID roid, MathVector< 3 > &normalOut, const MathVector< 3 > *vCornerCoords) |
template<> | |
void | ElementNormal< ReferenceEdge, 2 > (MathVector< 2 > &normalOut, const MathVector< 2 > *vCornerCoords) |
Normal to a Line in 2d. More... | |
template<> | |
void | ElementNormal< ReferenceEdge, 3 > (MathVector< 3 > &normalOut, const MathVector< 3 > *vCornerCoords) |
Normal to a Line in 3d. More... | |
template<> | |
void | ElementNormal< ReferenceQuadrilateral, 3 > (MathVector< 3 > &normalOut, const MathVector< 3 > *vCornerCoords) |
Normal to a Quadrilateral in 3d. More... | |
template<> | |
void | ElementNormal< ReferenceTriangle, 3 > (MathVector< 3 > &normalOut, const MathVector< 3 > *vCornerCoords) |
Normal to a Triangle in 3d. More... | |
template<> | |
void | ElementNormal< ReferenceVertex, 1 > (MathVector< 1 > &normalOut, const MathVector< 1 > *vCornerCoords) |
Normal to a Point in 1d. More... | |
template<> | |
void | ElementNormal< ReferenceVertex, 2 > (MathVector< 2 > &normalOut, const MathVector< 2 > *vCornerCoords) |
Normal to a Point in 2d. More... | |
template<> | |
void | ElementNormal< ReferenceVertex, 3 > (MathVector< 3 > &normalOut, const MathVector< 3 > *vCornerCoords) |
Normal to a Point in 3d. More... | |
void | ElementQualityStatistics (Grid &grid, int dim) |
void | ElementQualityStatistics (Grid &grid, int dim, number angleHistStepSize, number aspectRatioHistStepSize, bool bWriteHistograms) |
void | ElementQualityStatistics (MultiGrid &mg, int dim) |
void | ElementQualityStatistics (MultiGrid &mg, int dim, number angleHistStepSize, number aspectRatioHistStepSize, bool bWriteHistograms) |
void | ElementQualityStatistics2d (Grid &grid, GridObjectCollection goc, number angleHistStepSize, number aspectRatioHistStepSize, bool bWriteHistograms) |
void | ElementQualityStatistics3d (Grid &grid, GridObjectCollection goc, number angleHistStepSize, number aspectRatioHistStepSize, bool bWriteHistograms) |
template<typename TRefElem , int TWorldDim> | |
bool | ElementSideRayIntersection (size_t &sideOut, MathVector< TWorldDim > &GlobalIntersectionPointOut, MathVector< TRefElem::dim > &LocalIntersectionPoint, const MathVector< TWorldDim > &From, const MathVector< TWorldDim > &Direction, bool bPositiv, const MathVector< TWorldDim > *vCornerCoords) |
ElementSideRayIntersection. More... | |
template<typename TRefElem , int TWorldDim> | |
number | ElementSize (const MathVector< TWorldDim > *vCornerCoords) |
Volume of an Element in a given Dimension. More... | |
template<typename TElem , typename TPosition > | |
number | ElementSize (const TElem &elem, const Grid::VertexAttachmentAccessor< Attachment< TPosition > > &aaPos) |
returns the size of a geometric object More... | |
template<typename TElem , typename TDomain > | |
number | ElementSize (const TElem &elem, const TDomain &domain) |
returns the size of a geometric object More... | |
template<int dim> | |
number | ElementSize (ReferenceObjectID roid, const MathVector< dim > *vCornerCoords) |
template<> | |
number | ElementSize< 1 > (ReferenceObjectID roid, const MathVector< 1 > *vCornerCoords) |
template<> | |
number | ElementSize< 2 > (ReferenceObjectID roid, const MathVector< 2 > *vCornerCoords) |
template<> | |
number | ElementSize< 3 > (ReferenceObjectID roid, const MathVector< 3 > *vCornerCoords) |
template<> | |
number | ElementSize< ReferenceEdge, 1 > (const MathVector< 1 > *vCornerCoords) |
Volume of a Line in 1d. More... | |
template<> | |
number | ElementSize< ReferenceEdge, 2 > (const MathVector< 2 > *vCornerCoords) |
Volume of a Line in 2d. More... | |
template<> | |
number | ElementSize< ReferenceEdge, 3 > (const MathVector< 3 > *vCornerCoords) |
Volume of a Line in 3d. More... | |
template<> | |
number | ElementSize< ReferenceHexahedron, 3 > (const MathVector< 3 > *vCornerCoords) |
Volume of a Hexahedron in 3d. More... | |
template<> | |
number | ElementSize< ReferenceOctahedron, 3 > (const MathVector< 3 > *vCornerCoords) |
Volume of an Octahedron in 3d. More... | |
template<> | |
number | ElementSize< ReferencePrism, 3 > (const MathVector< 3 > *vCornerCoords) |
Volume of a Prism in 3d. More... | |
template<> | |
number | ElementSize< ReferencePyramid, 3 > (const MathVector< 3 > *vCornerCoords) |
Volume of a Pyramid in 3d. More... | |
template<> | |
number | ElementSize< ReferenceQuadrilateral, 2 > (const MathVector< 2 > *vCornerCoords) |
Volume of a Quadrilateral in 2d. More... | |
template<> | |
number | ElementSize< ReferenceQuadrilateral, 3 > (const MathVector< 3 > *vCornerCoords) |
Volume of a Quadrilateral in 3d. More... | |
template<> | |
number | ElementSize< ReferenceTetrahedron, 3 > (const MathVector< 3 > *vCornerCoords) |
Volume of a Tetrahedron in 3d. More... | |
template<> | |
number | ElementSize< ReferenceTriangle, 2 > (const MathVector< 2 > *vCornerCoords) |
Volume of a Triangle in 2d. More... | |
template<> | |
number | ElementSize< ReferenceTriangle, 3 > (const MathVector< 3 > *vCornerCoords) |
Volume of a Triangle in 3d. More... | |
template<class T > | |
bool | EliminateInvalidCells (Field< T > &field, const T &noDataValue) |
eliminates invalid cells by repeatedly filling those cells with averages of neighboring cells More... | |
static void | EnableDelaunayDebugSave (bool enable=true) |
bool | EnableMemTracker (bool b) |
template<typename matrix_type , typename vector_type > | |
double | EnergyNorm (vector_type &x, matrix_type &A) |
template<typename matrix_type , typename vector_type > | |
double | EnergyNorm (vector_type &x, matrix_type &A, vector_type &tmp) |
template<typename T1 , typename T2 > | |
double | EnergyProd (const T1 &v1, const DenseMatrix< T2 > &M, const T1 &v2) |
double | EnergyProd (double v1, double M, double v2) |
template<typename matrix_type , typename vector_type > | |
double | EnergyProd (vector_type &v1, matrix_type &A, vector_type &v2) |
template<typename matrix_type , typename vector_type > | |
double | EnergyProd (vector_type &v1, matrix_type &A, vector_type &v2, vector_type &tmp) |
std::string | EntryToString (const Table< std::string > &table, size_t rowInd, size_t colInd) |
std::string | EntryToString (const Table< std::stringstream > &table, size_t rowInd, size_t colInd) |
template<class T > | |
std::string | EntryToString (const Table< T > &table, size_t rowInd, size_t colInd) |
Returns a string-representation of the current entry. More... | |
void | EraseConnectingElements (Grid &grid, Vertex *v1, Vertex *v2) |
erases all elements that connect v1 and v2 More... | |
template<class TElem > | |
UG_API void | EraseElements (Grid &grid, typename geometry_traits< TElem >::iterator iterBegin, typename geometry_traits< TElem >::iterator iterEnd) |
erases all elements between iterBegin and iterEnd. More... | |
template<class TElem > | |
void | EraseElements (Grid &grid, typename geometry_traits< TElem >::iterator iterBegin, typename geometry_traits< TElem >::iterator iterEnd) |
erases all elements between iterBegin and iterEnd. More... | |
void | EraseEmptySubsets (ISubsetHandler &sh) |
Erases all subsets which do not contain any geometric objects. More... | |
template<class TSelector > | |
void | EraseSelectedObjects (TSelector &sel) |
Erases selected objects from the associated grid. More... | |
template void | EraseSelectedObjects< MGSelector > (MGSelector &) |
template void | EraseSelectedObjects< Selector > (Selector &) |
std::string | ErrorStringFromStdException (const std::exception *pex) |
template<typename TGradientEvaluator , typename TFunction > | |
void | EvaluateGradientJump_Norm (TFunction &u, size_t fct, MultiGrid::AttachmentAccessor< typename TFunction::element_type, ug::Attachment< number > > &aaError) |
template<typename TGradientEvaluator , typename TFunction > | |
void | EvaluateGradientJump_SideIntegral (TFunction &u, size_t fct, MultiGrid::AttachmentAccessor< typename TFunction::element_type, ug::Attachment< number > > &aaError, bool addErrSquareToAAError=false) |
template<typename TFunction > | |
void | EvaluateResidualErrorP1 (SmartPtr< TFunction > u, SmartPtr< UserData< number, TFunction::dim > > f, const char *cmp, number time, int quadOrder, std::string quadType, MultiGrid::AttachmentAccessor< typename TFunction::element_type, ug::Attachment< number > > &aaError) |
Evaluates the residual error for P1 shape functions (with some simplifications) More... | |
template<class side_t , class TFunction > | |
void | ExchangeAndAdjustSideErrors (TFunction &u, ANumber aSideError, ANumber aNumElems) |
bool | ExpandFractures2d (Grid &grid, SubsetHandler &sh, const std::vector< FractureInfo > &fracInfos, bool expandInnerFracBnds, bool expandOuterFracBnds) |
bool | ExpandFractures2d (Grid &grid, SubsetHandler &sh, const vector< FractureInfo > &fracInfos, bool expandInnerFracBnds, bool expandOuterFracBnds) |
bool | ExpandFractures2dArte (Grid &grid, SubsetHandler &sh, std::vector< FractureInfo > const &fracInfos, bool useTrianglesInDiamonds, bool establishDiamonds) |
bool | ExpandFractures2dArte (Grid &grid, SubsetHandler &sh, vector< FractureInfo > const &fracInfos, bool useTrianglesInDiamonds, bool establishDiamonds) |
bool | ExpandFractures3d (Grid &grid, SubsetHandler &sh, const std::vector< FractureInfo > &fracInfos, bool expandInnerFracBnds, bool expandOuterFracBnds) |
bool | ExpandFractures3d (Grid &grid, SubsetHandler &sh, const vector< FractureInfo > &fracInfos, bool expandInnerFracBnds, bool expandOuterFracBnds) |
bool | ExpandFractures3dArte (Grid &grid, SubsetHandler &sh, std::vector< FractureInfo > const &fracInfos, bool useTrianglesInDiamonds, bool establishDiamonds) |
template<typename ASOF > | |
bool | expandSingleFractureAtGivenSide (vector3 const &nOne, vector3 const &nTwo, Edge *edgeOne, Edge *edgeTwo, Face *facOne, Face *facTwo, vector< FractureInfo > const &fracInfosBySubset, vector3 const &posOldVrt, Grid::VertexAttachmentAccessor< APosition > &aaPos, Grid &grid, SubsetHandler &sh, ASOF const &assoFaces, std::vector< Vertex * > const &nextFracVrt, Grid::FaceAttachmentAccessor< AttVrtVec > &aaVrtVecFace, int &dbg_flachen_passiert, Vertex *iterV) |
template<typename ASOF > | |
bool | expandSingleFractureAtGivenSide (vector3 const &nOne, vector3 const &nTwo, Edge *edgeOne, Edge *edgeTwo, Face *facOne, Face *facTwo, vector< FractureInfo > const &fracInfosBySubset, vector3 const &posOldVrt, Grid::VertexAttachmentAccessor< APosition > &aaPos, Grid &grid, SubsetHandler &sh, ASOF const &assoFaces, std::vector< Vertex * > const &nextFracVrt, Grid::FaceAttachmentAccessor< AttVrtVec > &aaVrtVecFace, int &dbg_flachen_passiert, Vertex *iterV, CrossVertInf &crossVrtInf, bool insertCrossVrtInf=true) |
template<> | |
bool | expandSingleFractureAtGivenSide< VecVertexOfFaceInfo > (vector3 const &nOne, vector3 const &nTwo, Edge *edgeOne, Edge *edgeTwo, Face *facOne, Face *facTwo, vector< FractureInfo > const &fracInfosBySubset, vector3 const &posOldVrt, Grid::VertexAttachmentAccessor< APosition > &aaPos, Grid &grid, SubsetHandler &sh, VecVertexOfFaceInfo const &segPart, std::vector< Vertex * > const &nextFracVrt, Grid::FaceAttachmentAccessor< AttVrtVec > &aaVrtVecFace, int &dbg_flachen_passiert, Vertex *crossPt, CrossVertInf &crossVrtInf, bool insertCrossVrtInf) |
template<> | |
bool | expandSingleFractureAtGivenSide< VecVertexOfFaceInfo > (vector3 const &nOne, vector3 const &nTwo, Edge *edgeOne, Edge *edgeTwo, Face *facOne, Face *facTwo, vector< FractureInfo > const &fracInfosBySubset, vector3 const &posOldVrt, Grid::VertexAttachmentAccessor< APosition > &aaPos, Grid &grid, SubsetHandler &sh, VecVertexOfFaceInfo const &segPart, std::vector< Vertex * > const &nextFracVrt, Grid::FaceAttachmentAccessor< AttVrtVec > &aaVrtVecFace, int &dbg_flachen_passiert, Vertex *iterV) |
bool | ExportGridToSMESH (Grid &grid, const char *filename, AVector3 &aPos, ISubsetHandler *psh=NULL, std::vector< AFloat > *pvNodeAttributes=NULL, std::vector< vector3 > *pvHoles=NULL, std::vector< vector3 > *pvRegionPositions=NULL, std::vector< int > *pvRegionAttributes=NULL, std::vector< float > *pvRegionVolumeConstraints=NULL) |
writes an SMESH file. More... | |
bool | ExportGridToSMESH (Grid &grid, const char *filename, AVector3 &aPos, std::vector< AFloat > *pvNodeAttributes=NULL, AInt *paNodeBoundaryMarker=NULL, AInt *paFaceBoundaryMarker=NULL, std::vector< vector3 > *pvHoles=NULL, std::vector< vector3 > *pvRegionPositions=NULL, std::vector< int > *pvRegionAttributes=NULL, std::vector< float > *pvRegionVolumeConstraints=NULL) |
writes an SMESH file. More... | |
bool | ExportGridToSWC (Grid &g, ISubsetHandler *pSH, const char *fileName, AVector3 &aPos) |
bool | ExportGridToTETGEN (Grid &grid, const char *filename, AVector3 &aPos, std::vector< AFloat > *pvNodeAttributes, AInt *paNodeBoundaryMarker, AInt *paFaceBoundaryMarker, AInt *paElementAttribute, ANumber *paVolumeConstraint) |
bool | ExportGridToTIKZ (Grid &grid, const char *filename, const ISubsetHandler *psh, APosition aPos, TikzExportDesc desc) |
bool | ExportGridToUG (const Grid &g, const SubsetHandler &shFace, const SubsetHandler &shVolume, const char *fileNamePrefix, const char *lgmName, const char *problemName, int convex) |
converts tetgen files (*.node, *.face and *.ele) to UG files (*.lgm, *.ng) More... | |
bool | ExportGridToUG_2D (Grid &grid, const char *fileName, const char *lgmName, const char *problemName, int convex, SubsetHandler *psh=NULL) |
exports a grid to a 2d lgm / ng file combination. More... | |
template<class TSelector > | |
void | ExtendSelection (TSelector &sel, size_t extSize, ISelector::status_t status) |
extends the selection to neighbours of selected elements. More... | |
template<class TSelector > | |
UG_API void | ExtendSelection (TSelector &sel, size_t extSize, ISelector::status_t status=ISelector::SELECTED) |
extends the selection to neighbours of selected elements. More... | |
template void | ExtendSelection< MGSelector > (MGSelector &sel, size_t extSize, ISelector::status_t status) |
template void | ExtendSelection< Selector > (Selector &sel, size_t extSize, ISelector::status_t status) |
template<class TSelector , class TAAPos > | |
void | ExtendSelectionInDirection (TSelector &sel, size_t extSize, const typename TAAPos::ValueType &dir, number minAngle, number maxAngle, const TAAPos &aaPos, ISelector::status_t status) |
extends the selection to neighbours of selected elements in the given direction. More... | |
template<class TSelector , class TAAPos > | |
UG_API void | ExtendSelectionInDirection (TSelector &sel, size_t extSize, const typename TAAPos::ValueType &dir, number minAngle, number maxAngle, const TAAPos &aaPos, ISelector::status_t status=ISelector::SELECTED) |
extends the selection to neighbours of selected elements in the given direction. More... | |
template<typename TGroupObj , typename GF > | |
void | extract_by_grouping (std::vector< std::vector< DoFIndex > > &vvDoFIndex, const GF &c, const std::vector< size_t > &vFullRowCmp, const std::vector< size_t > &vRemainCmp) |
string | extract_path (const string &filename) |
template<typename TDomain , typename TBaseElem > | |
void | ExtractAlgebraIndices2 (ConstSmartPtr< TDomain > domain, ConstSmartPtr< DoFDistribution > dd, std::vector< size_t > &fctIndex) |
template<typename TGroupObj , typename TGridFunction > | |
void | ExtractByObject (std::vector< DoFIndex > &vIndex, const TGridFunction &c, const std::vector< size_t > &vFullRowCmp, const std::vector< size_t > &vRemainCmp) |
void | extractPGraph (TGraph &G, std::vector< std::vector< size_t > > &vvConnection, size_t pmin, size_t dim, bool directed) |
template<typename TFunction > | |
void | ExtractPositions (const TFunction &u, std::vector< MathVector< TFunction::domain_type::dim > > &vPos) |
template<typename TDomain > | |
void | ExtractPositions (ConstSmartPtr< TDomain > domain, ConstSmartPtr< DoFDistribution > dd, const size_t fct, std::vector< std::pair< MathVector< TDomain::dim >, size_t > > &vPosPair) |
template<typename TDomain > | |
void | ExtractPositions (ConstSmartPtr< TDomain > domain, ConstSmartPtr< DoFDistribution > dd, std::vector< MathVector< TDomain::dim > > &vPos) |
template<typename TDomain > | |
void | ExtractPositions (ConstSmartPtr< TDomain > domain, ConstSmartPtr< DoFDistribution > dd, std::vector< std::pair< MathVector< TDomain::dim >, size_t > > &vPosPair) |
template<typename TDomain , typename TBaseElem > | |
void | ExtractPositionsElem (ConstSmartPtr< TDomain > domain, ConstSmartPtr< DoFDistribution > dd, const size_t fct, std::vector< std::pair< MathVector< TDomain::dim >, size_t > > &vPosPair) |
template<typename TDomain , typename TBaseElem > | |
void | ExtractPositionsElem (ConstSmartPtr< TDomain > domain, ConstSmartPtr< DoFDistribution > dd, std::vector< MathVector< TDomain::dim > > &vPos) |
template<typename TDomain , typename TBaseElem > | |
void | ExtractPositionsElem (ConstSmartPtr< TDomain > domain, ConstSmartPtr< DoFDistribution > dd, std::vector< std::pair< MathVector< TDomain::dim >, size_t > > &vPosPair) |
template<typename TDomain > | |
void | ExtractPositionsVertex (ConstSmartPtr< TDomain > domain, ConstSmartPtr< DoFDistribution > dd, std::vector< MathVector< TDomain::dim > > &vPos) |
template<typename TDomain > | |
void | ExtractPositionsVertex (ConstSmartPtr< TDomain > domain, ConstSmartPtr< DoFDistribution > dd, std::vector< std::pair< MathVector< TDomain::dim >, size_t > > &vPosPair) |
void | extractVGraph (TGraph &G, std::vector< std::vector< size_t > > &vvConnection, size_t pmin, size_t dim, bool directed) |
template void | Extrude< Grid::VertexAttachmentAccessor< Attachment< vector1 > > > (Grid &, std::vector< Vertex * > *, std::vector< Edge * > *, std::vector< Face * > *, const vector1 &, Grid::VertexAttachmentAccessor< Attachment< vector1 > >, uint, std::vector< Volume * > *) |
template void | Extrude< Grid::VertexAttachmentAccessor< Attachment< vector2 > > > (Grid &, std::vector< Vertex * > *, std::vector< Edge * > *, std::vector< Face * > *, const vector2 &, Grid::VertexAttachmentAccessor< Attachment< vector2 > >, uint, std::vector< Volume * > *) |
template void | Extrude< Grid::VertexAttachmentAccessor< Attachment< vector3 > > > (Grid &, std::vector< Vertex * > *, std::vector< Edge * > *, std::vector< Face * > *, const vector3 &, Grid::VertexAttachmentAccessor< Attachment< vector3 > >, uint, std::vector< Volume * > *) |
template void | Extrude< vector1 > (Grid &, std::vector< Vertex * > *, std::vector< Edge * > *, std::vector< Face * > *, const vector1 &, uint, Attachment< vector1 > &, std::vector< Volume * > *) |
template void | Extrude< vector2 > (Grid &, std::vector< Vertex * > *, std::vector< Edge * > *, std::vector< Face * > *, const vector2 &, uint, Attachment< vector2 > &, std::vector< Volume * > *) |
template void | Extrude< vector3 > (Grid &, std::vector< Vertex * > *, std::vector< Edge * > *, std::vector< Face * > *, const vector3 &, uint, Attachment< vector3 > &, std::vector< Volume * > *) |
bool | ExtrudeCylinder (Grid &grid, SubsetHandler &sh, Vertex *vrt, const vector3 &direction, number height, number radius, number rimSnapThreshold, Grid::VertexAttachmentAccessor< APosition > &aaPos, int bottomSubInd=-1, int cylSubInd=-1, Selector *pSel=NULL) |
adapts the grid around the given vertex to a cylinder and extrudes it. More... | |
static bool | ExtrudeCylinder (Grid &grid, SubsetHandler *sh, Vertex *vrt, const vector3 &direction, number height, number radius, number rimSnapThreshold, Grid::VertexAttachmentAccessor< APosition > &aaPos, int bottomSubInd, int cylSubInd, Selector *pSel) |
bool | ExtrudeCylinder (Grid &grid, Vertex *vrt, const vector3 &direction, number height, number radius, number rimSnapThreshold, Grid::VertexAttachmentAccessor< APosition > &aaPos, Selector *pSel=NULL) |
adapts the grid around the given vertex to a cylinder and extrudes it. More... | |
void | ExtrudeLayers (Grid &grid, const RasterLayers &layers, Grid::VertexAttachmentAccessor< AVector3 > aaPos, ISubsetHandler &sh, bool allowForTetsAndPyras, const ANumber *aRelZOut) |
void | ExtrudeLayersMixed (Grid &grid, const RasterLayers &layers, Grid::VertexAttachmentAccessor< AVector3 > aaPos, ISubsetHandler &sh, const ANumber *aRelZOut) |
static bool | ExtrusionHelper_CheckOrientation (Volume *v, Grid::VertexAttachmentAccessor< Attachment< vector1 > > &aaPos) |
static bool | ExtrusionHelper_CheckOrientation (Volume *v, Grid::VertexAttachmentAccessor< Attachment< vector2 > > &aaPos) |
static bool | ExtrusionHelper_CheckOrientation (Volume *v, Grid::VertexAttachmentAccessor< Attachment< vector3 > > &aaPos) |
template<class TAAPosVRT > | |
UG_API number | FaceArea (FaceVertices *f, TAAPosVRT &aaPos) |
Returns the area of a convex face. More... | |
template<class TAAPosVRT > | |
number | FaceArea (FaceVertices *f, TAAPosVRT &aaPos) |
Returns the area of a convex face. More... | |
template<class TAAPosVRT > | |
UG_API number | FaceArea (ISelector &sel, TAAPosVRT &aaPos) |
template<class TAAPosVRT > | |
UG_API number | FaceArea (ISubsetHandler &sh, int si, size_t lvl, TAAPosVRT &aaPos) |
Returns the area sum of convex faces given by subset index and level. More... | |
template<class TAAPosVRT > | |
number | FaceArea (ISubsetHandler &sh, int si, size_t lvl, TAAPosVRT &aaPos) |
Returns the area sum of convex faces given by subset index and level. More... | |
template<typename TDomain > | |
static number | FaceArea (TDomain &dom, int si) |
template<typename TDomain > | |
static number | FaceArea (TDomain &dom, int si, size_t lvl) |
template<typename TDomain > | |
static number | FaceArea (TDomain &dom, ISelector &sel) |
template<typename TDomain > | |
static number | FaceArea (TDomain &dom, ISubsetHandler &sh, int si, size_t lvl) |
template<class TIterator , class TAAPosVRT > | |
UG_API number | FaceArea (TIterator facesBegin, TIterator facesEnd, TAAPosVRT &aaPos) |
Returns the area sum of convex faces. More... | |
template<class TIterator , class TAAPosVRT > | |
number | FaceArea (TIterator facesBegin, TIterator facesEnd, TAAPosVRT &aaPos) |
Returns the area sum of convex faces. More... | |
bool | FaceContains (Face *f, EdgeVertices *ev) |
returns true if the given face contains the two given vertices More... | |
bool | FaceContains (FaceVertices *f, Vertex *v) |
returns true if the given face contains the given vertex More... | |
static bool | FaceIsOnRightSide (Face *f, Edge *e) |
static int | FacePlane (const vector3 &p) |
number | FaceQuality (FaceVertices *f, Grid::VertexAttachmentAccessor< APosition > aaPos) |
a simple measure for the quality of a face More... | |
template<typename Matrix_type > | |
bool | FactorizeILU (Matrix_type &A) |
template<typename Matrix_type > | |
bool | FactorizeILUBeta (Matrix_type &A, number beta) |
template<typename Matrix_type > | |
bool | FactorizeILUSorted (Matrix_type &A, const number eps=1e-50) |
UG_API bool | FileCompare (const char *file1, const char *file2) |
!!! Serial i/o version !!! More... | |
UG_API bool | FileExists (const char *filename) |
!!! Serial i/o version !!! More... | |
static bool | FileExists (std::string filename) |
UG_API std::string | FilenameAndPathWithoutExtension (std::string str) |
returns the best guess of the filename and path from given string More... | |
string | FilenameAndPathWithoutExtension (string str) |
UG_API std::string | FilenameWithoutExtension (std::string str) |
returns the best guess of the filename from given string More... | |
string | FilenameWithoutExtension (string str) |
UG_API std::string | FilenameWithoutPath (const std::string &str) |
returns best guess of a filename from a given string More... | |
string | FilenameWithoutPath (const string &str) |
UG_API size_t | FileSize (const char *filename) |
Returns size of the specified file in bytes. More... | |
static size_t | FileSize (std::string filename) |
bool | FileTypeIs (const char *filename, const char *extension) |
!!! Serial i/o version !!! More... | |
template<typename TDomain > | |
void | FillCornerCoordinates (typename TDomain::position_type vCornerCoordsOut[], const RegularVertex &vtx, const TDomain &domain) |
returns the coordinates of a vertex (specialization) More... | |
template<typename TElem , typename TDomain > | |
void | FillCornerCoordinates (typename TDomain::position_type vCornerCoordsOut[], const TElem &elem, const TDomain &domain) |
returns the corner coordinates of a geometric object More... | |
static void | FillDistInfos (MultiGrid &mg, SubsetHandler &shPartition, MGSelector &msel, DistInfoSupplier &distInfos, const std::vector< int > *processMap, const pcl::ProcessCommunicator &procComm, bool createVerticalInterfaces, vector< bool > &partitionIsEmpty) |
UG_API void | FinalizeUGPlugin_JSONToolkit () |
UG_API void | FinalizeUGPlugin_Jupyter () |
UG_API void | FinalizeUGPlugin_Limex () |
UG_API void | FinalizeUGPlugin_Poroelasticity () |
UG_API void | FinalizeUGPlugin_Richards () |
UG_API void | FinalizeUGPlugin_Util () |
IndexLayout::Interface::iterator | find (IndexLayout::Interface &interface, size_t i) |
template<typename TLayout > | |
TLayout::iterator | find_pid (TLayout &layout, int pid) |
static size_t | findBlockSize (const std::vector< std::vector< size_t > > &vvConnection) |
void | FindBoundsForStiffnesMatrixMaxEigenvalue (MultiGrid &mg, MGSubsetHandler &shOut) |
template<class TElem , class TVertexPositionAttachmentAccessor > | |
UG_API TElem * | FindClosestByCoordinate (const typename TVertexPositionAttachmentAccessor::ValueType &coord, typename geometry_traits< TElem >::iterator iterBegin, typename geometry_traits< TElem >::iterator iterEnd, TVertexPositionAttachmentAccessor &aaPosVRT) |
returns the element of the given type, whose center is closest to coord. More... | |
template<class TElem , class TVertexPositionAttachmentAccessor > | |
TElem * | FindClosestByCoordinate (const typename TVertexPositionAttachmentAccessor::ValueType &coord, typename geometry_traits< TElem >::iterator iterBegin, typename geometry_traits< TElem >::iterator iterEnd, TVertexPositionAttachmentAccessor &aaPosVRT) |
returns the element of the given type, whose center is closest to coord. More... | |
bool | FindClosestPlane (vector3 ¢erOut, vector3 &normalOut, const vector3 *pointSet, size_t numPoints) |
Finds the plane which minimizes the distance to the given point set. More... | |
template<class TAAPosVRT > | |
int | FindClosestVertexInArray (const std::vector< Vertex * > &array, const Vertex *p, TAAPosVRT &aaPos, number snapThreshold) |
returns the index of the closest vertex to p if closer than snapThreshold. More... | |
template<class TAAPosVRT > | |
int | FindClosestVertexInArray (std::vector< Vertex * > &array, const Vertex *p, TAAPosVRT &aaPos, number snapThreshold) |
returns the index of the closest vertex to p smaller than snapThreshold. More... | |
template<class TAAPosVRT , class vector_t > | |
int | FindClosestVertexInPointSet (const vector_t *pointSet, const Vertex *p, TAAPosVRT &aaPos, number snapThreshold, size_t numPoints) |
returns the index of the closest vertex to p if closer than snapThreshold More... | |
template<class TAAPosVRT > | |
int | FindCloseVertexInArray (const std::vector< Vertex * > &array, const typename TAAPosVRT::ValueType &p, TAAPosVRT &aaPos, number snapThreshold) |
returns the index of the first vertex closer to p than snapThreshold. More... | |
template<class TAAPosVRT > | |
int | FindCloseVertexInArray (std::vector< Vertex * > &array, const typename TAAPosVRT::ValueType &p, TAAPosVRT &aaPos, number snapThreshold) |
returns the index of the first vertex closer to p than snapThreshold. More... | |
template<class tree_t > | |
bool | FindContainingElement (typename tree_t::elem_t &elemOut, const tree_t &tree, const typename tree_t::vector_t &point) |
std::string | FindDirInStandardPaths (const char *dirname) |
searches the directory in the standard paths. More... | |
UG_API std::vector< std::string > | FindDuplicates (const std::vector< std::string > &vec) |
Finds and returns all duplicate elements of given vector. More... | |
vector< string > | FindDuplicates (const vector< string > &vec) |
template<class TIterator , class TAttAcc > | |
TIterator | FindElementByValue (TIterator begin, TIterator end, const typename TAttAcc::ValueType &val, TAttAcc &aa) |
returns the iterator whose element has the specified attachment value. More... | |
template<class tree_t > | |
bool | FindElementsInIntersectingNodes (std::vector< typename tree_t::elem_t > &elemsOut, const tree_t &tree, const typename tree_t::box_t &bbox) |
template<class TIterator , class TAAPosVRT > | |
TIterator::value_type | FindElementWithLargestAspectRatio (Grid &grid, TIterator elemsBegin, TIterator elemsEnd, TAAPosVRT &aaPos) |
template<class TIterator , class TAAPosVRT > | |
TIterator::value_type | FindElementWithLargestMaxAngle (Grid &grid, TIterator elementsBegin, TIterator elementsEnd, TAAPosVRT &aaPos) |
template<class TIterator , class TAAPosVRT > | |
TIterator::value_type | FindElementWithLargestVolToRMSFaceAreaRatio (Grid &grid, TIterator elemsBegin, TIterator elemsEnd, TAAPosVRT &aaPos) |
template<class TIterator , class TAAPosVRT > | |
TIterator::value_type | FindElementWithSmallestAspectRatio (Grid &grid, TIterator elemsBegin, TIterator elemsEnd, TAAPosVRT &aaPos) |
template<class TIterator , class TAAPosVRT > | |
TIterator::value_type | FindElementWithSmallestMinAngle (Grid &grid, TIterator elementsBegin, TIterator elementsEnd, TAAPosVRT &aaPos) |
template<class TIterator , class TAAPosVRT > | |
TIterator::value_type | FindElementWithSmallestVolToRMSFaceAreaRatio (Grid &grid, TIterator elemsBegin, TIterator elemsEnd, TAAPosVRT &aaPos) |
std::string | FindFileInStandardPaths (const char *filename) |
searches the file in the standard paths. More... | |
template<class TIterator , class TAAPosVRT > | |
Face * | FindLargestFace (TIterator facesBegin, TIterator facesEnd, TAAPosVRT &aaPos) |
template<class TIterator , class TAAPosVRT > | |
TIterator::value_type | FindLargestVolume (TIterator volumesBegin, TIterator volumesEnd, TAAPosVRT &aaPos) |
template<class TEdgeIterator , class TAAPosVRT > | |
Edge * | FindLongestEdge (TEdgeIterator edgesBegin, TEdgeIterator edgesEnd, TAAPosVRT &aaPos) |
template<class tree_t > | |
size_t | FindLowestLeafNodeLevel (const tree_t &tree) |
bool | FindNormal (vector3 &normOut, const vector3 &v) |
finds a normal to the given vector in 3d. More... | |
bool | FindParam (const char *param, int argc, const char *const *argv) |
void | FindPositionInInterfaces (std::vector< std::pair< int, size_t > > &vIndexInterface, const IndexLayout &layout, size_t index) |
returns in a vector all appearencies of an index in a layout More... | |
template<class TEdgeIterator , class TAAPosVRT > | |
UG_API Edge * | FindShortestEdge (TEdgeIterator edgesBegin, TEdgeIterator edgesEnd, TAAPosVRT &aaPos) |
Returns the shortest edge in a list of edges. More... | |
template<class TEdgeIterator , class TAAPosVRT > | |
Edge * | FindShortestEdge (TEdgeIterator edgesBegin, TEdgeIterator edgesEnd, TAAPosVRT &aaPos) |
Returns the shortest edge in a list of edges. More... | |
template<class TIter , class TAAPos > | |
size_t | FindSlivers (std::vector< typename TIter::value_type > &sliversOut, TIter elemsBegin, TIter elemsEnd, number thresholdRatio, TAAPos aaPos, bool clearContainer=true) |
Searchs for slivers in the given list of elements. More... | |
template<class TIterator , class TAAPosVRT > | |
UG_API Face * | FindSmallestFace (TIterator facesBegin, TIterator facesEnd, TAAPosVRT &aaPos) |
Returns the face with the smallest area. More... | |
template<class TIterator , class TAAPosVRT > | |
Face * | FindSmallestFace (TIterator facesBegin, TIterator facesEnd, TAAPosVRT &aaPos) |
Returns the face with the smallest area. More... | |
template<class TIterator , class TAAPosVRT > | |
TIterator::value_type | FindSmallestVolume (TIterator volumesBegin, TIterator volumesEnd, TAAPosVRT &aaPos) |
template<typename TBaseObj > | |
void | FindSubsetGroups (std::vector< int > &minCondInd, const std::vector< bool > &isMarked, const ISubsetHandler &sh, const NeighborhoodType nbhType=NHT_VERTEX_NEIGHBORS) |
Vertex * | FindVertexByCoordiante (vector3 &coord, VertexIterator iterBegin, VertexIterator iterEnd, Grid::VertexAttachmentAccessor< APosition > &aaPos) |
returns the vertex that is the closest to the given coordinate More... | |
template<size_t dim> | |
int | FindVertexByCoordinate (const MathVector< dim > &coord, size_t ncoords, const MathVector< dim > vCoords[]) |
returns (non-unique?) index of closest vertex More... | |
void | FinishShinyCallLogging () |
template<class TEdgeIterator > | |
UG_API void | FixEdgeOrientation (Grid &grid, TEdgeIterator edgesBegin, TEdgeIterator edgesEnd) |
creates uniform orientation of neighboured edges. More... | |
template<class TEdgeIterator > | |
void | FixEdgeOrientation (Grid &grid, TEdgeIterator edgesBegin, TEdgeIterator edgesEnd) |
creates uniform orientation of neighboured edges. More... | |
template<class TFaceIterator > | |
void | FixFaceOrientation (Grid &grid, TFaceIterator facesBegin, TFaceIterator facesEnd) |
creates uniform orientation of neighboured and boundary faces. More... | |
template<class TVolIterator , class TAAPosVRT > | |
int | FixOrientation (Grid &grid, TVolIterator volsBegin, TVolIterator volsEnd, TAAPosVRT &aaPosVRT) |
Changes orientation of badly oriented volumes. More... | |
template<typename Matrix_type , typename Vector_type > | |
void | forward_gs_step (Vector_type &c, const Matrix_type &A, const Vector_type &d, const size_t i, const number relaxFactor) |
commmon GaussSeidel-step-calls for a single index 'i' More... | |
void | GatherGrid (Grid &gridOut, Selector &sel, GridDataSerializationHandler &serializer, GridDataSerializationHandler &deserializer, int root, const pcl::ProcessCommunicator &procCom=pcl::ProcessCommunicator()) |
Gathers selected parts of a grid into 'gridOut' on 'rootProc'. More... | |
template<typename T > | |
void | GatherVectorOnOne (HorizontalAlgebraLayouts &agglomerationLayout, ParallelVector< T > &collectedVec, const ParallelVector< T > &vec, ParallelStorageType type) |
template<typename T > | |
void | GatherVectorOnOne (IndexLayout &agglomeratedMaster, IndexLayout &agglomeratedSlave, pcl::InterfaceCommunicator< IndexLayout > &com, ParallelVector< T > &collectedVec, const ParallelVector< T > &vec, ParallelStorageType type, bool bRoot) |
static size_t | gcd (size_t a, size_t b) |
greatest common divisor More... | |
template<typename A_type , typename TLambdaVectorType > | |
int | GeneralizedEigenvalueProblemComplex (DenseMatrix< A_type > &A, DenseMatrix< A_type > &X, TLambdaVectorType &lambda, DenseMatrix< A_type > &B, bool bSortEigenvalues=false) |
void | GenerateAlgebraIDHashList (AlgebraIDHashList &hash, AlgebraIDVec &algebraIDs) |
Creates a hash which allows a algebraID->localIndex mapping. More... | |
template<class TIndVec > | |
void | GenerateGlobalConsecutiveIndices (TIndVec &indsOut, size_t numLocalInds, const AlgebraLayouts &layouts) |
Generates a set of global consecutive indices. More... | |
void | GenerateIcosahedron (Grid &grid, const vector3 ¢er, number radius, AVector3 &aPos) |
Creates an Icosahedron. More... | |
void | GenerateIcosphere (Grid &grid, const vector3 ¢er, number radius, int numRefinements, AVector3 &aPos, Selector *psel=NULL) |
Creates a ico-sphere by repeatedly refining an icosahedron. More... | |
void | GenerateIcosphere (std::vector< vector3 > &trisOut, const vector3 ¢er, number radius, size_t refinements) |
Generates a list of triangle-corners for the given Ico-Sphere. More... | |
int | GenerateScriptReferenceDocu (const char *baseDir, bool silent, bool genHtml, bool genCpp, bool genList) |
template<size_t dim> | |
void | GenVecCross (MathVector< dim > &result, const MathVector< dim > &v_1, const MathVector< dim > &v_2) |
calculates the usual cross product in 3d, and the (det, 0) vector as a cross product in 2d More... | |
template<> | |
void | GenVecCross< 2 > (MathVector< 2 > &result, const MathVector< 2 > &v_1, const MathVector< 2 > &v_2) |
specialization of the "generalized vector product" in 2d. More... | |
template<> | |
void | GenVecCross< 3 > (MathVector< 3 > &result, const MathVector< 3 > &v_1, const MathVector< 3 > &v_2) |
specialization of the "generalized vector product" in 3d. More... | |
number | GeometricApproximationDegree (SimpleGrid &sg) |
sums GeometricApproximationDegree for each triangle. More... | |
number | GeometricApproximationDegree (SimpleGrid &sg, int triIndex) |
the returned degree lies between 0 and 1. The closer to 1 the better. More... | |
template<class vector_t > | |
number | GeometricApproximationDegree (vector_t &n1, vector_t &n2, vector_t &n3, vector_t &tn) |
the returned degree lies between 0 and 1. The closer to 1 the better. More... | |
void | get_algebra_indices (ConstSmartPtr< DoFDistribution > dd, ConstrainedVertex *hgVrt, std::vector< Vertex * > &vConstrainingVrt, std::vector< size_t > &constrainedInd, std::vector< std::vector< size_t > > &vConstrainingInd) |
Extract algebra indices for constrained and constraining indices from DoF distribution. More... | |
template<typename TDomain > | |
void | get_algebra_indices (ConstSmartPtr< DoFDistribution > dd, ConstrainedVertex *hgVrt, std::vector< Vertex * > &vConstrainingVrt, std::vector< size_t > &constrainedInd, std::vector< std::vector< size_t > > &vConstrainingInd, const SortVertexPos< TDomain::dim > &sortVertexPos) |
Extract DoF indices for constrained and constraining indices from DoF distribution. More... | |
double | get_clock_s () |
void | get_constrained_sides_cr (secure_container &sides, const TGridFunction &u, std::vector< MultiIndex< 2 > > multInd, size_t fct=0) |
void * | get_mem (size_t size) |
template<typename TGridFunction > | |
number | get_number_on_coords (SmartPtr< UserData< number, TGridFunction::dim > > spInterpolFunction, typename TGridFunction::domain_type::position_type pos, number time, const int si) |
template<typename T > | |
size_t | get_val (const T &t) |
size_t | get_val (size_t i) |
void | GetAct (string str, vector< size_t > &act) |
template<class TElemIter , class TAAPos > | |
void | GetAspectRatioHistogram (std::vector< int > &histoOut, TElemIter elemsBegin, TElemIter elemsEnd, int histoSecs, TAAPos &aaPos, Grid::AttachmentAccessor< typename PtrToValueType< typename TElemIter::value_type >::base_type, Attachment< int > > *paaHistoSec=NULL) |
template<class TElemIter , class TAAPos > | |
AspectRatioInfo | GetAspectRatioInfo (TElemIter elemsBegin, TElemIter elemsEnd, TAAPos &aaPos) |
Computes the AspectRatioInfo for a sample of elements. More... | |
int | GetAssociatedFaces (Face **facesOut, Grid &grid, Edge *e, int maxNumFaces) |
writes associated faces of e to facesOut. More... | |
int | GetAssociatedInterfaceType (int interfaceType) |
Returns the type of associated interfaces. More... | |
template<typename TSparseMatrixType , typename TVectorType > | |
void | GetBlockGSCorrection (const TSparseMatrixType &A, TVectorType &x, TVectorType &b, DenseMatrix< VariableArray2< double > > &AlocInv, std::vector< size_t > &indices) |
template<typename TSparseMatrixType , typename TVectorType > | |
void | GetBlockGSCorrection (const TSparseMatrixType &A, TVectorType &x, TVectorType &b, DenseMatrix< VariableArray2< double > > &AlocInv, std::vector< size_t > &indices, DenseVector< VariableArray1< double > > &tmp, DenseVector< VariableArray1< double > > &tmp2) |
template<typename TSparseMatrixType , typename TVectorType > | |
void | GetBlockGSCorrectionILUT (const TSparseMatrixType &A, TVectorType &x, TVectorType &b, SmartPtr< ILUTPreconditioner< CPUAlgebra > > &ilut, std::vector< size_t > &indices, CPUAlgebra::vector_type &tmp, CPUAlgebra::vector_type &tmp2) |
GlobalBoundaryRefinementRule | GetBoundaryRefinementRule () |
get procedure for boundary refinement rule variable More... | |
string | GetBytesSizeString (size_t s, int length) |
vector3 | GetColorFromDefaultPalette (int index) |
vector3 | GetColorFromStandardPalette (int index) |
Returns an rgb vector (values ranging from 0 to 1), with the i-th default color. More... | |
template<typename T > | |
size_t | GetCols (const DenseMatrix< T > &t) |
template<> | |
size_t | GetCols (const number &t) |
template<typename T > | |
size_t | GetCols (const T &t) |
Edge * | GetConnectedEdge (Grid &g, Vertex *vrt, Face *tri) |
returns the edge in the triangle tri, which does not contain vrt. More... | |
template<typename TBaseElem > | |
TBaseElem * | GetConnectedNeighbor (Grid &g, typename TBaseElem::side *face, TBaseElem *elem) |
Finds the neighbor connected through a side. More... | |
template Edge * | GetConnectedNeighbor< Edge > (Grid &, Vertex *, Edge *) |
template Face * | GetConnectedNeighbor< Face > (Grid &, Edge *, Face *) |
template Volume * | GetConnectedNeighbor< Volume > (Grid &, Face *, Volume *) |
Vertex * | GetConnectedVertex (Edge *e, Vertex *v) |
returns the vertex that is connected to v via e. More... | |
Vertex * | GetConnectedVertex (EdgeVertices *e, Face *f) |
returns the index of the first vertex that is contained in f and is not contained in e. More... | |
int | GetConnectedVertexIndex (Face *f, const EdgeDescriptor &ed) |
returns the index of the first vertex that is contained in the specified face and is not contained in the given edge. More... | |
int | GetConnectedVertexIndex (Face *f, const EdgeVertices *e) |
Edge * | GetConnectingEdge (Grid &grid, Face *f1, Face *f2) |
void | GetCoord (string str, vector< double > &coord) |
template<typename TSparseMatrix > | |
void | GetCuthillMcKeeOrder (const TSparseMatrix &mat, std::vector< size_t > &newIndex, bool reverse=true, bool bPreserveConsec=false) |
DebugIDManager & | GetDebugIDManager () |
template<class TAttachment > | |
UG_API TAttachment & | GetDefaultPositionAttachment () |
this method can be used to retrieve the default position attachments for different types. More... | |
template<> | |
APosition & | GetDefaultPositionAttachment< APosition > () |
template<> | |
APosition1 & | GetDefaultPositionAttachment< APosition1 > () |
template<> | |
APosition2 & | GetDefaultPositionAttachment< APosition2 > () |
template<typename TDenseType , typename TSparseMatrix > | |
size_t | GetDenseDoubleFromSparse (TDenseType &A, const TSparseMatrix &S) |
template<typename TSparseMatrix > | |
DenseMatrixFromSparseMatrix< TSparseMatrix >::type & | GetDenseFromSparse (typename DenseMatrixFromSparseMatrix< TSparseMatrix >::type &A, const TSparseMatrix &S) |
template<typename T > | |
double | GetDet2 (const DenseMatrix< T > &mat) |
template<typename T > | |
double | GetDet3 (const DenseMatrix< T > &mat) |
void | GetDiag (double &a, double b) |
template<typename T1 , typename T2 > | |
void | GetDiag (T1 &m1, const T2 &m) |
void | GetDiagSqrt (double &a, double b) |
template<typename T1 , typename T2 > | |
void | GetDiagSqrt (T1 &v, const T2 &m) |
void | GetDim (string str, vector< size_t > &dim) |
template<class TElem1 , class TElem2 , class TAAPos > | |
TAAPos::ValueType | GetDirection (TElem1 *e1, TElem2 *e2, const TAAPos &aaPos) |
Returns the direction from the center of e1 to the center of e2. More... | |
UG_API bool | GetDirectoriesInDirectory (std::vector< std::string > &dirsOut, const char *dir) |
Returns a list of all directories in a directory. More... | |
std::string::size_type | GetDirectorySeperatorPos (const std::string &str) |
determines last occurrence of '/' or '\' More... | |
string::size_type | GetDirectorySeperatorPos (const string &str) |
template<class TDomain > | |
TDomain::position_attachment_type & | GetDomainPositionAttachment (TDomain &dom) |
Helper function for subdivision volumes multigrid smoothing. More... | |
template<typename TDoubleType , typename TSparseMatrix > | |
void | GetDoubleFromSparseBlock (TDoubleType &A, const TSparseMatrix &S) |
template<typename TSparseMatrix > | |
size_t | GetDoubleSize (const TSparseMatrix &S) |
template<typename TDoubleSparse , typename TSparseMatrix > | |
size_t | GetDoubleSparseFromBlockSparse (TDoubleSparse &A, const TSparseMatrix &S) |
const char * | GetDynamicLibraryPrefix () |
returns the standard prefix of static and dynamic libraries on this os More... | |
const char * | GetDynamicLibrarySuffix () |
returns the standard suffix of dynamic libraries on this os More... | |
int | GetEdgeIndex (Face *f, Edge *e) |
returns the index at which edge e is found in the given object More... | |
int | GetEdgeIndex (Volume *vol, Edge *e) |
returns the index at which edge e is found in the given object More... | |
SweepLineEdge * | GetEdgeOnTheLeft (MapEdgeCuts &edgeCuts, SweepLineVertex &v) |
template<typename TElemOut , typename TElemIn > | |
void | GetElemDiscItemOnSubset (std::vector< TElemOut * > &vSubsetElemDiscOut, const std::vector< TElemIn * > &vElemDiscIn, const std::vector< SubsetGroup > &vSSGrp, int si, bool clearVec=true) |
template<typename TDomain > | |
void | GetElemDiscOnSubset (std::vector< IElemDisc< TDomain > * > &vSubsetElemDisc, const std::vector< IElemDisc< TDomain > * > &vElemDisc, const std::vector< SubsetGroup > &vSSGrp, int si, bool clearVec) |
template<class TDomain , class TElem > | |
static TElem * | GetElementByCoordinate (TDomain &dom, number x, number y, number z) |
int | GetFaceIndex (Volume *vol, Face *f) |
returns the index at which face f is found in the given object More... | |
string | GetFileLine (const char *filename, size_t line) |
get a specific line of a file More... | |
string | GetFileLines (const char *filename, size_t fromline, size_t toline, bool includeLineNumbers) |
get some specified lines of a file More... | |
string | GetFileLinesParallel (string filename, size_t fromline, size_t toline, bool includeLineNumbers, const pcl::ProcessCommunicator &pc=pcl::ProcessCommunicator()) |
UG_API std::string | GetFilenameExtension (const std::string &str) |
returns the best guess of a file extensions from given string More... | |
string | GetFilenameExtension (const string &str) |
UG_API bool | GetFilesInDirectory (std::vector< std::string > &filesOut, const char *dir) |
Returns a list of all files in a directory. More... | |
int | GetFirstFreeSubset (const ISubsetHandler &sh) |
returns the first subset, which does not contain any elements at all More... | |
static int | GetFirstRegularVertex (Grid &grid, const SubsetHandler &sh, Face *q) |
template<class TEdgeIterator > | |
std::pair< Vertex *, Edge * > | GetFirstSectionOfPolyChain (Grid &grid, TEdgeIterator edgesBegin, TEdgeIterator edgesEnd, Grid::edge_traits::callback cbEdgeIsInPolyChain) |
Returns the start-vertex and start-edge of a polygonal chain. More... | |
template<class TElem > | |
int | GetGridObjectIndex (Grid &g, TElem *elem) |
returns the index of the given element in the given grid. More... | |
int | GetHighestReferencedIndex (IndexLayout &layout) |
template<class face_iter_t > | |
void | GetInnerEdgesOfFaceSoup (std::vector< Edge * > &edgesOut, Grid &g, face_iter_t facesBegin, face_iter_t facesEnd) |
template<typename T > | |
bool | GetInverse (block_traits< T >::inverse_type &inv, const T &m) |
bool | GetInverse (DenseMatrix< FixedArray2< double, 1, 1 > > &inv, const DenseMatrix< FixedArray2< double, 1, 1 > > &mat) |
bool | GetInverse (DenseMatrix< FixedArray2< double, 2, 2 > > &inv, const DenseMatrix< FixedArray2< double, 2, 2 > > &mat) |
bool | GetInverse (DenseMatrix< FixedArray2< double, 3, 3 > > &inv, const DenseMatrix< FixedArray2< double, 3, 3 > > &mat) |
template<typename T , size_t TBlockSize, eMatrixOrdering TOrdering> | |
bool | GetInverse (DenseMatrixInverse< FixedArray2< T, TBlockSize, TBlockSize, TOrdering > > &inv, const DenseMatrix< FixedArray2< T, TBlockSize, TBlockSize, TOrdering > > &mat) |
template<typename T , eMatrixOrdering TOrdering> | |
bool | GetInverse (DenseMatrixInverse< VariableArray2< T, TOrdering > > &inv, const DenseMatrix< VariableArray2< T, TOrdering > > &mat) |
bool | GetInverse (number &inv, const number &m) |
template<typename T > | |
bool | GetInverse1 (DenseMatrix< T > &inv, const DenseMatrix< T > &mat) |
template<typename T > | |
bool | GetInverse2 (DenseMatrix< T > &inv, const DenseMatrix< T > &mat) |
template<typename T > | |
bool | GetInverse3 (DenseMatrix< T > &inv, const DenseMatrix< T > &mat) |
bool | GetInversePermutation (const std::vector< size_t > &perm, std::vector< size_t > &invPerm) |
template<class TLayout > | |
void | GetLayoutTargetProcs (std::vector< int > &procsOut, const TLayout &layout) |
void * | GetLibraryProcedure (DynLibHandle h, const char *procName) |
Returns the address of the specified procedure in the given library. More... | |
UG_API std::vector< std::string > | GetLoadedPlugins () |
template<typename TGlobalMatrix , typename TLocalMatrix > | |
bool | GetLocalMatrix (const TGlobalMatrix &mat, TLocalMatrix &localMat) |
template<typename TGlobalMatrix , typename TLocalMatrix > | |
bool | GetLocalMatrix (const TGlobalMatrix &mat, TLocalMatrix &localMat, const size_t *rowIndices, const size_t *colIndices) |
template<typename TVector > | |
void | GetLocalVector (LocalVector &lvec, const TVector &vec) |
LogAssistant & | GetLogAssistant () |
template<typename TSparseMatrix > | |
size_t | GetMaxConnections (const TSparseMatrix &A) |
returns max number of non-zero connections in rows More... | |
template<typename TDomain > | |
static number | GetMaxEdgeLength (TDomain &dom) |
template<class TAAPos > | |
number | GetMaxEdgeLength (Volume *vol, TAAPos &aaPos) |
template<class TElem > | |
int | GetMaxSubsetIndex (SubsetHandler &sh) |
returns the index of the last subset, that contains elements of type TElem. More... | |
template<typename TGridFunction > | |
number | GetMinimum (TGridFunction &gridFct, const char *cmp, const char *subsets) |
template<class tree_t > | |
std::pair< size_t, size_t > | GetMinMaxNumElements (const tree_t &tree, size_t lvl) |
template<typename matrix_type , typename vector_type > | |
ug::ParallelStorageType | GetMultType (const ParallelMatrix< matrix_type > &A1, const ParallelVector< vector_type > &x) |
template<typename TSparseMatrix > | |
void | GetNeighborhood (const TSparseMatrix &A, size_t node, size_t depth, std::vector< size_t > &indices) |
template<typename TSparseMatrix > | |
void | GetNeighborhood (const TSparseMatrix &A, size_t node, size_t depth, std::vector< size_t > &indices, std::vector< bool > &bVisited, bool bResetVisitedFlags=true) |
template<typename TElem > | |
void | GetNeighborhood (Grid &grid, size_t extSize, TElem *elem, typename geometry_traits< TElem >::const_iterator &begin, typename geometry_traits< TElem >::const_iterator &end) |
Finds the neighborhood of a given size for specified element and type. More... | |
template<typename TSparseMatrix > | |
void | GetNeighborhood_worker (const TSparseMatrix &A, size_t node, size_t depth, std::vector< size_t > &indices, std::vector< bool > &bVisited) |
template<typename TSparseMatrix > | |
void | GetNeighborhoodHierachy (const TSparseMatrix &A, size_t node, size_t depth, std::vector< std::vector< size_t > > &indices) |
template<typename TSparseMatrix > | |
void | GetNeighborhoodHierachy (const TSparseMatrix &A, size_t node, size_t depth, std::vector< std::vector< size_t > > &indices, std::vector< bool > &bVisited, bool bResetVisitedFlags=true) |
template<typename TSparseMatrix > | |
void | GetNeighborhoodHierachy_worker (const TSparseMatrix &A, size_t node, size_t depth, size_t maxdepth, std::vector< std::vector< size_t > > &indices, std::vector< bool > &bVisited) |
void | GetNeighbours (std::vector< Face * > &vFacesOut, Grid &grid, Face *f, int side, bool clearContainer=true) |
collects neighbours of the given side of a face. More... | |
void | GetNeighbours (std::vector< Volume * > &vVolsOut, Grid &grid, Volume *v, int side, bool clearContainer=true) |
collects neighbours of the given side of a volume. More... | |
std::pair< Vertex *, Edge * > | GetNextSectionOfPolyChain (Grid &grid, std::pair< Vertex *, Edge * > lastSection, Grid::edge_traits::callback cbEdgeIsInPolyChain) |
returns the next section in a polygonal chain. More... | |
template<typename TSparseMatrix > | |
size_t | GetNNZs (const TSparseMatrix &A) |
returns the number of non-zeroes (!= number of connections) More... | |
template<typename TRefElem , int TWorldDim> | |
void | GetNodeNextToCut (size_t &coOut, const MathVector< TWorldDim > &IP, const MathVector< TWorldDim > &IPVel, const MathVector< TWorldDim > *vCornerCoords) |
computes the closest node to a elem side ray intersection More... | |
unsigned int | GetNumberOfDigits (uint64_t i) |
size_t | GetNumberOfDoFsOfPyramid (int p) |
Vertex * | GetOpposingSide (Grid &g, Edge *elem, Vertex *side) |
Edge * | GetOpposingSide (Grid &g, Face *elem, Edge *side) |
Face * | GetOpposingSide (Grid &g, Volume *elem, Face *side) |
int | GetParamIndex (const char *param, int argc, const char *const *argv) |
static pair< GridObject *, char > | GetParent (BinaryBuffer &in, const vector< Vertex * > &vVrts, const vector< Edge * > &vEdges, const vector< Face * > &vFaces, const vector< Volume * > &vVols) |
const char * | GetPathSeparator () |
returns a string containing the path-separator for the current os More... | |
template<class TEdgeIterator > | |
size_t | GetPolyChainType (Grid &grid, TEdgeIterator edgesBegin, TEdgeIterator edgesEnd, Grid::edge_traits::callback cbEdgeIsInPolyChain) |
returns an or combination of constants enumerated in PolyChainTypes. More... | |
template<typename TAPos > | |
UG_API int | GetPositionAttachmentDimension () |
this function returns the dimension of the position attachment at compile time More... | |
template<typename TAPos > | |
int | GetPositionAttachmentDimension () |
this function returns the dimension of the position attachment at compile time More... | |
const UGProfileNode * | GetProfileNode (const char *name) |
const UGProfileNode * | GetProfileNode (const char *name, const UGProfileNode *node) |
bool | GetProfilerAvailable () |
void | GetProperty (string str, vector< double > &prop) |
QuadType | GetQuadratureType (const std::string &name) |
returns Identifier from string More... | |
std::string | GetRegistryIdentifierMessage () |
lapack_int | getrf (lapack_int rows, lapack_int cols, lapack_double *pColMajorMatrix, lapack_int lda, lapack_int *pPivot) |
lapack_int | getrf (lapack_int rows, lapack_int cols, lapack_float *pColMajorMatrix, lapack_int lda, lapack_int *pPivot) |
lapack_int | getrf (lapack_int rows, lapack_int cols, std::complex< lapack_double > *pColMajorMatrix, lapack_int lda, lapack_int *pPivot) |
lapack_int | getrf (lapack_int rows, lapack_int cols, std::complex< lapack_float > *pColMajorMatrix, lapack_int lda, lapack_int *pPivot) |
lapack_int | getri (lapack_int n, lapack_double *pColMajorMatrix, lapack_int lda, const int *pPivot, lapack_double *pWork, lapack_int worksize) |
lapack_int | getri (lapack_int n, lapack_float *pColMajorMatrix, lapack_int lda, const int *pPivot, lapack_float *pWork, lapack_int worksize) |
static bool | GetRightLeftUnitIndex (int &rightIndex, int &leftIndex, Grid &grid, Face *face, const SubsetHandler &shVolume) |
identifies the right and left unit index to a given surface More... | |
template<typename T > | |
size_t | GetRows (const DenseMatrix< T > &t) |
template<> | |
size_t | GetRows (const number &t) |
template<typename T > | |
size_t | GetRows (const T &t) |
lapack_int | getrs (eTransposeMode transposeMode, lapack_int n, lapack_int nrOfRHS, const double *pColMajorMatrix, lapack_int lda, const lapack_int *pPivot, lapack_double *pRHS, lapack_int ldb) |
lapack_int | getrs (eTransposeMode transposeMode, lapack_int n, lapack_int nrOfRHS, const float *pColMajorMatrix, lapack_int lda, const lapack_int *pPivot, lapack_float *pRHS, lapack_int ldb) |
template<typename T > | |
double | getScaling (const AlphaVec_Expression< T > &t) |
template<typename T > | |
double | getScaling (const T &t) |
template<class elem_t > | |
void | GetSelectedElementIndices (const ISelector &sel, std::vector< size_t > &indsOut) |
size_t | GetSelfMem (const Shiny::ProfileNode *p) |
template<class TElem > | |
UG_API TElem::side * | GetSharedSide (Grid &grid, TElem *e1, TElem *e2) |
returns the shared side between the two elements or NULL if no such side exists. More... | |
Vertex * | GetSharedVertex (IVertexGroup *vrts0, IVertexGroup *vrts1) |
returns the first vertex of vrts0 that is also contained in vrts1 (or NULL if no such vertex exists) More... | |
size_t | GetSharedVertices (std::vector< Vertex * > &vrtsOut, IVertexGroup *vrts0, IVertexGroup *vrts1) |
fills a vector with the vertices that are both contained in vrts0 and vrts1. More... | |
template<typename T > | |
size_t | GetSize (const DenseVector< T > &t) |
template<> | |
size_t | GetSize (const number &t) |
template<typename T > | |
size_t | GetSize (const T &t) |
template<typename TSparseMatrixType > | |
void | GetSliceDenseInverse (const TSparseMatrixType &A, const std::vector< size_t > &indices, DenseMatrix< VariableArray2< double > > &AlocInv) |
template<typename TSparseMatrixType > | |
void | GetSliceDenseInverse (const TSparseMatrixType &A, const std::vector< size_t > &indices, DenseMatrix< VariableArray2< double > > &AlocInv, DenseMatrix< VariableArray2< typename TSparseMatrixType::value_type > > &tmp) |
template<typename TSparseMatrixType > | |
void | GetSliceSparse (const TSparseMatrixType &A, const std::vector< size_t > &indices, CPUAlgebra::matrix_type &R) |
template<class TElem > | |
static char | GetSmallestLocalSubsetDimension (typename Grid::traits< TElem >::secure_container &nbrs, MultiElementAttachmentAccessor< AChar > &aaDim) |
template<typename TDomain > | |
SmartPtr< IElemProlongation< TDomain > > | GetStandardElementProlongation (const LFEID &lfeid) |
template<typename TDomain > | |
SmartPtr< IElemRestriction< TDomain > > | GetStandardElementRestriction (const LFEID &lfeid) |
template<typename... Args> | |
std::string | GetStringPrintf (const char *format, Args... args) |
UG_API std::string | GetTmpPath () |
Returns a path to which an application may write temporary files. More... | |
size_t | GetTotalMem (const Shiny::ProfileNode *p) |
template<class TType > | |
size_t | GetUniqueFVGeomID () |
This method associates a unique unsigned integer value with each type. More... | |
template<class TType > | |
size_t | GetUniqueTypeID () |
This method associated a unique unsigned integer value with each type. More... | |
template<typename T > | |
const T & | getVector (const AlphaVec_Expression< T > &t) |
template<typename TDomain , typename TAlgebra > | |
const TAlgebra::vector_type & | getVector (const GridFunction< TDomain, TAlgebra > &t) |
template<typename T > | |
const T & | getVector (const T &t) |
Vertex * | GetVertex (Edge *e, size_t i) |
returns the i'th vertex of an edge More... | |
Vertex * | GetVertex (Face *f, size_t i) |
returns the i'th vertex of a face More... | |
Vertex * | GetVertex (Vertex *v, size_t i) |
returns the i'th vertex of a vertex More... | |
Vertex * | GetVertex (Volume *v, size_t i) |
returns the i'th vertex of a volume More... | |
int | GetVertexIndex (EdgeVertices *e, Vertex *v) |
returns the index at which vertex v is found in the given edge More... | |
int | GetVertexIndex (FaceVertices *f, Vertex *v) |
returns the index at which vertex v is found in the given face More... | |
int | GetVertexIndex (VolumeVertices *vol, Vertex *v) |
returns the index at which vertex v is found in the given volume More... | |
void | GetZcorn (string str, vector< double > &zcorn) |
template<typename matrix_t , typename vector_t > | |
void | GivensMatVecMult (matrix_t &A, vector_t &v) |
Multiplication by the Givens rotation of the QR-Decomposition. More... | |
template<typename TDomain > | |
static SmartPtr< IRefiner > | GlobalDomainRefiner (TDomain &dom) |
Creates a global domain refiner. More... | |
template<class TDomain > | |
static SmartPtr< GlobalSubdivisionMultiGridRefiner< typename TDomain::position_attachment_type > > | GlobalSubdivisionDomainRefiner (TDomain *dom, const char *linearManifoldSubsets, bool constrained) |
Factory method, that creates a global subdivision domain refiner. More... | |
template<typename T > | |
MathMatrix< 0, 0, T >::value_type | GramDeterminant (const MathMatrix< 0, 0, T > &m) |
template<size_t M, typename T > | |
MathMatrix< 0, M, T >::value_type | GramDeterminant (const MathMatrix< 0, M, T > &m) |
template<size_t N, typename T > | |
MathMatrix< N, 0, T >::value_type | GramDeterminant (const MathMatrix< N, 0, T > &m) |
template<typename TDistIntegrand , typename TGridFunction > | |
number | GridFunctionDistance2 (TGridFunction &spGridFct1, const char *cmp1, TGridFunction &spGridFct2, const char *cmp2, int quadOrder, const char *subsets) |
computes an (abstract) distance between two functions More... | |
template<typename TDistIntegrand , typename TGridFunction > | |
number | GridFunctionDistance2 (TGridFunction &spGridFct1, const char *cmp1, TGridFunction &spGridFct2, const char *cmp2, int quadOrder, const char *subsets, ConstSmartPtr< typename TDistIntegrand::weight_type > spWeights) |
Computes (weighted) distance. More... | |
template<typename TDistIntegrand , typename TGridFunction > | |
number | GridFunctionDistance2 (TGridFunction &spGridFct1, const char *cmp1, TGridFunction &spGridFct2, const char *cmp2, int quadOrder, const char *subsets, ConstSmartPtr< typename TDistIntegrand::weight_type > spWeights, number distAvg12) |
Computes (weighted) distance with shift for averages. More... | |
std::string | GridLevelAppendix (const GridLevel &gl, int minfill=2) |
returns appendix for a grid level More... | |
template<typename Matrix_type , typename Vector_type > | |
void | gs_step_LL (const Matrix_type &A, Vector_type &c, const Vector_type &d, const number relaxFactor) |
Gauss-Seidel-Iterations. More... | |
template<typename Matrix_type , typename Vector_type > | |
bool | gs_step_LL (const Matrix_type &A, Vector_type &x, const Vector_type &b) |
Performs a forward gauss-seidel-step, that is, solve on the lower left of A. More... | |
template<typename Matrix_type , typename Vector_type > | |
void | gs_step_UR (const Matrix_type &A, Vector_type &c, const Vector_type &d, const number relaxFactor) |
Performs a backward gauss-seidel-step, that is, solve on the upper right of A. Using gs_step_UR within a preconditioner-scheme leads to the fact that we get the correction by successive inserting the already computed values of c in c = N * d, with c being the correction and d being the defect. N denotes the matrix of the second normal-form of a linear iteration scheme. More... | |
template<typename Matrix_type , typename Vector_type > | |
bool | gs_step_UR (const Matrix_type &A, Vector_type &x, const Vector_type &b) |
Performs a backward gauss-seidel-step, that is, solve on the upper right of A. More... | |
template<typename TGridFunction > | |
number | H1Distance (TGridFunction &spGridFct1, const char *cmp1, TGridFunction &spGridFct2, const char *cmp2, int quadOrder, const char *subsets=NULL) |
template<typename TGridFunction > | |
number | H1Distance2 (TGridFunction &spGridFct1, const char *cmp1, TGridFunction &spGridFct2, const char *cmp2, int quadOrder, const char *subsets=NULL) |
template<typename TGridFunction > | |
number | H1EnergyDistance (TGridFunction &spGridFct1, const char *cmp1, TGridFunction &spGridFct2, const char *cmp2, int quadOrder, const char *subsets, ConstSmartPtr< typename H1SemiDistIntegrand< TGridFunction >::weight_type > weights) |
Distance in H1 semi norm (with select subsets & weights) More... | |
template<typename TGridFunction > | |
number | H1EnergyDistance (TGridFunction &spGridFct1, const char *cmp1, TGridFunction &spGridFct2, const char *cmp2, int quadOrder, ConstSmartPtr< typename H1SemiDistIntegrand< TGridFunction >::weight_type > weights) |
Distance in H1 semi norm (all subsets, with weights) More... | |
template<typename TGridFunction > | |
number | H1EnergyDistance2 (TGridFunction &spGridFct1, const char *cmp1, TGridFunction &spGridFct2, const char *cmp2, int quadOrder, const char *subsets, ConstSmartPtr< typename H1SemiDistIntegrand< TGridFunction >::weight_type > weights) |
Squared distance in H1 semi norm (with select subsets & weights) More... | |
template<typename TGridFunction > | |
number | H1EnergyDistance2 (TGridFunction &spGridFct1, const char *cmp1, TGridFunction &spGridFct2, const char *cmp2, int quadOrder, ConstSmartPtr< typename H1SemiDistIntegrand< TGridFunction >::weight_type > weights) |
Squared distance in H1 semi norm (all subsets, with weights) More... | |
template<typename TGridFunction > | |
number | H1EnergyNorm (SmartPtr< TGridFunction > spGridFct, const char *cmp, int quadOrder) |
template<typename TGridFunction > | |
number | H1EnergyNorm (SmartPtr< TGridFunction > spGridFct, const char *cmp, int quadOrder, const char *subsets, ConstSmartPtr< typename H1SemiIntegrand< TGridFunction >::weight_type > weights=SPNULL) |
template<typename TGridFunction > | |
number | H1EnergyNorm (SmartPtr< TGridFunction > spGridFct, const char *cmp, int quadOrder, ConstSmartPtr< typename H1SemiIntegrand< TGridFunction >::weight_type > weights) |
template<typename TGridFunction > | |
number | H1EnergyNorm (TGridFunction &gridFct, const char *cmp, int quadOrder, const char *subsets=NULL, ConstSmartPtr< typename H1SemiIntegrand< TGridFunction >::weight_type > weights=SPNULL) |
template<typename TGridFunction > | |
number | H1EnergyNorm2 (TGridFunction &gridFct, const char *cmp, int quadOrder, const char *subsets=NULL, ConstSmartPtr< typename H1SemiIntegrand< TGridFunction >::weight_type > weights=SPNULL) |
compute energy -norm of a function on the whole domain (or on selected subsets) More... | |
template<typename TGridFunction > | |
number | H1Error (SmartPtr< TGridFunction > spGridFct1, const char *cmp1, SmartPtr< TGridFunction > spGridFct2, const char *cmp2, int quadOrder) |
for lua shell More... | |
template<typename TGridFunction > | |
number | H1Error (SmartPtr< TGridFunction > spGridFct1, const char *cmp1, SmartPtr< TGridFunction > spGridFct2, const char *cmp2, int quadOrder, const char *subsets) |
for lua shell More... | |
template<typename TGridFunction > | |
number | H1Error (SmartPtr< UserData< number, TGridFunction::dim > > spExactSol, SmartPtr< UserData< MathVector< TGridFunction::dim >, TGridFunction::dim > > spExactGrad, SmartPtr< TGridFunction > spGridFct, const char *cmp, number time, int quadOrder) |
template<typename TGridFunction > | |
number | H1Error (SmartPtr< UserData< number, TGridFunction::dim > > spExactSol, SmartPtr< UserData< MathVector< TGridFunction::dim >, TGridFunction::dim > > spExactGrad, SmartPtr< TGridFunction > spGridFct, const char *cmp, number time, int quadOrder, const char *subsets) |
compute H1 error of a function on the whole domain or on some subsets More... | |
template<typename TGridFunction > | |
number | H1Norm (SmartPtr< TGridFunction > spGridFct, const char *cmp, int quadOrder) |
template<typename TGridFunction > | |
number | H1Norm (SmartPtr< TGridFunction > spGridFct, const char *cmp, int quadOrder, const char *subsets) |
template<typename TGridFunction > | |
number | H1Norm (TGridFunction &u, const char *cmp, int quadOrder, const char *subsets=NULL) |
template<typename TGridFunction > | |
number | H1Norm2 (TGridFunction &u, const char *cmp, int quadOrder, const char *subsets=NULL) |
template<typename TGridFunction > | |
number | H1SemiDistance (TGridFunction &spGridFct1, const char *cmp1, TGridFunction &spGridFct2, const char *cmp2, int quadOrder, const char *subsets, ConstSmartPtr< typename H1SemiDistIntegrand< TGridFunction >::weight_type > weights) |
Distance in H1 semi norm (with select subsets & weights) More... | |
template<typename TGridFunction > | |
number | H1SemiDistance (TGridFunction &spGridFct1, const char *cmp1, TGridFunction &spGridFct2, const char *cmp2, int quadOrder, ConstSmartPtr< typename H1SemiDistIntegrand< TGridFunction >::weight_type > weights) |
Distance in H1 semi norm (all subsets, with weights) More... | |
template<typename TGridFunction > | |
number | H1SemiDistance2 (TGridFunction &spGridFct1, const char *cmp1, TGridFunction &spGridFct2, const char *cmp2, int quadOrder, const char *subsets, ConstSmartPtr< typename H1SemiDistIntegrand< TGridFunction >::weight_type > weights) |
Squared distance in H1 semi norm (with select subsets & weights) More... | |
template<typename TGridFunction > | |
number | H1SemiDistance2 (TGridFunction &spGridFct1, const char *cmp1, TGridFunction &spGridFct2, const char *cmp2, int quadOrder, ConstSmartPtr< typename H1SemiDistIntegrand< TGridFunction >::weight_type > weights) |
Squared distance in H1 semi norm (all subsets, with weights) More... | |
template<typename TGridFunction > | |
number | H1SemiError (SmartPtr< TGridFunction > spGridFct1, const char *cmp1, SmartPtr< TGridFunction > spGridFct2, const char *cmp2, int quadOrder) |
Distance in H1 semi norm (all subsets) More... | |
template<typename TGridFunction > | |
number | H1SemiError (SmartPtr< TGridFunction > spGridFct1, const char *cmp1, SmartPtr< TGridFunction > spGridFct2, const char *cmp2, int quadOrder, const char *subsets) |
Distance in H1 semi norm (with subset selection) More... | |
template<typename TGridFunction > | |
number | H1SemiError2 (SmartPtr< TGridFunction > spGridFct1, const char *cmp1, SmartPtr< TGridFunction > spGridFct2, const char *cmp2, int quadOrder, const char *subsets) |
Distance in H1 semi norm (with subset selection) More... | |
template<typename TGridFunction > | |
number | H1SemiNorm (SmartPtr< TGridFunction > spGridFct, const char *cmp, int quadOrder) |
template<typename TGridFunction > | |
number | H1SemiNorm (SmartPtr< TGridFunction > spGridFct, const char *cmp, int quadOrder, const char *subsets) |
template<typename TGridFunction > | |
number | H1SemiNorm (SmartPtr< TGridFunction > spGridFct, const char *cmp, int quadOrder, const char *subsets, ConstSmartPtr< typename H1SemiIntegrand< TGridFunction >::weight_type > weights=SPNULL) |
template<typename TGridFunction > | |
number | H1SemiNorm (SmartPtr< TGridFunction > spGridFct, const char *cmp, int quadOrder, ConstSmartPtr< typename H1SemiIntegrand< TGridFunction >::weight_type > weights) |
template<typename TGridFunction > | |
number | H1SemiNorm (TGridFunction &gridFct, const char *cmp, int quadOrder, const char *subsets=NULL, ConstSmartPtr< typename H1SemiIntegrand< TGridFunction >::weight_type > weights=SPNULL) |
Computes the H1SemiNorm. More... | |
template<typename TGridFunction > | |
number | H1SemiNorm2 (TGridFunction &gridFct, const char *cmp, int quadOrder, const char *subsets=NULL, ConstSmartPtr< typename H1SemiIntegrand< TGridFunction >::weight_type > weights=SPNULL) |
compute H1 semi-norm of a function on the whole domain (or on selected subsets) More... | |
template<typename TDomain > | |
static SmartPtr< IRefiner > | HangingNodeDomainRefiner (TDomain *dom) |
Creates an adaptive hanging node domain refiner. More... | |
template<typename TRefElem , int TWorldDim> | |
void | HangingNormalOnSCVF (MathVector< TWorldDim > &outNormal, const MathVector< TWorldDim > *vCornerCoords) |
size_t | hash_key (const EdgeVertices *key) |
size_t | hash_key (const FaceVertices *key) |
template<> | |
UG_API size_t | hash_key (const std::string &str) |
creates a hash key from a string value More... | |
template<> | |
size_t | hash_key (const string &key) |
size_t | hash_key (const VolumeVertices *key) |
size_t | hash_key (Edge *key) |
the hash-key is a function of vertex-hash-values. More... | |
size_t | hash_key (EdgeDescriptor *key) |
the hash-key is a function of vertex-hash-values. More... | |
size_t | hash_key (EdgeVertices *key) |
the hash-key is a function of vertex-hash-values. More... | |
size_t | hash_key (Face *key) |
the hash-key is a function of vertex-hash-values. More... | |
size_t | hash_key (FaceDescriptor *key) |
the hash-key is a function of vertex-hash-values. More... | |
size_t | hash_key (FaceVertices *key) |
the hash-key is a function of vertex-hash-values. More... | |
size_t | hash_key (Vertex *key) |
returns the hash-value of the vertex. More... | |
size_t | hash_key (Volume *key) |
the hash-key is a function of vertex-hash-values. More... | |
size_t | hash_key (VolumeDescriptor *key) |
the hash-key is a function of vertex-hash-values. More... | |
size_t | hash_key (VolumeVertices *key) |
the hash-key is a function of vertex-hash-values. More... | |
template<> | |
size_t | hash_key< AlgebraID > (const AlgebraID &key) |
template<> | |
size_t | hash_key< GeomObjID > (const GeomObjID &key) |
generates a hash key for a GeomObjID. More... | |
static unsigned long | HashKey (const EdgeVertices *key) |
sums the squared hash-values of associated vertices. More... | |
static unsigned long | HashKey (const FaceVertices *key) |
sums the squared hash-values of associated vertices. More... | |
static unsigned long | HashKey (const VolumeVertices *key) |
sums the squared hash-values of associated vertices. More... | |
bool | HasMemTracking () |
std::string | HistogrammString (std::vector< double > values) |
template<class TDomain > | |
void | IdentifySubsets (TDomain &dom, const char *sName1, const char *sName2) |
identifies subset 1 with subset 2. If the grid of given domain has no periodic boundary manager attached, one will be created. More... | |
template<class TDomain > | |
void | IdentifySubsets (TDomain &dom, int sInd1, int sInd2) |
identifies subset 1 with subset 2. If the grid of given domain has no periodic boundary manager attached, one will be created. More... | |
bool | ImportGridFromLGM (Grid &grid, const char *filename, AVector3 &aPos, ISubsetHandler *pSurfaceHandler) |
bool | ImportGridFromNG (Grid &grid, const char *filename, AVector3 &aPos, ISubsetHandler *pSubdomainHandler) |
bool | ImportGridFromTETGEN (Grid &grid, const char *nodesFilename, const char *facesFilename, const char *elemsFilename, AVector3 &aPos, ISubsetHandler *psh, std::vector< AFloat > *pvNodeAttributes) |
bool | ImportGridFromTETGEN (Grid &grid, const char *nodesFilename, const char *facesFilename, const char *elemsFilename, AVector3 &aPos, std::vector< AFloat > *pvNodeAttributes, AInt *paNodeBoundaryMarker, AInt *paFaceBoundaryMarker, AInt *paElementAttribute) |
template<class ind_t > | |
std::string | IndexListToRangeString (const std::vector< ind_t > &inds) |
template<typename G_t , typename M_t > | |
void | induced_subgraph (G_t &ind_g, M_t *A, const std::vector< size_t > &inv_map) |
void | Init___CompressibleNavierStokes (bridge::Registry *reg, std::string grp) |
void | Init___CompressibleNavierStokes (Registry *reg, string grp) |
void | Init___CompressibleNavierStokes___FV1 (Registry *reg, string grp) |
void | Init___CompressibleNavierStokes___FV1 (ug::bridge::Registry *reg, std::string grp) |
void | Init___IncompressibleNavierStokes (bridge::Registry *reg, std::string grp) |
void | Init___IncompressibleNavierStokes (Registry *reg, string grp) |
void | Init___NavierStokes___FE (Registry *reg, string grp) |
void | Init___NavierStokes___FE (ug::bridge::Registry *reg, std::string grp) |
void | Init___NavierStokes___FV (Registry *reg, string grp) |
void | Init___NavierStokes___FV (ug::bridge::Registry *reg, std::string grp) |
void | Init___NavierStokes___FV1 (Registry *reg, string grp) |
void | Init___NavierStokes___FV1 (ug::bridge::Registry *reg, std::string grp) |
void | Init___NavierStokes___FVCR (Registry *reg, string grp) |
void | Init___NavierStokes___FVCR (ug::bridge::Registry *reg, std::string grp) |
void | InitLinearManifoldSubsetHandler (MultiGrid &mg, MGSubsetHandler &sh, MGSubsetHandler &linearManifoldSH, const char *linearManifoldSubsets) |
Procedure to initialize the linear boundary manifold subsets SubsetHandler with user-specified subsets. More... | |
bool | InitPaths (const char *argv0) |
Initializes the pathes of ug::PathProvider. More... | |
void | InitUGPlugin_ConvectionDiffusion (ug::bridge::Registry *reg, string grp) |
void | InitUGPlugin_DemoPlugin (Registry *reg, string grp) |
void | InitUGPlugin_DocuGen (Registry *reg, string grp) |
void | InitUGPlugin_Electromagnetism (Registry *reg, string grp) |
UG_API void | InitUGPlugin_JSONToolkit (ug::bridge::Registry *reg, string grp) |
void | InitUGPlugin_JSONToolkit_ (TRegistry *reg, string grp) |
void | InitUGPlugin_Jupyter (Registry *reg, string grp) |
void | InitUGPlugin_Limex (Registry *reg, string grp) |
void | InitUGPlugin_LuaShell (Registry *reg, string grp) |
void | InitUGPlugin_NavierStokes (Registry *reg, string grp) |
void | InitUGPlugin_Poroelasticity (Registry *reg, string grp) |
void | InitUGPlugin_ProMesh (Registry *reg, string grp) |
void | InitUGPlugin_Richards (Registry *reg, string grp) |
void | InitUGPlugin_SmallStrainMechanics (Registry *reg, string grp) |
void | InitUGPlugin_TemplatePlugin (Registry *reg, string grp) |
void | InitUGPlugin_Util (Registry *reg, string grp) |
template<int refDim, int dim> | |
bool | InnerDoFPositionElem (std::vector< MathVector< dim > > &vPos, const ReferenceObjectID roid, const std::vector< MathVector< dim > > &vVertPos, const LFEID &lfeID) |
template<int dim> | |
bool | InnerDoFPositionVertex (std::vector< MathVector< dim > > &vPos, const ReferenceObjectID roid, const std::vector< MathVector< dim > > &vVertPos, const LFEID &lfeID) |
void | InsertCenterVertex (Grid &g, Face *f, Vertex *vrt, bool eraseOldFace) |
Refines the face by connecting its sides with the new center. More... | |
void | InsertCenterVertex (Grid &g, Volume *vol, Vertex *vrt, bool eraseOldVol) |
Refines the volume by connecting its sides with the new center. More... | |
template<typename TGridFunction > | |
number | Integral (number val, SmartPtr< TGridFunction > spGridFct) |
template<typename TGridFunction > | |
number | Integral (number val, SmartPtr< TGridFunction > spGridFct, const char *subsets) |
template<typename TGridFunction > | |
number | Integral (number val, SmartPtr< TGridFunction > spGridFct, const char *subsets, number time) |
template<typename TGridFunction > | |
number | Integral (number val, SmartPtr< TGridFunction > spGridFct, const char *subsets, number time, int quadOrder) |
template<typename TGridFunction > | |
number | Integral (number val, SmartPtr< TGridFunction > spGridFct, number time) |
template<typename TGridFunction > | |
number | Integral (SmartPtr< TGridFunction > spGridFct, const char *cmp) |
template<typename TGridFunction > | |
number | Integral (SmartPtr< TGridFunction > spGridFct, const char *cmp, const char *subsets) |
template<typename TGridFunction > | |
number | Integral (SmartPtr< TGridFunction > spGridFct, const char *cmp, const char *subsets, int quadOrder) |
template<typename TGridFunction > | |
number | Integral (SmartPtr< UserData< number, TGridFunction::dim > > spData, SmartPtr< TGridFunction > spGridFct) |
template<typename TGridFunction > | |
number | Integral (SmartPtr< UserData< number, TGridFunction::dim > > spData, SmartPtr< TGridFunction > spGridFct, const char *subsets) |
template<typename TGridFunction > | |
number | Integral (SmartPtr< UserData< number, TGridFunction::dim > > spData, SmartPtr< TGridFunction > spGridFct, const char *subsets, number time) |
template<typename TGridFunction > | |
number | Integral (SmartPtr< UserData< number, TGridFunction::dim > > spData, SmartPtr< TGridFunction > spGridFct, const char *subsets, number time, int order) |
template<typename TGridFunction > | |
number | Integral (SmartPtr< UserData< number, TGridFunction::dim > > spData, SmartPtr< TGridFunction > spGridFct, const char *subsets, number time, int quadOrder, std::string quadType) |
template<typename TGridFunction > | |
number | Integral (SmartPtr< UserData< number, TGridFunction::dim > > spData, SmartPtr< TGridFunction > spGridFct, number time) |
template<typename TGridFunction > | |
number | Integral (SmartPtr< UserData< number, TGridFunction::dim > > spData, TGridFunction &spGridFct, const char *subsets, number time, int quadOrder, std::string quadType) |
template<typename TGridFunction > | |
number | Integral (TGridFunction &gridFct, const char *cmp, const char *subsets, int quadOrder) |
template<typename TGridFunction > | |
number | IntegralNormalComponentOnManifold (SmartPtr< UserData< MathVector< TGridFunction::dim >, TGridFunction::dim > > spData, SmartPtr< TGridFunction > spGridFct, const char *BndSubset) |
template<typename TGridFunction > | |
number | IntegralNormalComponentOnManifold (SmartPtr< UserData< MathVector< TGridFunction::dim >, TGridFunction::dim > > spData, SmartPtr< TGridFunction > spGridFct, const char *BndSubset, const char *InnerSubset) |
template<typename TGridFunction > | |
number | IntegralNormalComponentOnManifold (SmartPtr< UserData< MathVector< TGridFunction::dim >, TGridFunction::dim > > spData, SmartPtr< TGridFunction > spGridFct, const char *BndSubset, const char *InnerSubset, number time) |
template<typename TGridFunction > | |
number | IntegralNormalComponentOnManifold (SmartPtr< UserData< MathVector< TGridFunction::dim >, TGridFunction::dim > > spData, SmartPtr< TGridFunction > spGridFct, const char *BndSubset, const char *InnerSubset, number time, int quadOrder) |
template<typename TGridFunction > | |
number | IntegralNormalComponentOnManifold (SmartPtr< UserData< MathVector< TGridFunction::dim >, TGridFunction::dim > > spData, SmartPtr< TGridFunction > spGridFct, const char *BndSubset, number time) |
template<int WorldDim, int dim, typename TConstIterator > | |
number | IntegralNormalComponentOnManifoldGeneral (TConstIterator iterBegin, TConstIterator iterEnd, typename domain_traits< WorldDim >::position_accessor_type &aaPos, const ISubsetHandler *ish, IIntegrand< MathVector< WorldDim >, WorldDim > &integrand, const SubsetGroup &bndSSGrp, int quadOrder, Grid &grid) |
template<typename TGridFunction , int dim> | |
number | IntegralNormalComponentOnManifoldSubset (SmartPtr< IIntegrand< MathVector< TGridFunction::dim >, TGridFunction::dim > > spIntegrand, SmartPtr< TGridFunction > spGridFct, int si, const SubsetGroup &bndSSGrp, int quadOrder) |
template<typename TGridFunction > | |
number | IntegralNormalComponentOnManifoldSubsets (SmartPtr< IIntegrand< MathVector< TGridFunction::dim >, TGridFunction::dim > > spIntegrand, SmartPtr< TGridFunction > spGridFct, const char *BndSubsets, const char *InnerSubsets, int quadOrder) |
template<int WorldDim, int dim, typename TConstIterator > | |
number | IntegralNormalComponentOnManifoldUsingFV1Geom (TConstIterator iterBegin, TConstIterator iterEnd, typename domain_traits< WorldDim >::position_accessor_type &aaPos, const ISubsetHandler *ish, IIntegrand< MathVector< WorldDim >, WorldDim > &integrand, const SubsetGroup &bndSSGrp) |
template<int WorldDim, int dim, typename TConstIterator > | |
number | Integrate (TConstIterator iterBegin, TConstIterator iterEnd, typename domain_traits< WorldDim >::position_accessor_type &aaPos, IIntegrand< number, WorldDim > &integrand, int quadOrder, std::string quadType, Grid::AttachmentAccessor< typename domain_traits< dim >::grid_base_object, ANumber > *paaElemContribs=NULL) |
integrates on the whole domain More... | |
template<typename TGridFunction > | |
number | IntegrateDiscFlux (SmartPtr< IAssemble< typename TGridFunction::algebra_type > > spAssemble, SmartPtr< TGridFunction > spGridFct, const char *pCmps, const char *subsets) |
template<typename TGridFunction , int dim> | |
void | IntegrateDiscFlux (std::vector< number > &vValue, const TGridFunction &rDefect, const FunctionGroup &fctGrp, int si) |
template<typename TGridFunction > | |
number | IntegrateNormalComponentOnManifold (TGridFunction &u, const char *cmp, const char *BndSubset) |
Integrates a component over some boundary subsets. More... | |
template<typename TGridFunction > | |
number | IntegrateNormalGradientOnManifold (TGridFunction &u, const char *cmp, const char *BndSubset, const char *InnerSubset=NULL) |
Integrates the Flux of a component over some boundary subsets. More... | |
template<typename TGridFunction , int dim> | |
number | IntegrateSubset (IIntegrand< number, TGridFunction::dim > &spIntegrand, TGridFunction &spGridFct, int si, int quadOrder, std::string quadType) |
template<typename TGridFunction > | |
number | IntegrateSubsets (IIntegrand< number, TGridFunction::dim > &spIntegrand, TGridFunction &spGridFct, const char *subsets, int quadOrder, std::string quadType=std::string()) |
template<typename TGridFunction > | |
void | Interpolate (number val, SmartPtr< TGridFunction > spGridFct, const char *cmp) |
template<typename TGridFunction > | |
void | Interpolate (number val, SmartPtr< TGridFunction > spGridFct, const char *cmp, const char *subsets) |
template<typename TGridFunction > | |
void | Interpolate (number val, SmartPtr< TGridFunction > spGridFct, const char *cmp, const char *subsets, number time) |
template<typename TGridFunction > | |
void | Interpolate (number val, SmartPtr< TGridFunction > spGridFct, const char *cmp, const char *subsets, number time, const SmartPtr< CplUserData< MathVector< TGridFunction::dim >, TGridFunction::dim > > m_diff_pos) |
template<typename TGridFunction > | |
void | Interpolate (number val, SmartPtr< TGridFunction > spGridFct, const char *cmp, number time) |
template<typename TGridFunction > | |
void | Interpolate (SmartPtr< UserData< number, TGridFunction::dim > > spInterpolFunction, SmartPtr< TGridFunction > spGridFct, const char *cmp) |
template<typename TGridFunction > | |
void | Interpolate (SmartPtr< UserData< number, TGridFunction::dim > > spInterpolFunction, SmartPtr< TGridFunction > spGridFct, const char *cmp, const char *subsets) |
template<typename TGridFunction > | |
void | Interpolate (SmartPtr< UserData< number, TGridFunction::dim > > spInterpolFunction, SmartPtr< TGridFunction > spGridFct, const char *cmp, const char *subsets, number time) |
interpolates a function on a subset More... | |
template<typename TGridFunction > | |
void | Interpolate (SmartPtr< UserData< number, TGridFunction::dim > > spInterpolFunction, SmartPtr< TGridFunction > spGridFct, const char *cmp, const char *subsets, number time, const MathVector< TGridFunction::dim > diff_pos) |
interpolates a function on a subset More... | |
template<typename TGridFunction > | |
void | Interpolate (SmartPtr< UserData< number, TGridFunction::dim > > spInterpolFunction, SmartPtr< TGridFunction > spGridFct, const char *cmp, const MathVector< TGridFunction::dim > &m_diff_pos) |
template<typename TGridFunction > | |
void | Interpolate (SmartPtr< UserData< number, TGridFunction::dim > > spInterpolFunction, SmartPtr< TGridFunction > spGridFct, const char *cmp, number time) |
template<typename TGridFunction > | |
void | Interpolate (SmartPtr< UserData< number, TGridFunction::dim > > spInterpolFunction, SmartPtr< TGridFunction > spGridFct, const size_t fct, const char *subsets, number time, const MathVector< TGridFunction::dim > diff_pos) |
interpolates a function on a subset More... | |
template<typename TGridFunction > | |
void | Interpolate (SmartPtr< UserData< number, TGridFunction::dim > > spInterpolFunction, SmartPtr< TGridFunction > spGridFct, const size_t fct, const SubsetGroup &ssGrp, number time, const MathVector< TGridFunction::dim > diff_pos) |
interpolates a function on a subset More... | |
template<typename TElem , typename TGridFunction , typename TGGFND > | |
void | interpolate_from_original_fct (SmartPtr< TGridFunction > u_new, const TGGFND &u_orig, size_t fct, const LFEID &lfeid) |
void | interpolateCRToLagrange (TGridFunction &uLagrange, TGridFunction &uCR) |
template<typename TGridFunction > | |
void | InterpolateInner (number val, SmartPtr< TGridFunction > spGridFct, const char *cmp) |
template<typename TGridFunction > | |
void | InterpolateInner (number val, SmartPtr< TGridFunction > spGridFct, const char *cmp, const char *subsets) |
template<typename TGridFunction > | |
void | InterpolateInner (number val, SmartPtr< TGridFunction > spGridFct, const char *cmp, const char *subsets, number time) |
template<typename TGridFunction > | |
void | InterpolateInner (number val, SmartPtr< TGridFunction > spGridFct, const char *cmp, number time) |
template<typename TGridFunction > | |
void | InterpolateInner (SmartPtr< UserData< number, TGridFunction::dim > > spInterpolFunction, SmartPtr< TGridFunction > spGridFct, const char *cmp) |
template<typename TGridFunction > | |
void | InterpolateInner (SmartPtr< UserData< number, TGridFunction::dim > > spInterpolFunction, SmartPtr< TGridFunction > spGridFct, const char *cmp, const char *subsets) |
template<typename TGridFunction > | |
void | InterpolateInner (SmartPtr< UserData< number, TGridFunction::dim > > spInterpolFunction, SmartPtr< TGridFunction > spGridFct, const char *cmp, const char *subsets, number time) |
interpolates a function on a subset More... | |
template<typename TGridFunction > | |
void | InterpolateInner (SmartPtr< UserData< number, TGridFunction::dim > > spInterpolFunction, SmartPtr< TGridFunction > spGridFct, const char *cmp, number time) |
template<typename TGridFunction > | |
void | InterpolateInnerDiff (SmartPtr< UserData< number, TGridFunction::dim > > spInterpolFunction, SmartPtr< TGridFunction > spGridFct, const char *cmp, const char *subsets, number time, const SmartPtr< CplUserData< MathVector< TGridFunction::dim >, TGridFunction::dim > > m_diff_pos) |
interpolates a function on a subset More... | |
template<typename TElem , typename TGridFunction > | |
void | InterpolateOnDiffElements (SmartPtr< UserData< number, TGridFunction::dim > > spInterpolFunction, SmartPtr< TGridFunction > spGridFct, size_t fct, int si, number time, const MathVector< TGridFunction::dim > diff_pos) |
template<typename TGridFunction > | |
void | InterpolateOnDiffElements (SmartPtr< UserData< number, TGridFunction::dim > > spInterpolFunction, SmartPtr< TGridFunction > spGridFct, size_t fct, number time, const SubsetGroup &ssGrp, const MathVector< TGridFunction::dim > diff_pos) |
template<typename TGridFunction > | |
void | InterpolateOnDiffVertices (SmartPtr< UserData< number, TGridFunction::dim > > spInterpolFunction, SmartPtr< TGridFunction > spGridFct, size_t fct, number time, const SubsetGroup &ssGrp, const MathVector< TGridFunction::dim > diff_pos) |
template<typename TElem , typename TGridFunction > | |
void | InterpolateOnElements (SmartPtr< UserData< number, TGridFunction::dim > > spInterpolFunction, SmartPtr< TGridFunction > spGridFct, size_t fct, int si, number time) |
template<typename TGridFunction > | |
void | InterpolateOnElements (SmartPtr< UserData< number, TGridFunction::dim > > spInterpolFunction, SmartPtr< TGridFunction > spGridFct, size_t fct, number time, const SubsetGroup &ssGrp) |
template<typename TElem , typename TGridFunction > | |
void | InterpolateOnElementsInner (SmartPtr< UserData< number, TGridFunction::dim > > spInterpolFunction, SmartPtr< TGridFunction > spGridFct, size_t fct, int si, number time) |
template<typename TElem , typename TGridFunction > | |
void | InterpolateOnElementsInner (SmartPtr< UserData< number, TGridFunction::dim > > spInterpolFunction, SmartPtr< TGridFunction > spGridFct, size_t fct, int si, number time, const MathVector< TGridFunction::dim > diff_pos) |
template<typename TGridFunction > | |
void | InterpolateOnElementsInner (SmartPtr< UserData< number, TGridFunction::dim > > spInterpolFunction, SmartPtr< TGridFunction > spGridFct, size_t fct, number time, const SubsetGroup &ssGrp) |
template<typename TGridFunction > | |
void | InterpolateOnVertices (SmartPtr< UserData< number, TGridFunction::dim > > spInterpolFunction, SmartPtr< TGridFunction > spGridFct, size_t fct, number time, const SubsetGroup &ssGrp) |
template<typename TVector > | |
void | InterpolateValues (TVector &u, std::vector< size_t > &constrainedIndex, std::vector< std::vector< size_t > > &vConstrainingIndex) |
template<class TObjectCollection , class TAAPosVRT > | |
bool | IntersectCloseEdges (Grid &grid, TObjectCollection &elems, TAAPosVRT &aaPos, number snapThreshold) |
template<class TAAPos > | |
bool | IntersectCoplanarTriangles (std::vector< typename TAAPos::ValueType > &edgesOut, FaceVertices *tri1, FaceVertices *tri2, TAAPos aaPos) |
Intersects Coplanar Triangles. More... | |
bool | IntersectCoplanarTriangles (std::vector< vector2 > &edgesOut, const vector2 &p00, const vector2 &p01, const vector2 &p02, const vector2 &p10, const vector2 &p11, const vector2 &p12) |
Intersects Coplanar Triangles. More... | |
bool | IntersectCoplanarTriangles (std::vector< vector3 > &edgesOut, const vector3 &p00, const vector3 &p01, const vector3 &p02, const vector3 &p10, const vector3 &p11, const vector3 &p12) |
Intersects Coplanar Triangles. More... | |
size_t | IntersectPlaneWithTetrahedron (vector3 intsOut[4], const vector3 &planePoint, const vector3 &planeNormal, const vector3 t[4]) |
Returns the number of intersections and the intersection points in intsOut. More... | |
template<class T > | |
void | InvalidateSmallLenses (Field< T > &field, size_t thresholdCellCount, const T &noDataValue) |
invalidates cells that belong to a small lense More... | |
template<typename TMatrix , typename TInverseMatrixType , typename TVector > | |
void | InverseFromInverseType (TMatrix &mat, TInverseMatrixType &inv, TVector &x, TVector &e) |
template<typename TMatrix , typename TVector > | |
void | InverseFromInverseType (TMatrix &mat, TMatrix &inv, TVector &x, TVector &e) |
bool | InverseMatMult (DenseVector< FixedArray1< double, 1 > > &dest, double beta1, const DenseMatrix< FixedArray2< double, 1, 1 > > &A1, const DenseVector< FixedArray1< double, 1 > > &w1) |
template<typename T > | |
bool | InverseMatMult (DenseVector< FixedArray1< double, 2 > > &dest, double beta, const DenseMatrix< FixedArray2< double, 2, 2 > > &mat, const DenseVector< FixedArray1< double, 2 > > &vec) |
template<typename T > | |
bool | InverseMatMult (DenseVector< FixedArray1< double, 3 > > &dest, double beta, const DenseMatrix< FixedArray2< double, 3, 3 > > &mat, const DenseVector< FixedArray1< double, 3 > > &vec) |
template<typename vector_t , typename matrix_t > | |
bool | InverseMatMult (DenseVector< vector_t > &dest, double beta, const DenseMatrix< matrix_t > &mat, const DenseVector< vector_t > &vec) |
bool | InverseMatMult (number &dest, const double &beta, const number &mat, const number &vec) |
template<typename TMat , typename TVec > | |
bool | InverseMatMult (number &dest, const double &beta, const TMat &mat, const TVec &vec) |
you can implement this function with GetInverse and MatMult More... | |
template<typename vector_t , typename matrix_t > | |
bool | InverseMatMult1 (DenseVector< vector_t > &dest, double beta1, const DenseMatrix< matrix_t > &A1, const DenseVector< vector_t > &w1) |
template<typename vector_t , typename matrix_t > | |
bool | InverseMatMult2 (DenseVector< vector_t > &dest, double beta, const DenseMatrix< matrix_t > &mat, const DenseVector< vector_t > &vec) |
template<typename vector_t , typename matrix_t > | |
bool | InverseMatMult3 (DenseVector< vector_t > &dest, double beta, const DenseMatrix< matrix_t > &mat, const DenseVector< vector_t > &vec) |
template<typename vector_t , typename matrix_t > | |
bool | InverseMatMultN (DenseVector< vector_t > &dest, double beta, const DenseMatrix< matrix_t > &mat, const DenseVector< vector_t > &vec) |
bool | Invert (DenseMatrix< FixedArray2< double, 1, 1 > > &mat) |
bool | Invert (DenseMatrix< FixedArray2< double, 2, 2 > > &mat) |
bool | Invert (DenseMatrix< FixedArray2< double, 3, 3 > > &mat) |
template<typename T , size_t TUnknowns> | |
bool | Invert (DenseMatrix< FixedArray2< T, TUnknowns, TUnknowns > > &mat) |
template<typename T > | |
bool | Invert (DenseMatrix< T > &mat) |
bool | Invert (number &m) |
template<typename T > | |
bool | Invert (T &m) |
template<typename T > | |
bool | Invert1 (DenseMatrix< T > &mat) |
template<typename T > | |
bool | Invert2 (DenseMatrix< T > &mat) |
bool | Invert3 (DenseMatrix< FixedArray2< double, 3, 3 > > &mat) |
bool | Invert3 (DenseMatrix< VariableArray2< double > > &mat) |
template<typename Matrix_type , typename Vector_type > | |
bool | invert_L (const Matrix_type &A, Vector_type &x, const Vector_type &b) |
template<typename Matrix_type , typename Vector_type > | |
bool | invert_U (const Matrix_type &A, Vector_type &x, const Vector_type &b, const number eps=1e-8) |
template<typename T > | |
bool | InvertNdyn (DenseMatrix< T > &mat) |
template<class iter_t > | |
void | InvertOrientation (Grid &grid, iter_t elemsBegin, iter_t elemsEnd) |
inverts the orientation of all elements between elemsBegin and elemsEnd More... | |
template<class TSelector > | |
void | InvertSelection (TSelector &sel) |
Inverts the selection. More... | |
template<class TSelector , class TIterator > | |
void | InvertSelection (TSelector &sel, TIterator begin, TIterator end) |
Inverts the selection of the elements between begin and end. More... | |
template void | InvertSelection< MGSelector > (MGSelector &) |
template void | InvertSelection< Selector > (Selector &) |
template<std::size_t TDim> | |
void | InvertTensor4 (MathTensor4< TDim, TDim, TDim, TDim > &tens4_out, const MathTensor4< TDim, TDim, TDim, TDim > &tens4) |
template<typename matrix_t , typename vector_t > | |
void | InvMatVecMult_byGivens (matrix_t &A, vector_t &v) |
Multiplication by the inverse using the Givens rotations. More... | |
template<typename TAAPos > | |
AnisotropyState | is_anisotropic (Edge *elem, const TAAPos &aaPos, number thresholdRatio) |
template<typename TAAPos > | |
AnisotropyState | is_anisotropic (Face *elem, const TAAPos &aaPos, number thresholdRatio) |
template<typename TAAPos > | |
static AnisotropyState | is_anisotropic (Hexahedron *hex, const TAAPos &aaPos, number thresholdRatio) |
template<typename TAAPos > | |
static AnisotropyState | is_anisotropic (Prism *p, const TAAPos &aaPos, number thresholdRatio) |
template<typename TAAPos > | |
static AnisotropyState | is_anisotropic (Quadrilateral *q, const TAAPos &aaPos, number thresholdRatio) |
template<typename TAAPos > | |
AnisotropyState | is_anisotropic (Volume *elem, const TAAPos &aaPos, number thresholdRatio) |
template<typename O_t > | |
bool | is_permutation (O_t &o) |
bool | IsBigEndian () |
bool | IsBoundaryEdge (Grid &grid, Edge *e, Grid::face_traits::callback funcIsSurfFace) |
returns true if the edge is connected to exactly one surface face. More... | |
bool | IsBoundaryEdge2D (Grid &grid, Edge *e) |
returns whether an edge lies on the boundary of a 2D grid. More... | |
bool | IsBoundaryEdge3D (Grid &grid, Edge *e) |
returns whether an edge lies on the boundary of a 3D grid. More... | |
template<class TFace > | |
UG_API bool | IsBoundaryFace3D (Grid &grid, TFace *f) |
A wrapper for IsVolumeBoundaryFace. More... | |
bool | IsBoundaryVertex1D (Grid &grid, Vertex *v, Grid::edge_traits::callback cbConsiderEdge=ConsiderAll()) |
returns whether a vertex lies on the boundary of a polygonal chain. More... | |
bool | IsBoundaryVertex2D (Grid &grid, Vertex *v) |
returns whether a vertex lies on the boundary of a 2D grid. More... | |
bool | IsBoundaryVertex3D (Grid &grid, Vertex *v) |
returns true if a vertex lies on the boundary of a 3D grid. More... | |
template<typename TSparseMatrix > | |
bool | IsCloseToBoundary (const TSparseMatrix &A, size_t node, size_t distance) |
gets the neighborhood of a node in the connectivity graph of a SparseMatrix. More... | |
template<class TAAPosVRT > | |
bool | IsDegenerated (Face *f, TAAPosVRT &aaPos, number threshold) |
returns true if the given face is degenerated. More... | |
template<class TAAPosVRT > | |
UG_API bool | IsDegenerated (Face *f, TAAPosVRT &aaPos, number threshold=SMALL) |
returns true if the given face is degenerated. More... | |
template<typename TSparseMatrix > | |
bool | IsDirichletRow (const TSparseMatrix &A, size_t i, size_t alpha) |
Evaluates 'true', iff corresponding row is Dirichlet. More... | |
template<typename TVector > | |
bool | IsFinite (const ParallelVector< TVector > &v) |
template<typename T > | |
bool | IsFiniteAndNotTooBig (const DenseMatrix< T > &m) |
template<typename T > | |
bool | IsFiniteAndNotTooBig (const DenseVector< T > &v) |
template<std::size_t N, std::size_t M, typename T > | |
bool | IsFiniteAndNotTooBig (const MathMatrix< N, M, T > &m) |
template<size_t TRank, size_t N, typename T > | |
bool | IsFiniteAndNotTooBig (const MathTensor< TRank, N, T > &t) |
template<typename TData , size_t N> | |
bool | IsFiniteAndNotTooBig (const MathTensorX< TData, N > &t) |
template<std::size_t N, typename T > | |
bool | IsFiniteAndNotTooBig (const MathVector< N, T > &m) |
template<typename TVector > | |
bool | IsFiniteAndNotTooBig (const ParallelVector< TVector > &v) |
template<typename TData > | |
bool | IsFiniteAndNotTooBig (const std::vector< TData > &t) |
template<typename TVector > | |
bool | IsFiniteAndNotTooBig (const TVector &v, double tooBigValue=1e24) |
bool | IsFiniteAndNotTooBig (double d) |
bool | IsInInterface (IndexLayout::Interface &interface, size_t i) |
bool | IsLittleEndian () |
UG_API bool | IsLonger (const std::string &a, const std::string &b) |
checks whether second string is longer than first string More... | |
bool | IsLonger (const string &a, const string &b) |
bool | IsMemTrackerEnabled () |
bool | IsRegularSurfaceVertex (Grid &grid, Vertex *v) |
returns true if the vertex lies inside a regular surface More... | |
bool | IsShiftChar (char c) |
int | IsSliver (const vector3 &v0, const vector3 &v1, const vector3 &v2, const vector3 &v3, number thresholdRatio) |
template<class TElem > | |
bool | IsSubSurfaceElement (MultiGrid &mg, TElem *e, bool checkSides=false) |
returns true, if the element lies one level below the surface More... | |
bool | IsValidRegistryIdentifier (const std::string &name) |
template<typename T > | |
bool | IsVectorFiniteAndNotTooBig (const T &t) |
static bool | IsVertical (const vector1 &, const vector1 &) |
static bool | IsVertical (const vector2 &from, const vector2 &to) |
static bool | IsVertical (const vector3 &from, const vector3 &to) |
bool | IsVolumeBoundaryFace (Grid &grid, ConstrainedFace *f) |
returns true if the given face is a boundary face. More... | |
bool | IsVolumeBoundaryFace (Grid &grid, ConstrainingFace *f) |
returns true if the given face is a boundary face. More... | |
bool | IsVolumeBoundaryFace (Grid &grid, Face *f) |
returns true if the given face is a boundary face. More... | |
template<class __T > | |
bool | iszero (__T __val) |
template<class TIterDest , class TIterSrc > | |
TIterDest | iterator_cast (const TIterSrc &iter) |
You should avoid casting whenever possible! More... | |
template<typename TStorage > | |
std::string | JuliaString (const DenseMatrix< TStorage > &A, const char *name) |
number | kineticEnergy (TGridFunction &u) |
template<typename TGridFunction > | |
number | L2Distance (TGridFunction &spGridFct1, const char *cmp1, TGridFunction &spGridFct2, const char *cmp2, int quadOrder, const char *subsets) |
computes the l2 distance between two functions More... | |
template<typename TGridFunction > | |
number | L2Distance2 (TGridFunction &spGridFct1, const char *cmp1, TGridFunction &spGridFct2, const char *cmp2, int quadOrder, const char *subsets) |
computes the squared l2 distance between two functions More... | |
template<typename TGridFunction > | |
number | L2Distance2 (TGridFunction &spGridFct1, const char *cmp1, TGridFunction &spGridFct2, const char *cmp2, int quadOrder, const char *subsets, ConstSmartPtr< typename L2Integrand< TGridFunction >::weight_type > spWeight, number avgDist12=0.0) |
computes the squared l2 distance between two functions More... | |
template<typename TGridFunction > | |
number | L2Error (SmartPtr< TGridFunction > spGridFct1, const char *cmp1, SmartPtr< TGridFunction > spGridFct2, const char *cmp2, int quadOrder) |
template<typename TGridFunction > | |
number | L2Error (SmartPtr< TGridFunction > spGridFct1, const char *cmp1, SmartPtr< TGridFunction > spGridFct2, const char *cmp2, int quadOrder, const char *subsets) |
template<typename TGridFunction > | |
number | L2Error (SmartPtr< UserData< number, TGridFunction::dim > > spExactSol, SmartPtr< TGridFunction > spGridFct, const char *cmp, number time, int quadOrder) |
template<typename TGridFunction > | |
number | L2Error (SmartPtr< UserData< number, TGridFunction::dim > > spExactSol, SmartPtr< TGridFunction > spGridFct, const char *cmp, number time, int quadOrder, const char *subsets) |
template<typename TGridFunction > | |
number | L2Error (SmartPtr< UserData< number, TGridFunction::dim > > spExactSol, TGridFunction &gridFct, const char *cmp, number time, int quadOrder, const char *subsets) |
computes the l2 error function on the whole domain or on some subsets More... | |
template<typename TGridFunction > | |
number | L2Norm (SmartPtr< TGridFunction > spGridFct, const char *cmp, int quadOrder) |
template<typename TGridFunction > | |
number | L2Norm (SmartPtr< TGridFunction > spGridFct, const char *cmp, int quadOrder, const char *subsets) |
template<typename TGridFunction > | |
number | L2Norm (TGridFunction &gridFct, const char *cmp, int quadOrder) |
template<typename TGridFunction > | |
number | L2Norm (TGridFunction &u, const char *cmp, int quadOrder, const char *subsets) |
template<typename TGridFunction > | |
number | L2Norm2 (TGridFunction &u, const char *cmp, int quadOrder, const char *subsets) |
template<typename TGridFunction > | |
number | L2Norm2 (TGridFunction &u, const char *cmp, int quadOrder, const char *subsets, ConstSmartPtr< typename L2Integrand< TGridFunction >::weight_type > spWeight) |
size_t | LagrangeNumDoFOnSub (const ReferenceObjectID elem, const ReferenceObjectID sub, const size_t p) |
returns number of DoFs Subelement for an element type and order p More... | |
size_t | LagrangeNumDoFs (const ReferenceObjectID elem, const size_t p) |
returns number of DoFs on element type for order p More... | |
template<class TIterator , class AAPosVRT > | |
void | LaplacianSmooth (Grid &grid, TIterator vrtsBegin, TIterator vrtsEnd, AAPosVRT &aaPos, number alpha, int numIterations) |
number | LegendrePoly (size_t k, number x) |
UG_API size_t | LevenshteinDistance (const std::string &s1, const std::string &s2) |
Calculate Levenshtein Distance of to strings. More... | |
size_t | LevenshteinDistance (const string &s1, const string &s2) |
DebugID | LIB_ALG_AMG ("LIB_ALG_AMG") |
DebugID | LIB_ALG_LINEAR_OPERATOR ("LIB_ALG_LINEAR_OPERATOR") |
DebugID | LIB_ALG_LINEAR_SOLVER ("LIB_ALG_LINEAR_SOLVER") |
DebugID | LIB_ALG_MATRIX ("LIB_ALG_MATRIX") |
DebugID | LIB_ALG_VECTOR ("LIB_ALG_VECTOR") |
DebugID | LIB_DISC ("LIB_DISC") |
DebugID | LIB_DISC_ASSEMBLE ("LIB_DISC_ASSEMBLE") |
DebugID | LIB_DISC_D3F ("LIB_DISC_D3F") |
DebugID | LIB_DISC_DISCRETE_FUNCTION ("LIB_DISC_DISCRETE_FUNCTION") |
DebugID | LIB_DISC_LINKER ("LIB_DISC_LINKER") |
DebugID | LIB_DISC_MULTIGRID ("LIB_DISC_MULTIGRID") |
DebugID | LIB_DISC_NEWTON ("LIB_DISC_NEWTON") |
DebugID | LIB_DISC_OPERATOR_INVERSE ("LIB_DISC_OPERATOR_INVERSE") |
DebugID | LIB_DISC_OUTPUT ("LIB_DISC_OUTPUT") |
DebugID | LIB_DISC_TRANSFER ("LIB_DISC_TRANSFER") |
DebugID | LIB_GRID ("LIB_GRID") |
DebugID | LIB_GRID_REFINER ("LIB_GRID_REFINER") |
DebugID | LIB_PCL ("LIB_PCL") |
bool | LiesOnBoundary (Grid &grid, Edge *e) |
returns true, if the edge lies on a 2d or 3d boundary More... | |
template<class TFace > | |
UG_API bool | LiesOnBoundary (Grid &grid, TFace *f) |
A wrapper for IsVolumeBoundaryFace. More... | |
bool | LiesOnBoundary (Grid &grid, Vertex *v) |
returns true, if the vertex lies on a 1d, 2d or 3d boundary More... | |
template<class vector_t > | |
bool | LineBoxIntersection (const vector_t &v1, const vector_t &v2, const vector_t &boxMin, const vector_t &boxMax) |
checks whether the given line-segment (v1, v2) intersect the given box. More... | |
template<class vector_t > | |
bool | LineLineIntersection2d (vector_t &vOut, number &t0Out, number &t1Out, const vector_t &from0, const vector_t &to0, const vector_t &from1, const vector_t &to1, const number threshold=0) |
calculates the intersection of a two lines in 2d More... | |
bool | LineLineIntersection3d (vector3 &aOut, vector3 &bOut, const vector3 &a1, const vector3 &a2, const vector3 &b1, const vector3 &b2) |
intersects two 3d line segments More... | |
template<class vector_t > | |
bool | LineLineProjection (number &t1Out, number &t2Out, const vector_t &a1, const vector_t &a2, const vector_t &b1, const vector_t &b2) |
calculates the closest point between the rays through the given lines. More... | |
template<class vector_t > | |
int | LineSphereIntersection (number &s1Out, number &s2Out, const vector_t &v1, const vector_t &v2, const vector_t ¢er, number radius) |
template<typename TDomain > | |
static void | LoadAndRefineDomain (TDomain &domain, const char *filename, int numRefs) |
template void | LoadDomain< Domain1d > (Domain1d &domain, const char *filename) |
template void | LoadDomain< Domain1d > (Domain1d &domain, const char *filename, int procId) |
template void | LoadDomain< Domain2d > (Domain2d &domain, const char *filename) |
template void | LoadDomain< Domain2d > (Domain2d &domain, const char *filename, int procId) |
template void | LoadDomain< Domain3d > (Domain3d &domain, const char *filename) |
template void | LoadDomain< Domain3d > (Domain3d &domain, const char *filename, int procId) |
template<class TAPos > | |
static bool | LoadGrid (Grid &grid, ISubsetHandler *psh, const char *filename, TAPos &aPos, int procId) |
This method calls specific load routines or delegates loading to LoadGrid3d. More... | |
template<class TAPos > | |
static bool | LoadGrid (Grid &grid, SPProjectionHandler *ph, size_t &num_ph, ISubsetHandler *psh, std::vector< std::string > additionalSHNames, std::vector< SmartPtr< ISubsetHandler >> ash, const char *filename, TAPos &aPos, int procId) |
static bool | LoadGrid3d (Grid &grid, ISubsetHandler *psh, const char *filename, APosition1 &aPos) |
static bool | LoadGrid3d (Grid &grid, ISubsetHandler *psh, const char *filename, APosition2 &aPos) |
static bool | LoadGrid3d (Grid &grid, ISubsetHandler *psh, const char *filename, APosition3 &aPos) |
static bool | LoadGrid3d_IMPL (Grid &grid, ISubsetHandler *pSH, const char *filename, AVector3 &aPos) |
bool | LoadGridFrom2DF (Grid &grid, const char *filename, ISubsetHandler *psh, AVector3 &aPos) |
Reads .2df files. 'psh' is optional and may be NULL. More... | |
bool | LoadGridFromART (Grid &grid, const char *filename, ISubsetHandler *pSH=NULL, AVector3 &aPos=aPosition) |
loads a grid from art More... | |
bool | LoadGridFromASC (Grid &grid, const char *filename, AVector3 &aPos) |
bool | LoadGridFromDUMP (Grid &grid, const char *filename, ISubsetHandler *pSH=NULL, AVector3 &aPos=aPosition) |
loads dump-files. More... | |
bool | LoadGridFromELE (Grid &grid, const char *filename, ISubsetHandler *pSH, APosition &aPos) |
template bool | LoadGridFromFile (Grid &, const char *, AVector1 &, int) |
template bool | LoadGridFromFile (Grid &, const char *, AVector2 &, int) |
template bool | LoadGridFromFile (Grid &, const char *, AVector3 &, int) |
template bool | LoadGridFromFile (Grid &, ISubsetHandler &, const char *, AVector1 &, int) |
template bool | LoadGridFromFile (Grid &, ISubsetHandler &, const char *, AVector2 &, int) |
template bool | LoadGridFromFile (Grid &, ISubsetHandler &, const char *, AVector3 &, int) |
template bool | LoadGridFromFile (Grid &, SPProjectionHandler &, size_t &, ISubsetHandler &, std::vector< std::string >, std::vector< SmartPtr< ISubsetHandler >>, const char *, AVector1 &, int) |
template bool | LoadGridFromFile (Grid &, SPProjectionHandler &, size_t &, ISubsetHandler &, std::vector< std::string >, std::vector< SmartPtr< ISubsetHandler >>, const char *, AVector2 &, int) |
template bool | LoadGridFromFile (Grid &, SPProjectionHandler &, size_t &, ISubsetHandler &, std::vector< std::string >, std::vector< SmartPtr< ISubsetHandler >>, const char *, AVector3 &, int) |
template<class TAPos > | |
bool | LoadGridFromFile (Grid &grid, const char *filename, TAPos &aPos, int procId) |
template<class TAPos > | |
bool | LoadGridFromFile (Grid &grid, ISubsetHandler &sh, const char *filename, TAPos &aPos, int procId) |
template<class TAPos > | |
bool | LoadGridFromFile (Grid &grid, SPProjectionHandler &ph, size_t &num_ph, ISubsetHandler &sh, vector< string > additionalSHNames, vector< SmartPtr< ISubsetHandler >> ash, const char *filename, TAPos &aPos, int procId) |
bool | LoadGridFromGRDECL (Grid &grid, const char *filename, AVector3 &aPos=aPosition) |
loads a grid from txt More... | |
bool | LoadGridFromLGB (Grid &grid, const char *filename, ISubsetHandler **ppSH, int numSHs, ISelector **ppSel, int numSels, ProjectionHandler *pPH, APosition aPos) |
bool | LoadGridFromLGB (Grid &grid, const char *filename, ISubsetHandler **ppSH, int numSHs, ProjectionHandler *pPH, APosition aPos) |
bool | LoadGridFromMSH (Grid &grid, const char *filename, ISubsetHandler *psh=NULL, AVector3 &aPos=aPosition) |
loads a grid from the GMSH ascii .msh format More... | |
bool | LoadGridFromOBJ (Grid &grid, const char *filename, AVector3 &aPos, AVector2 *paTexCoord, ISubsetHandler *pSubsetHandler, std::vector< OBJMaterial > *pvMaterials) |
Loads a file from a wavefront '.obj' file. Fills optional subset-infos. More... | |
bool | LoadGridFromSMESH (Grid &grid, const char *filename, AVector3 &aPos, ISubsetHandler *psh) |
bool | LoadGridFromSTL (Grid &grid, const char *filename, ISubsetHandler *pSH=NULL, AVector3 &aPos=aPosition, AVector3 &aNormFACE=aNormal) |
loads stl-ascii-files. More... | |
bool | LoadGridFromSTL_ASCII (Grid &grid, const char *filename, ISubsetHandler *pSH=NULL, AVector3 &aPos=aPosition, AVector3 &aNormFACE=aNormal) |
bool | LoadGridFromSTL_BINARY (Grid &grid, const char *filename, ISubsetHandler *pSH=NULL, AVector3 &aPos=aPosition, AVector3 &aNormFACE=aNormal) |
bool | LoadGridFromSWC (Grid &g, ISubsetHandler *pSH, const char *fileName, AVector3 &aPos) |
bool | LoadGridFromTXT (Grid &grid, const char *filename, AVector3 &aPos=aPosition) |
loads a grid from txt More... | |
bool | LoadGridFromUGX (Grid &grid, ISubsetHandler &sh, const char *filename) |
Reads a grid to an ugx file. More... | |
template<class TAPosition > | |
bool | LoadGridFromUGX (Grid &grid, ISubsetHandler &sh, const char *filename, APosition &aPos) |
Reads a grid to an ugx file. internally uses GridReaderUGX. More... | |
template<class TAPosition > | |
bool | LoadGridFromUGX (Grid &grid, ISubsetHandler &sh, const char *filename, TAPosition &aPos) |
template<class TAPosition > | |
bool | LoadGridFromUGX (Grid &grid, SPProjectionHandler &ph, size_t &num_ph, ISubsetHandler &sh, std::vector< std::string > additionalSHNames, std::vector< SmartPtr< ISubsetHandler >> ash, const char *filename, TAPosition &aPos) |
bool | LoadGridFromVTU (Grid &grid, ISubsetHandler &sh, const char *filename) |
Reads a grid to a vtu (vtk unstructured mesh) file. More... | |
template<class TAPosition > | |
bool | LoadGridFromVTU (Grid &grid, ISubsetHandler &sh, const char *filename, APosition &aPos) |
Reads a grid to an vtu (vtk) file. internally uses GridReaderVTK. More... | |
template<class TAPosition > | |
bool | LoadGridFromVTU (Grid &grid, ISubsetHandler &sh, const char *filename, TAPosition &aPos) |
void | LoadHeightfieldFromASC (Heightfield &hfield, const char *filename) |
bool | LoadMarkerPointsFromFile (MarkerPointManager &manager, const char *filename) |
Loads marker points from a file. More... | |
UG_API bool | LoadPlugins (const char *pluginPath, std::string parentGroup, bridge::Registry ®, bool bPrefixGroup=false) |
Loads all plugins in the given path. More... | |
bool | LoadPlugins (const char *pluginPath, string parentGroup, bridge::Registry ®, bool bPrefixGroup) |
template<typename TGridFunction > | |
void | LoadVector (TGridFunction &u, const char *filename) |
void | LogIndexLayout (IndexLayout &layout, int depth=0) |
Logs the internals of an index layout. More... | |
void | LogIndexLayoutOnAllProcs (IndexLayout &layout, int depth=0) |
logs index infos for all procs successively More... | |
template<typename TAAPos > | |
AnisotropyState | long_edges_of_anisotropic_elem (Edge *elem, Grid &grid, const TAAPos &aaPos, number thresholdRatio, std::vector< Edge * > &longEdges) |
template<typename TAAPos > | |
AnisotropyState | long_edges_of_anisotropic_elem (Face *elem, Grid &grid, const TAAPos &aaPos, number thresholdRatio, std::vector< Edge * > &longEdges) |
template<typename TAAPos > | |
AnisotropyState | long_edges_of_anisotropic_elem (Volume *elem, Grid &grid, const TAAPos &aaPos, number thresholdRatio, std::vector< Edge * > &longEdges) |
template<typename matrix_t > | |
bool | LUDecomp (DenseMatrix< matrix_t > &A, size_t *pInterchange) |
template<typename matrix_t > | |
bool | LUDecompIKJ (DenseMatrix< matrix_t > &A, size_t *pInterchange) |
DebugID | MAIN ("MAIN") |
template<typename TAlgebra > | |
std::tuple< dirichlet_iterator< TAlgebra >, dirichlet_iterator< TAlgebra > > | make_dirichlet_iterator (typename TAlgebra::matrix_type &mat) |
template<typename TAlgebra > | |
std::tuple< non_dirichlet_iterator< TAlgebra >, non_dirichlet_iterator< TAlgebra > > | make_non_dirichlet_iterator (typename TAlgebra::matrix_type &mat) |
template<typename matrix_type > | |
bool | MakeConsistent (const ParallelMatrix< matrix_type > &_mat, ParallelMatrix< matrix_type > &newMat) |
template bool | MakeDelaunay (DelaunayInfo< Grid::VertexAttachmentAccessor< AVector3 > > &) |
template<class TAAPos > | |
bool | MakeDelaunay (DelaunayInfo< TAAPos > &info) |
template<class TAPos > | |
SPIGeometry3d | MakeGeometry3d (Grid &grid, TAPos aPos) |
Utility method to construct an IGeometry3d for a given grid and position attachment. More... | |
GeomObjID | MakeGeomObjID (int procRank, size_t localGeomObjID) |
Can be used to construct a GeomObjID from a proc-rank and a local id. More... | |
template<class TElem > | |
void | MakeSubsetsConsecutive (SubsetHandler &sh) |
moves subsets so that no empty subset of type TElem is between filled ones. More... | |
UG_API std::string | MakeTmpFile (std::string filename, const std::string &extension, bool &bSuccess) |
string | MakeTmpFile (string filename, const string &extension, bool &bSuccess) |
!!! Serial i/o version !!! More... | |
static SmartPtr< vector1 > | MakeVec (number x) |
static SmartPtr< vector2 > | MakeVec (number x, number y) |
static SmartPtr< vector3 > | MakeVec (number x, number y, number z) |
static SmartPtr< vector4 > | MakeVec (number x, number y, number z, number w) |
void | MapLagrangeMultiIndexQuad (std::vector< size_t > &vOrientOffset, const int id0, bool sameOrientation, const size_t pOuter) |
void | MapLagrangeMultiIndexTriangle (std::vector< size_t > &vOrientOffset, const int id0, bool sameOrientation, const size_t pOuter) |
template<typename TStorage > | |
void | MaplePrint (const DenseMatrix< TStorage > &A, const char *name) |
template<class TElem > | |
static void | mark_if_periodic (IRefiner &ref, TElem *e) |
template<typename TElem > | |
static void | MarkAllElemsForAssemblyButHSlaves (Grid &grid, BoolMarker &bMarker) |
template<typename TAlgebra > | |
static void | MarkAllElemsForAssemblyButHSlaves (SmartPtr< IAssemble< TAlgebra > > ass, Grid &grid) |
void | MarkAllFromInterface (std::vector< bool > &mark, const IndexLayout::Interface &interface) |
template<class T > | |
void | MarkAllFromInterface (std::vector< T > &mark, const IndexLayout::Interface &interface, const T &default_val) |
void | MarkAllFromLayout (std::vector< bool > &mark, const IndexLayout &layout) |
template<class T > | |
void | MarkAllFromLayout (std::vector< T > &mark, const IndexLayout &layout, const T &default_val) |
template<typename TDomain > | |
void | MarkAlongSurface (SmartPtr< IRefiner > refiner, SmartPtr< TDomain > domain, const std::vector< std::string > &surfaceSubsets, const std::vector< std::string > &volumeSubsets) |
Mark elements neighboring a surface. More... | |
template<typename TDomain > | |
void | MarkAnisotropic (SmartPtr< IRefiner > refiner, SmartPtr< TDomain > domain, number thresholdRatio) |
Mark all anisotropic elements of the surface grid for ansiotropic refinement. More... | |
template<class TDomain > | |
void | MarkAnisotropic_LongEdges (TDomain &dom, IRefiner &refiner, number minLen) |
Marks all elements for anisotropic refienment and also marks all edges > minLen. More... | |
template<typename TDomain > | |
void | MarkAnisotropicOnlyX (SmartPtr< IRefiner > refiner, SmartPtr< TDomain > domain, number thresholdRatio) |
Mark all elements that are anisotropic in direction of the x-axis for ansiotropic refinement. More... | |
template<class TVertexIterator , class TAPosition > | |
UG_API void | MarkCorners (Grid &grid, ISubsetHandler &sh, TVertexIterator vrtsBegin, TVertexIterator vrtsEnd, Grid::edge_traits::callback cbPathEdge, int subsetIndex, number angle, TAPosition &aPos) |
template<class TVertexIterator , class TAPosition > | |
void | MarkCorners (Grid &grid, ISubsetHandler &sh, TVertexIterator vrtsBegin, TVertexIterator vrtsEnd, Grid::edge_traits::callback cbPathEdge, int subsetIndex, number angle, TAPosition &aPos) |
template<class TEdgeIterator > | |
void | MarkCreaseEdges (Grid &grid, ISubsetHandler &sh, TEdgeIterator edgesBegin, TEdgeIterator edgesEnd, int subsetIndex, number angle, APosition &aPos, ANormal *paFaceNormal) |
template<class TEdgeIterator > | |
UG_API void | MarkCreaseEdges (Grid &grid, ISubsetHandler &sh, TEdgeIterator edgesBegin, TEdgeIterator edgesEnd, int subsetIndex, number angle, APosition &aPos=aPosition, ANormal *paFaceNormal=NULL) |
template<typename TElem > | |
void | MarkElements (MultiGrid::AttachmentAccessor< TElem, ug::Attachment< number > > &aaError, IRefiner &refiner, ConstSmartPtr< DoFDistribution > dd, number TOL, number refineFrac, number coarseFrac, int maxLevel) |
marks elements according to an attached error value field More... | |
template<typename TElem > | |
void | MarkElementsAbsolute (MultiGrid::AttachmentAccessor< TElem, ug::Attachment< number > > &aaError, IRefiner &refiner, ConstSmartPtr< DoFDistribution > dd, number refTol, number coarsenTol, int minLevel, int maxLevel, bool refTopLvlOnly=false) |
marks elements according to an attached error value field More... | |
template<typename TElem > | |
void | MarkElementsForCoarsening (MultiGrid::AttachmentAccessor< TElem, ug::Attachment< number > > &aaError, IRefiner &refiner, ConstSmartPtr< DoFDistribution > dd, number TOL, number safety, int minLevel=0) |
marks elements for coarsening according to an attached error value field More... | |
template<typename TElem > | |
void | MarkElementsForRefinement (MultiGrid::AttachmentAccessor< TElem, ug::Attachment< number > > &aaError, IRefiner &refiner, ConstSmartPtr< DoFDistribution > dd, number tol, int maxLevel) |
marks elements according for refinement to an attached error value field More... | |
void | MarkFixedCreaseVertices (Grid &grid, SubsetHandler &sh, int creaseSI, int fixedSI) |
template<typename TDomain , typename TAlgebra > | |
void | MarkForAdaption_AbsoluteGradientIndicator (IRefiner &refiner, GridFunction< TDomain, TAlgebra > &u, const char *fctName, number refTol, number coarsenTol, int minLvl, int maxLevel) |
template<typename TDomain , typename TAlgebra > | |
void | MarkForAdaption_AbsoluteGradientJumpIndicator (IRefiner &refiner, GridFunction< TDomain, TAlgebra > &u, const char *fctName, number refTol, number coarsenTol, int minLvl, int maxLevel) |
template<class TDomain , class TElem > | |
void | MarkForAdaption_ElementsContainingPoint (TDomain &dom, IRefiner &refiner, number x, number y, number z, std::string markType) |
template<class TDomain > | |
void | MarkForAdaption_ElementsTouchingSubset (TDomain &dom, IRefiner &refiner, ISubsetHandler &sh, int subsetIndex, std::string markType) |
template<class TDomain > | |
void | MarkForAdaption_ElementsTouchingSubsets (TDomain &dom, IRefiner &refiner, const char *subsets, std::string markType) |
template<typename TDomain , typename TAlgebra > | |
void | MarkForAdaption_GradientAverage (IRefiner &refiner, SmartPtr< GridFunction< TDomain, TAlgebra > > u, const char *cmp, number refFrac, int minLvl, int maxLvl) |
template<typename TDomain , typename TAlgebra > | |
void | MarkForAdaption_GradientIndicator (IRefiner &refiner, GridFunction< TDomain, TAlgebra > &u, const char *fctName, number TOL, number refineFrac, number coarseFrac, int maxLevel) |
template<typename TDomain , typename TAlgebra > | |
void | MarkForAdaption_GradientJump (IRefiner &refiner, SmartPtr< GridFunction< TDomain, TAlgebra > > u, const char *cmp, number refFrac, int minLvl, int maxLvl, std::string jumpType) |
template<typename TDomain , typename TAlgebra > | |
void | MarkForAdaption_GradientJumpIndicator (IRefiner &refiner, GridFunction< TDomain, TAlgebra > &u, const char *fctName, number TOL, number refineFrac, number coarseFrac, int maxLevel) |
template<typename TDomain , typename TAlgebra > | |
void | MarkForAdaption_L2ErrorExact (IRefiner &refiner, SmartPtr< GridFunction< TDomain, TAlgebra > > u, SmartPtr< UserData< number, TDomain::dim > > spExactSol, const char *cmp, number minL2Error, number maxL2Error, number refFrac, int minLvl, int maxLvl, number time, int quadOrder) |
template<typename TDomain , typename TAlgebra > | |
number | MarkForAdaption_ResidualErrorP1Absolute (IRefiner &refiner, SmartPtr< GridFunction< TDomain, TAlgebra > > u, SmartPtr< UserData< number, TDomain::dim > > f, const char *cmp, number time, number refTol, number coarsenTol, int maxLvl, int quadOrder, std::string quadType, bool refTopLvlOnly=false) |
template<typename TDomain , typename TAlgebra > | |
void | MarkForAdaption_ResidualErrorP1Relative (IRefiner &refiner, SmartPtr< GridFunction< TDomain, TAlgebra > > u, SmartPtr< UserData< number, TDomain::dim > > f, const char *cmp, number time, number refFrac, int minLvl, int maxLvl, int quadOrder, std::string quadType) |
template<class TDomain > | |
void | MarkForAdaption_VerticesInCube (TDomain &dom, SmartPtr< IRefiner > refiner, const typename TDomain::position_type &min, const typename TDomain::position_type &max, std::string markType) |
Marks all elements which have vertices in the given d-dimensional cube. More... | |
template<class TDomain > | |
void | MarkForAdaption_VerticesInSphere (TDomain &dom, SmartPtr< IRefiner > refiner, const typename TDomain::position_type ¢er, number radius, std::string markType) |
template<class TDomain > | |
void | MarkForAdaption_VerticesInSphereMaxLvl (TDomain &dom, SmartPtr< IRefiner > refiner, const typename TDomain::position_type ¢er, number radius, std::string markType, int maxLvl) |
Marks all vertices in the given d-dimensional sphere. More... | |
template<class TRef , class TIter , class TAAPos > | |
void | MarkForAnisotropicRefinement (Grid &grid, TRef &ref, number minEdgeRatio, TIter elemsBegin, TIter elemsEnd, TAAPos aaPos) |
template<class TDomain > | |
void | MarkForCoarsen_ElementsByLuaCallback (TDomain &dom, SmartPtr< IRefiner > refiner, double time, const char *luaCallbackName) |
template<typename TDomain , typename TAlgebra > | |
void | MarkForCoarsenening_SurfaceLayer (const GridFunction< TDomain, TAlgebra > &u, IRefiner &refiner) |
Mark surface layer for coarsening. More... | |
static void | MarkForRefinement_All (SmartPtr< IRefiner > ref) |
Marks all elements from refinement. More... | |
template<class TElem > | |
static void | MarkForRefinement_AllAnisotropic (SmartPtr< IRefiner > ref) |
template<class TDomain > | |
void | MarkForRefinement_AnisotropicDirection (TDomain &dom, IRefiner &refiner, MathVector< TDomain::dim > &dir, number minEdgeRatio) |
template<class TDomain > | |
void | MarkForRefinement_AnisotropicElements (TDomain &dom, IRefiner &refiner, number minEdgeRatio) |
template<class TDomain > | |
void | MarkForRefinement_CloseToSurface (TDomain &dom, SmartPtr< IRefiner > refiner, double time, size_t maxLvl, const TDomain &surfaceDomain) |
template<class TDomain > | |
void | MarkForRefinement_ContainsSurfaceNode (TDomain &dom, SmartPtr< IRefiner > refiner, double time, size_t maxLvl, const TDomain &surfaceDomain) |
template<class TDomain > | |
void | MarkForRefinement_EdgeDirection (TDomain &dom, IRefiner &refiner, MathVector< TDomain::dim > &dir, number minDeviationAngle, number maxDeviationAngle, bool selectFlipped) |
template<class TDomain > | |
void | MarkForRefinement_ElementsByLuaCallback (TDomain &dom, SmartPtr< IRefiner > refiner, double time, size_t maxLvl, const char *luaCallbackName) |
template<class TDomain , class TElem > | |
void | MarkForRefinement_ElementsInSphere (TDomain &dom, SmartPtr< IRefiner > refiner, const typename TDomain::position_type ¢er, number radius) |
Marks all elements which lie completely in the given d-dimensional sphere. More... | |
template<class TDomain , class TSubsetHandler , class TElem > | |
void | MarkForRefinement_ElementsInSubset (TDomain &dom, IRefiner &refiner, TSubsetHandler &sh, int subsetIndex) |
template<class elem_t > | |
void | MarkForRefinement_SubsetInterfaceElements (IRefiner &refiner, ISubsetHandler &sh) |
template<class TDomain , class TElem > | |
void | MarkForRefinement_SubsetInterfaceElements (TDomain &dom, IRefiner &refiner) |
template<class TDomain > | |
void | MarkForRefinement_VerticesInCube (TDomain &dom, SmartPtr< IRefiner > refiner, const typename TDomain::position_type &min, const typename TDomain::position_type &max) |
template<class TDomain > | |
void | MarkForRefinement_VerticesInSphere (TDomain &dom, SmartPtr< IRefiner > refiner, const typename TDomain::position_type ¢er, number radius) |
template<class TRef , class TEdgeIter , class TAAPos > | |
void | MarkForRefinementByDirection (TRef &ref, TAAPos aaPos, TEdgeIter edgesBegin, TEdgeIter edgesEnd, const typename TAAPos::ValueType &dir, number minDeviationAngle, number maxDeviationAngle, bool selectFlipped) |
template<typename TDomain > | |
void | MarkGlobal (SmartPtr< IRefiner > refiner, SmartPtr< TDomain > domain) |
Mark all surface elements for refinement. More... | |
template<typename TSparseMatrix > | |
void | MarkNeighbors (const TSparseMatrix &A, size_t node, size_t depth, std::vector< bool > &bVisited) |
void | MarkNeighborsForAnisotropicRefinement (IRefiner &refiner, bool sideNbrsOnly) |
void | MarkNeighborsForFullRefinement (IRefiner &refiner, bool sideNbrsOnly) |
template<typename TGridFunction , typename TBaseElem > | |
unsigned long | MarkOutOfRangeElems (SmartPtr< IRefiner > refiner, ConstSmartPtr< TGridFunction > u, size_t cmp, number lowerBnd, number upperBnd) |
template<typename TGridFunction > | |
void | MarkOutOfRangeElems (SmartPtr< IRefiner > refiner, ConstSmartPtr< TGridFunction > u, size_t cmp, number lowerBnd, number upperBnd) |
template<typename TDomain > | |
void | MarkSubsets (SmartPtr< IRefiner > refiner, SmartPtr< TDomain > domain, const std::vector< std::string > &vSubset) |
Mark all surface elements of specific subsets for refinement. More... | |
template<typename matrix_t > | |
void | MatAdd (matrix_t &mOut, const matrix_t &m, typename matrix_t::value_type s) |
Add a scalar to a matrix (componentwise) More... | |
template<typename matrix_t > | |
void | MatAdd (matrix_t &mOut, const matrix_t &m1, const matrix_t &m2) |
adds two matrices and stores the result in a third one More... | |
template<typename matrix_type > | |
void | MatAdd (matrix_type &M, number alpha1, const matrix_type &A, number alpha2, const matrix_type &B) |
Calculates M = A + B. More... | |
template<typename X , typename Y , typename M > | |
void | MatAdd (MatrixOperator< M, X, Y > &res, number alpha1, MatrixOperator< M, X, Y > &A1, number alpha2, MatrixOperator< M, X, Y > &A2) |
template<typename TAlgebra > | |
void | MatAdditiveToConsistentOnDiag (typename TAlgebra::matrix_type *pMat, const IndexLayout &masterLayout, const IndexLayout &slaveLayout, pcl::InterfaceCommunicator< IndexLayout > *pCom=NULL) |
changes parallel storage type from additive to consistent on diagonal of a matrix More... | |
template<typename matrix_type > | |
void | MatAddNonDirichlet (matrix_type &M, number alpha1, const matrix_type &A, number alpha2, const matrix_type &B) |
Calculates M = A + B. More... | |
template<typename matrix_t > | |
matrix_t::value_type | MatContraction (const matrix_t &m1, const matrix_t &m2) |
template<typename matrix_t > | |
matrix_t::value_type | MatDeviatorTrace (const matrix_t &m, matrix_t &dev) |
template<typename T1 > | |
double | matDiagMax (const DenseMatrix< T1 > &mat) |
double | matDiagMax (const double d) |
template<typename matrix_t > | |
void | MatDiagSet (matrix_t &mInOut, typename matrix_t::value_type s) |
Set diagonal entries of a matrix to a scalar (other entries are not changed) More... | |
template<typename matrix_t > | |
void | MatDivide (matrix_t &mOut, const matrix_t &m, typename matrix_t::value_type s) |
Devide a matrix by a scalar (componentwise) More... | |
template<typename TMatrix , typename TVector > | |
void | MatExtractDiagOnLayout (TVector *pDiagVector, const TMatrix *pMatrix, const IndexLayout &Layout) |
extracts diagonal of a matrix for interface indices More... | |
template<typename matrix_t > | |
matrix_t::value_type | MatFrobeniusNorm (matrix_t &m) |
template<typename matrix_t > | |
matrix_t::value_type | MatFrobeniusNormSq (matrix_t &m) |
template<typename matrix_t , typename vector_t > | |
void | MatHouseholder (matrix_t &mOut, const vector_t &orthoVec) |
template<typename matrix_t > | |
void | MatIdentity (matrix_t &mOut) |
Fills the matrix with the identity matrix. More... | |
template<typename X , typename Y , typename M > | |
void | MatIdentity (MatrixOperator< M, X, Y > &opOut) |
template<typename matrix_t > | |
matrix_t::value_type | MatInftyNorm (matrix_t &m) |
template<typename TStorage > | |
std::string | MatlabString (const DenseMatrix< TStorage > &A, const char *name) |
template<typename matrix_t > | |
matrix_t::value_type | MatMaxNorm (matrix_t &m) |
template<typename vector_t , typename matrix_t > | |
void | MatMult (DenseVector< vector_t > &dest, const number &beta1, const DenseMatrix< matrix_t > &A1, const DenseVector< vector_t > &w1) |
calculates dest = beta1 * A1 * w1; More... | |
template<typename vector_t , typename matrix_t > | |
void | MatMult (DenseVector< vector_t > &dest, const number &beta1, const DenseMatrixInverse< matrix_t > &A1, const DenseVector< vector_t > &w1) |
calculates dest = beta1 * A1; More... | |
template<typename vector_t , typename matrix_t > | |
bool | MatMult (vector_t &dest, const number &beta1, const matrix_t &A1, const vector_t &w1) |
calculates dest = beta1 * A1; More... | |
template<typename vector_t , typename matrix_t > | |
void | MatMultAdd (DenseVector< vector_t > &dest, const number &alpha1, const DenseVector< vector_t > &v1, const number &beta1, const DenseMatrix< matrix_t > &A1, const DenseVector< vector_t > &w1) |
calculates dest = alpha1*v1 + beta1 * A1 *w1; More... | |
template<typename vector_t , typename matrix_t > | |
void | MatMultAdd (DenseVector< vector_t > &dest, const number &alpha1, const DenseVector< vector_t > &v1, const number &beta1, const DenseMatrixInverse< matrix_t > &A1, const DenseVector< vector_t > &w1) |
calculates dest = alpha1*v1 + beta1 * A1 *w1; More... | |
template<typename vector_t , typename matrix_t > | |
bool | MatMultAdd (vector_t &dest, const number &alpha1, const vector_t &v1, const number &alpha2, const vector_t &v2, const number &beta1, const matrix_t &A1, const vector_t &w1) |
calculates dest = alpha1*v1 + alpha2*v2 + beta1 * A1 *w1; More... | |
template<typename vector_t , typename matrix_t > | |
bool | MatMultAdd (vector_t &dest, const number &alpha1, const vector_t &v1, const number &beta1, const matrix_t &A1, const vector_t &w1) |
calculates dest = alpha1*v1 + beta1 * A1 *w1; More... | |
template<typename vector_t , typename matrix_t > | |
bool | MatMultAdd (vector_t &dest, const number &alpha1, const vector_t &v1, const number &beta1, const matrix_t &A1, const vector_t &w1, const number &beta2, const matrix_t &A2, const vector_t &w2) |
calculates dest = alpha1*v1 + beta1 * A1 *w1 + beta2 * A2*w2; More... | |
template<typename vector_t , typename matrix_t > | |
bool | MatMultAdd (vector_t &dest, const number &beta1, const matrix_t &A1, const vector_t &w1, const number &beta2, const matrix_t &A2, const vector_t &w2) |
calculates dest = beta1 * A1 *w1 + beta2 * A2*w2; More... | |
template<typename matrix_type , typename vector_type > | |
bool | MatMultAddDirect (ParallelVector< vector_type > &dest, const number &alpha1, const ParallelVector< vector_type > &v1, const number &alpha2, const ParallelVector< vector_type > &v2, const number &beta1, const ParallelMatrix< matrix_type > &A1, const ParallelVector< vector_type > &w1) |
template<typename matrix_type , typename vector_type > | |
bool | MatMultAddDirect (ParallelVector< vector_type > &dest, const number &alpha1, const ParallelVector< vector_type > &v1, const number &beta1, const ParallelMatrix< matrix_type > &A1, const ParallelVector< vector_type > &w1) |
template<typename vector_t , typename matrix_t > | |
bool | MatMultAddDirect (vector_t &dest, const number &beta1, const matrix_t &A1, const vector_t &w1, const number &alpha1, const vector_t &v1) |
calculates dest = alpha1*v1 + beta1 * A1 *w1; More... | |
template<typename vector_t , typename matrix_t > | |
bool | MatMultAddDirect (vector_t &dest, const number &beta1, const matrix_t &A1, const vector_t &w1, const number &alpha1, const vector_t &v1, const number &alpha2, const vector_t &v2) |
calculates dest = alpha1*v1 + beta1 * A1 *w1 + alpha2*v2; More... | |
template<typename vector_t , typename matrix_t > | |
bool | MatMultAddDirect (vector_t &dest, const number &beta1, const matrix_t &A1, const vector_t &w1, const number &beta2, const matrix_t &A2, const vector_t &w2) |
calculates dest = beta1 * A1 *w1 + beta2 * A2*w2; More... | |
template<typename vector_t , typename matrix_t > | |
bool | MatMultAddDirect (vector_t &dest, const number &beta1, const matrix_t &A1, const vector_t &w1, const number &beta2, const matrix_t &A2, const vector_t &w2, const number &alpha1, const vector_t &v1) |
calculates dest = beta1 * A1 *w1 + beta2 * A2*w2 + alpha1*v1; More... | |
template<typename matrix_type , typename vector_type > | |
bool | MatMultDirect (ParallelVector< vector_type > &dest, const number &beta1, const ParallelMatrix< matrix_type > &A1, const ParallelVector< vector_type > &w1) |
template<size_t N, size_t M, size_t L, typename T > | |
void | MatMultiply (MathMatrix< N, M, T > &mOut, const MathMatrix< N, L, T > &m1, const MathMatrix< L, M, T > &m2) |
multiply two matrices and stores the result in a third one More... | |
template<size_t N, size_t M, size_t L, size_t P, typename T > | |
void | MatMultiply (MathMatrix< N, M, T > &mOut, const MathMatrix< N, L, T > &m1, const MathMatrix< L, P, T > &m2, const MathMatrix< P, M, T > &m3) |
multiply three matrices and stores the result in a fourth one More... | |
template<typename matrix_t > | |
void | MatMultiply (matrix_t &mOut, const matrix_t &m, typename matrix_t::value_type s) |
Multiply a matrix by a scalar (componentwise) More... | |
template<size_t N, size_t M, typename T > | |
void | MatMultiplyMBMT (MathMatrix< N, N, T > &mOut, const MathMatrix< N, M, T > &m1, const MathMatrix< M, M, T > &m2) |
template<size_t N, size_t M, size_t L, typename T > | |
void | MatMultiplyMBT (MathMatrix< N, M, T > &mOut, const MathMatrix< N, L, T > &m1, const MathMatrix< M, L, T > &m2) |
multiply a matrix with the transposed of a second one and stores the result in mOut More... | |
template<size_t N, size_t M, typename T > | |
void | MatMultiplyMMT (MathMatrix< M, M, T > &mOut, const MathMatrix< M, N, T > &m) |
multiply a matrix with its transposed and stores the result in a second one More... | |
template<size_t N, size_t M, size_t L, typename T > | |
void | MatMultiplyMTB (MathMatrix< N, M, T > &mOut, const MathMatrix< L, N, T > &m1, const MathMatrix< L, M, T > &m2) |
multiply the transposed of a matrix with a matrix and stores the result in mOut More... | |
template<size_t N, size_t M, typename T > | |
void | MatMultiplyMTBM (MathMatrix< N, N, T > &mOut, const MathMatrix< M, N, T > &m1, const MathMatrix< M, M, T > &m2) |
template<size_t N, size_t M, typename T > | |
void | MatMultiplyMTM (MathMatrix< N, N, T > &mOut, const MathMatrix< M, N, T > &m) |
multiply a transposed matrix with itself and stores the result in a second one More... | |
template<size_t N, size_t M, size_t L, typename T > | |
void | MatMultiplyTransposed (MathMatrix< N, M, T > &mOut, const MathMatrix< L, N, T > &m1, const MathMatrix< M, L, T > &m2) |
multiply two transposed matrices and stores the result in a third one More... | |
template<typename vector_t , typename matrix_t > | |
bool | MatMultTransposed (vector_t &dest, const number &beta1, const matrix_t &A1, const vector_t &w1) |
calculates dest = alpha1*v1 + beta1 * A1 *w1; More... | |
template<typename vector_t , typename matrix_t > | |
void | MatMultTransposedAdd (DenseVector< vector_t > &dest, const number &alpha1, const DenseVector< vector_t > &v1, const number &beta1, const DenseMatrix< matrix_t > &A1, const DenseVector< vector_t > &w1) |
calculates dest = alpha1*v1 + beta1 * A1^T *w1; More... | |
template<typename vector_t , typename matrix_t > | |
void | MatMultTransposedAdd (vector_t &dest, const number &alpha1, const vector_t &v1, const number &beta1, const GPUSparseMatrix< matrix_t > &A1, const vector_t &w1) |
calculates dest = alpha1*v1 + beta1 * A1^T *w1; More... | |
template<typename vector_t , typename matrix_t > | |
void | MatMultTransposedAdd (vector_t &dest, const number &alpha1, const vector_t &v1, const number &beta1, const MapSparseMatrix< matrix_t > &A1, const vector_t &w1) |
calculates dest = alpha1*v1 + beta1 * A1^T *w1; More... | |
template<typename vector_t , typename matrix_t > | |
bool | MatMultTransposedAdd (vector_t &dest, const number &alpha1, const vector_t &v1, const number &beta1, const matrix_t &A1, const vector_t &w1) |
calculates dest = alpha1*v1 + beta1 * A1 *w1; More... | |
template<typename vector_t , typename matrix_t > | |
void | MatMultTransposedAdd (vector_t &dest, const number &alpha1, const vector_t &v1, const number &beta1, const SparseMatrix< matrix_t > &A1, const vector_t &w1) |
calculates dest = alpha1*v1 + beta1 * A1^T *w1; More... | |
template<typename matrix_type , typename vector_type > | |
void | MatMultTransposedDirect (ParallelVector< vector_type > &dest, const number &beta1, const ParallelMatrix< matrix_type > &A1, const ParallelVector< vector_type > &w1) |
template<typename matrix_t > | |
matrix_t::value_type | MatOneNorm (matrix_t &m) |
template<typename TStorage > | |
DenseMatrix< TStorage > | MatrixTranspose (const DenseMatrix< TStorage > &A) |
double | MatrixTranspose (const double &b) |
template<typename matrix_t > | |
void | MatRotationX (matrix_t &mOut, typename matrix_t::value_type rads) |
Fills the matrix with a matrix that rotates around the x-axis in 3 dimensions. More... | |
template<typename matrix_t > | |
void | MatRotationY (matrix_t &mOut, typename matrix_t::value_type rads) |
Fills the matrix with a matrix that rotates around the y-axis in 3 dimensions. More... | |
template<typename matrix_t > | |
void | MatRotationYawPitchRoll (matrix_t &mOut, typename matrix_t::value_type yaw, typename matrix_t::value_type pitch, typename matrix_t::value_type roll) |
Creates a rotation matrix given yaw, pitch and roll in radiants. More... | |
template<typename matrix_t > | |
void | MatRotationZ (matrix_t &mOut, typename matrix_t::value_type rads) |
Fills the matrix with a matrix that rotates around the y-axis in 2 or 3 dimensions. More... | |
template<typename matrix_t > | |
void | MatScale (matrix_t &mOut, typename matrix_t::value_type s, const matrix_t &m) |
scales a matrix_t More... | |
template<typename X , typename Y , typename M > | |
void | MatScale (MatrixOperator< M, X, Y > &A, number alpha) |
template<typename matrix_t > | |
void | MatScaleAppend (matrix_t &mOut, typename matrix_t::value_type s, const matrix_t &m) |
scales a matrix_t and adds to result to a second matrix More... | |
template<typename matrix_t > | |
void | MatSet (matrix_t &mInOut, typename matrix_t::value_type s) |
Set each matrix entry to a scalar (componentwise) More... | |
template<typename matrix_t > | |
void | MatSubtract (matrix_t &mOut, const matrix_t &m, typename matrix_t::value_type s) |
Subtract a scalar from a matrix (componentwise) More... | |
template<typename matrix_t > | |
void | MatSubtract (matrix_t &mOut, const matrix_t &m1, const matrix_t &m2) |
subtracts m2 from m1 and stores the result in a mOut More... | |
void | matSum (double &erg, double alpha, double vec) |
template<typename T1 , typename T2 > | |
T1 | matSum (double alpha, T2 &mat) |
template<typename T1 , typename T2 > | |
void | matSum (T1 &erg, double alpha, T2 &mat) |
template<std::size_t TDim, std::size_t TDimSQ> | |
void | MatToTens4 (MathTensor4< TDim, TDim, TDim, TDim > &tens4, const DenseMatrixInverse< FixedArray2< number, TDimSQ, TDimSQ > > &mat) |
template<typename T1 > | |
double | matTrace (const DenseMatrix< T1 > &mat) |
double | matTrace (const double d) |
template<typename X , typename Y , typename M > | |
void | MatTranspose (MatrixOperator< M, X, Y > &AT, MatrixOperator< M, X, Y > &A) |
template<typename vector_t_out , typename matrix_t , typename vector_t_in > | |
void | MatVecMult (vector_t_out &vOut, const matrix_t &m, const vector_t_in &v) |
Matrix - Vector Multiplication. More... | |
template<typename vector_t_out , typename matrix_t , typename vector_t_in > | |
void | MatVecMultAppend (vector_t_out &vOut, const matrix_t &m, const vector_t_in &v) |
Matrix - Vector Multiplication adding to a second vector. More... | |
template<typename vector_t_out , typename matrix_t , typename vector_t_in > | |
void | MatVecScaleMultAppend (vector_t_out &vOut, typename vector_t_out::value_type s, const matrix_t &m, const vector_t_in &v) |
Matrix - Vector Multiplication added scaled to a second vector. More... | |
template<typename TMatrix , typename TVector > | |
void | MatWriteDiagOnLayout (TMatrix *pMatrix, const TVector *pDiagVector, const IndexLayout &Layout) |
writes diagonal of a matrix for interface indices More... | |
template<typename T > | |
MathMatrix< 1, 1, T >::value_type | MaxAbsEigenvalue (const MathMatrix< 1, 1, T > &m) |
template<typename T > | |
MathMatrix< 2, 2, T >::value_type | MaxAbsEigenvalue (const MathMatrix< 2, 2, T > &m) |
template<size_t N, size_t M, typename T > | |
MathMatrix< N, M, T >::value_type | MaxAbsEigenvalue (const MathMatrix< M, N, T > &m) |
Computes maximum eigenvalue of a (symmetric) matrix. More... | |
template<class TAAPos , class TIterator > | |
number | MaxElementDiameter (Grid &grid, TAAPos &aaPos, TIterator iterBegin, TIterator iterEnd) |
returns the maximal diameter of all elements between iterBegin and iterEnd. More... | |
template<typename TDomain > | |
number | MaxElementDiameter (TDomain &domain, int level) |
returns the maximal diameter of all elements between iterBegin and iterEnd. More... | |
template number | MaxElementDiameter< Domain1d > (Domain1d &domain, int level) |
template number | MaxElementDiameter< Domain2d > (Domain2d &domain, int level) |
template number | MaxElementDiameter< Domain3d > (Domain3d &domain, int level) |
template<typename TGridFunction > | |
number | MaxError (number val, SmartPtr< TGridFunction > spGridFct, const char *cmp) |
template<typename TGridFunction > | |
number | MaxError (number val, SmartPtr< TGridFunction > spGridFct, const char *cmp, const char *subsets) |
template<typename TGridFunction > | |
number | MaxError (number val, SmartPtr< TGridFunction > spGridFct, const char *cmp, const char *subsets, number time) |
template<typename TGridFunction > | |
number | MaxError (number val, SmartPtr< TGridFunction > spGridFct, const char *cmp, number time) |
template<typename TGridFunction > | |
number | MaxError (SmartPtr< UserData< number, TGridFunction::dim > > spInterpolFunction, SmartPtr< TGridFunction > spGridFct, const char *cmp) |
template<typename TGridFunction > | |
number | MaxError (SmartPtr< UserData< number, TGridFunction::dim > > spInterpolFunction, SmartPtr< TGridFunction > spGridFct, const char *cmp, const char *subsets) |
template<typename TGridFunction > | |
number | MaxError (SmartPtr< UserData< number, TGridFunction::dim > > spInterpolFunction, SmartPtr< TGridFunction > spGridFct, const char *cmp, const char *subsets, number time) |
computes maximum error of a grid function on a subset More... | |
template<typename TGridFunction > | |
number | MaxError (SmartPtr< UserData< number, TGridFunction::dim > > spInterpolFunction, SmartPtr< TGridFunction > spGridFct, const char *cmp, number time) |
template<typename TElem , typename TGridFunction > | |
void | MaxErrorOnElements (number &globalMaxError, SmartPtr< UserData< number, TGridFunction::dim > > spInterpolFunction, SmartPtr< TGridFunction > spGridFct, size_t fct, int si, number time) |
template<typename TGridFunction > | |
void | MaxErrorOnElements (number &globalMaxError, SmartPtr< UserData< number, TGridFunction::dim > > spInterpolFunction, SmartPtr< TGridFunction > spGridFct, size_t fct, number time, const SubsetGroup &ssGrp) |
template<typename TGridFunction > | |
void | MaxErrorOnVertices (number &globalMaxError, SmartPtr< UserData< number, TGridFunction::dim > > spInterpolFunction, SmartPtr< TGridFunction > spGridFct, size_t fct, number time, const SubsetGroup &ssGrp) |
void | MeasureTetrahedronWithSmallestMinAngle (MultiGrid &grid) |
template<typename T > | |
void | MemSwap (T &a, T &b) |
void | MergeGlobalLayout (GlobalLayout &globalLayout, const std::map< int, int > &merge) |
template void | MergeGrids (Grid &, Grid &, ISubsetHandler &, ISubsetHandler &, APosition1, bool) |
template void | MergeGrids (Grid &, Grid &, ISubsetHandler &, ISubsetHandler &, APosition2, bool) |
template void | MergeGrids (Grid &, Grid &, ISubsetHandler &, ISubsetHandler &, APosition3, bool) |
template<typename TAPos > | |
void | MergeGrids (Grid &mrgGrid, Grid &grid, ISubsetHandler &mrgSh, ISubsetHandler &sh, TAPos aPos, bool joinSubsets) |
Merges to grids into one grid. More... | |
template<typename TLayout > | |
void | MergeInterfaces (TLayout &layout, const std::map< int, int > merge) |
template<typename TLayout > | |
void | MergeInterfaces (TLayout &layout, const std::vector< int > pidSources, int pidAppendTo) |
template<class TVrtIterator > | |
UG_API Vertex * | MergeMultipleVertices (Grid &grid, TVrtIterator vrtsBegin, TVrtIterator vrtsEnd) |
Merges all vertices between the given iterators into a single vertex. More... | |
template<class TVrtIterator > | |
Vertex * | MergeMultipleVertices (Grid &grid, TVrtIterator vrtsBegin, TVrtIterator vrtsEnd) |
Merges all vertices between the given iterators into a single vertex. More... | |
void | MergeVertices (Grid &grid, Vertex *v1, Vertex *v2) |
merges two vertices and restructures the adjacent elements. More... | |
void | MeshLayerBoundaries (Grid &grid, const RasterLayers &layers, Grid::VertexAttachmentAccessor< AVector3 > aaPos, ISubsetHandler *pSH) |
void | MeshLayers (Grid &grid, const RasterLayers &layers, Grid::VertexAttachmentAccessor< AVector3 > aaPos, ISubsetHandler *pSH) |
template<typename TElem > | |
bool | MightContainGhosts (const GridLayoutMap &layoutMap, int lvl) |
template<size_t N, size_t M, typename T > | |
MathMatrix< N, M, T >::value_type | MinAbsEigenvalue (const MathMatrix< M, N, T > &m) |
Computes minimum eigenvalue of a (symmetric) matrix. More... | |
template<typename matrix_t > | |
matrix_t::value_type | MinAbsEigenvalue (matrix_t &m) |
template<class TAAPos , class TIterator > | |
number | MinElementDiameter (Grid &grid, TAAPos &aaPos, TIterator iterBegin, TIterator iterEnd) |
returns the minimal diameter of all elements between iterBegin and iterEnd. More... | |
template<typename TDomain > | |
number | MinElementDiameter (TDomain &domain, int level) |
returns the minimal diameter of all elements between iterBegin and iterEnd. More... | |
template number | MinElementDiameter< Domain1d > (Domain1d &domain, int level) |
template number | MinElementDiameter< Domain2d > (Domain2d &domain, int level) |
template number | MinElementDiameter< Domain3d > (Domain3d &domain, int level) |
template<class EdgeIterator , class TAAPos > | |
UG_API void | MinimizeEdgeLength_SwapsOnly (Grid &grid, EdgeIterator edgesBegin, EdgeIterator edgesEnd, TAAPos &aaPos) |
Transforms the given edge-set so that the sum of the length the edges is minimized. More... | |
template<class EdgeIterator , class TAAPos > | |
void | MinimizeEdgeLength_SwapsOnly (Grid &grid, EdgeIterator edgesBegin, EdgeIterator edgesEnd, TAAPos &aaPos) |
Transforms the given edge-set so that the sum of the length the edges is minimized. More... | |
template<typename TDomain > | |
static void | MinimizeMemoryFootprint (TDomain &dom) |
template<typename TGridFunction > | |
number | Minimum (SmartPtr< TGridFunction > spGridFct, const char *cmp, const char *subsets) |
template<class TIterator , class TAAPos > | |
void | MoveVertices (TIterator vrtsBegin, TIterator vrtsEnd, TAAPos aaPos, const typename TAAPos::ValueType &offset) |
moves vertices by the specified offset More... | |
template<class TVrtIter , class TAAPos > | |
void | MultiEdgeSplit (Grid &grid, Edge *edge, TVrtIter vrtsBegin, TVrtIter vrtsEnd, TAAPos aaPos) |
Inserts the specified vertices on the given edge. More... | |
template<typename matrix_type , typename vector_type , typename densematrix_type > | |
void | MultiEnergyProd (matrix_type &A, SmartPtrVector< vector_type > &px, DenseMatrix< densematrix_type > &rA, size_t n) |
template<typename vector_type , typename densematrix_type > | |
void | MultiScalProd (vector_type &px, DenseMatrix< densematrix_type > &rA, size_t n) |
template<typename T > | |
T * | MyCudaAlloc (size_t N) |
static void | MyPrintError (UGError &err) |
template<class TElem > | |
static bool | NbrIsInSubset (ISubsetHandler &sh, typename Grid::traits< TElem >::secure_container &nbrs, int si) |
static void | newton_for_bp_projection (vector3 &posOut, const std::vector< NeuriteProjector::BPProjectionHelper > &vProjHelp, float rad, const vector3 &constAngleSurfNormal, const NeuriteProjector *np) |
static std::string | NextValid2DFLine (ifstream &in) |
template<typename TStorage > | |
std::string | NonzeroString (const DenseMatrix< TStorage > &A, const char *brackets, const char *seperator, int base, const char *name) |
number | NormalizedChebyshev1Poly (size_t k, number x) |
number | NormalizedChebyshev2Poly (size_t k, number x) |
number | NormalizedLegendrePoly (size_t k, number x) |
static bool | NotVertical (const vector1 &, const vector1 &) |
static bool | NotVertical (const vector2 &from, const vector2 &to) |
static bool | NotVertical (const vector3 &from, const vector3 &to) |
int | NumAssociatedEdges (Grid &grid, Vertex *v) |
returns the number of associated edges of the given vertex More... | |
int | NumAssociatedFaces (Grid &grid, Edge *e) |
returns the number of associated faces of the given edge More... | |
int | NumAssociatedFaces (Grid &grid, Vertex *v) |
returns the number of associated faces of the given vertex More... | |
int | NumAssociatedVolumes (Grid &grid, Face *f) |
returns the number of associated volumes of the specified face More... | |
int | NumberOfDigits (int n) |
returns the number of digits of an integer (expressed with base 10) More... | |
void | NumeriereKnoten (const std::vector< std::vector< size_t > > &vvConnections, std::vector< bool > &vVisited, std::vector< size_t > &vAncestorsCount, std::vector< size_t > &vNewIndex, size_t &N, size_t v) |
static size_t | NumIndices (const IndexLayout &Layout) |
template<class TElemPtr1 , class TElemPtr2 > | |
UG_API size_t | NumSharedVertices (Grid &grid, TElemPtr1 elem1, TElemPtr2 elem2) |
returns the number of vertices that are shared by two objects More... | |
template<class TElemPtr1 , class TElemPtr2 > | |
size_t | NumSharedVertices (Grid &grid, TElemPtr1 elem1, TElemPtr2 elem2) |
returns the number of vertices that are shared by two objects More... | |
size_t | NumSharedVertices (IVertexGroup *vrts0, IVertexGroup *vrts1) |
Returns the number of shared vertices between vrts0 and vrts1. More... | |
template<class TPosAcc , class TIntAcc , class TNormAcc > | |
bool | ObtainSimpleGrid (SimpleGrid &sgOut, Grid &grid, Vertex *vrt1, Vertex *vrt2, size_t size, TPosAcc &aaPos, TNormAcc &aaNorm, TIntAcc &aaInt) |
returns a neighbourhood of the edge defined by vrt1 and vrt2 in a SimpleGrid. More... | |
template<class TPosAcc , class TIntAcc , class TNormAcc > | |
bool | ObtainSimpleGrid_CollapseEdge (SimpleGrid &sgOut, Grid &grid, Edge *e, size_t size, TPosAcc &aaPos, TNormAcc &aaNorm, TIntAcc &aaInt) |
returns a neighbourhood of the edge e after e has been collapsed. More... | |
void | OctReferenceMappingTest (std::vector< number > vCornerCoord0, std::vector< number > vCornerCoord1, std::vector< number > vCornerCoord2, std::vector< number > vCornerCoord3, std::vector< number > vCornerCoord4, std::vector< number > vCornerCoord5, std::vector< number > vGlobPos) |
const char * | OnOffString (bool b) |
DynLibHandle | OpenLibrary (const char *fileName) |
Loads a library and returns a handle. More... | |
template<std::size_t N, typename T > | |
bool | operator!= (const MathVector< N, T > &v, const MathVector< N, T > &w) |
ParallelStorageType | operator& (const ParallelStorageType &a, const ParallelStorageType &b) |
template<typename L , typename R > | |
MatVec_Expression< L, R > | operator* (const AlphaMat_Expression< L > &l, const R &r) |
create a MatVec_Expression by (alpha*MATRIX) * VECTOR More... | |
template<typename T > | |
TE_AlphaVec< typename T::vector_type > | operator* (const TE_AlphaVec< T > &l, double alpha) |
template<typename T > | |
TE_VecAdd2< T > | operator* (const TE_VecAdd2< T > &t, double alpha) |
create AlphaMatVec_X_Expression<L, operation_add, R> by conjunction of TE_AMV_X<L> + TE_AMV_X<R> More... | |
template<typename T > | |
TE_VecAdd3< T > | operator* (const TE_VecAdd3< T > &t, double alpha) |
create AlphaMatVec_X_Expression<L, operation_add, R> by conjunction of TE_AMV_X<L> + TE_AMV_X<R> More... | |
template<typename value_type > | |
double | operator* (const TRANSPOSED< Vector< value_type > > &x, const Vector< value_type > &y) |
template<typename TStorage > | |
DenseVector< TStorage > | operator* (double alpha, const DenseVector< TStorage > &vec) |
template<typename T > | |
TE_VecScale< typename T::vector_type > | operator* (double alpha, const TE_AlphaVec< T > &r) |
template<typename T > | |
TE_VecAdd2< T > | operator* (double alpha, const TE_VecAdd2< T > &t) |
create AlphaMatVec_X_Expression<L, operation_add, R> by conjunction of TE_AMV_X<L> + TE_AMV_X<R> More... | |
template<typename T > | |
TE_VecAdd3< T > | operator* (double alpha, const TE_VecAdd2< T > &t) |
create AlphaMatVec_X_Expression<L, operation_add, R> by conjunction of TE_AMV_X<L> + TE_AMV_X<R> More... | |
template<typename TStorage > | |
DenseMatrix< TStorage > | operator* (number a, const DenseMatrix< TStorage > &b) |
template<typename L , typename R > | |
TE_VecAdd2< typename L::vector_type > | operator+ (const TE_AlphaVec< L > &l, const TE_AlphaVec< R > &r) |
create AlphaMatVec_X_Expression<L, operation_add, R> by conjunction of TE_AMV_X<L> + TE_AMV_X<R> More... | |
template<typename L , typename R > | |
TE_VecAdd3< typename L::vector_type > | operator+ (const TE_AlphaVec< R > &r, const TE_VecAdd2< L > &l) |
template<typename L , typename R > | |
AlphaMatVec_X_Expression< L, operation_add, R > | operator+ (const TE_AMV_X< L > &l, const TE_AMV_X< R > &r) |
create AlphaMatVec_X_Expression<L, operation_add, R> by conjunction of TE_AMV_X<L> + TE_AMV_X<R> More... | |
template<typename L , typename R > | |
TE_VecAdd3< typename L::vector_type > | operator+ (const TE_VecAdd2< L > &l, const TE_AlphaVec< R > &r) |
create AlphaMatVec_X_Expression<L, operation_add, R> by conjunction of TE_AMV_X<L> + TE_AMV_X<R> More... | |
ReferenceObjectID | operator++ (ReferenceObjectID &roid, int) |
template<typename L , typename R > | |
TE_VecAdd2< typename L::vector_type > | operator- (const TE_AlphaVec< L > &l, const TE_AlphaVec< R > &r) |
template<typename L , typename R > | |
TE_VecAdd3< typename L::vector_type > | operator- (const TE_AlphaVec< R > &r, const TE_VecAdd2< L > &l) |
template<typename L , typename R > | |
AlphaMatVec_X_Expression< L, operation_sub, R > | operator- (const TE_AMV_X< L > &l, const TE_AMV_X< R > &r) |
create AlphaMatVec_X_Expression<L, operation_minus, R> by conjunction of TE_AMV_X<L> + TE_AMV_X<R> More... | |
template<typename L , typename R > | |
TE_VecAdd3< typename L::vector_type > | operator- (const TE_VecAdd2< L > &l, const TE_AlphaVec< R > &r) |
UG_API bool | operator< (const GeomObjID &gid1, const GeomObjID &gid2) |
template<std::size_t N, typename T > | |
bool | operator< (const MathVector< N, T > &v, const MathVector< N, T > &w) |
template<typename TStorage > | |
bool | operator< (double alpha, const DenseVector< TStorage > &vec) |
std::ostream & | operator<< (std::ostream &os, const NeuriteProjector::Mapping &mapping) |
std::ostream & | operator<< (std::ostream &os, const NeuriteProjector::SurfaceParams &surfParams) |
std::ostream & | operator<< (std::ostream &os, const StringTableStream &sts) |
template<class T > | |
std::ostream & | operator<< (std::ostream &os, const Table< T > &table) |
prints a table to the specified ostream. More... | |
template<class vector_t > | |
std::ostream & | operator<< (std::ostream &out, const AABox< vector_t > &box) |
std::ostream & | operator<< (std::ostream &out, const AlgebraID &ID) |
std::ostream & | operator<< (std::ostream &out, const AlgebraLayouts &layouts) |
std::ostream & | operator<< (std::ostream &out, const AlgebraType &v) |
writes the Identifier to the output stream More... | |
std::ostream & | operator<< (std::ostream &out, const CommonLocalDoFSet &v) |
writes to the output stream More... | |
template<typename TStorage > | |
std::ostream & | operator<< (std::ostream &out, const DenseMatrix< TStorage > &mat) |
template<typename T > | |
std::ostream & | operator<< (std::ostream &out, const DenseMatrixInverse< T > &mat) |
template<typename TStorage > | |
std::ostream & | operator<< (std::ostream &out, const DenseVector< TStorage > &vec) |
template std::ostream & | operator<< (std::ostream &out, const DimLocalDoFSet< 0 > &v) |
template std::ostream & | operator<< (std::ostream &out, const DimLocalDoFSet< 1 > &v) |
template std::ostream & | operator<< (std::ostream &out, const DimLocalDoFSet< 2 > &v) |
template std::ostream & | operator<< (std::ostream &out, const DimLocalDoFSet< 3 > &v) |
template<int dim> | |
std::ostream & | operator<< (std::ostream &out, const DimLocalDoFSet< dim > &v) |
writes to the output stream More... | |
template<typename T , size_t n> | |
std::ostream & | operator<< (std::ostream &out, const FixedArray1< T, n > &arr) |
template<typename T , size_t rowsT, size_t colsT, eMatrixOrdering T_ordering> | |
std::ostream & | operator<< (std::ostream &out, const FixedArray2< T, rowsT, colsT, T_ordering > &arr) |
UG_API std::ostream & | operator<< (std::ostream &out, const GeomObjID &goId) |
std::ostream & | operator<< (std::ostream &out, const GridLevel &v) |
writes to the output stream More... | |
std::ostream & | operator<< (std::ostream &out, const HorizontalAlgebraLayouts &layouts) |
std::ostream & | operator<< (std::ostream &out, const IndexLayout &layout) |
std::ostream & | operator<< (std::ostream &out, const LocalDoFSet &v) |
writes to the output stream More... | |
std::ostream & | operator<< (std::ostream &out, const QuadType &v) |
writes the Identifier to the output stream More... | |
template<typename T , eMatrixOrdering T_ordering> | |
std::ostream & | operator<< (std::ostream &out, const ReservableArray2< T, T_ordering > &arr) |
template<typename T > | |
std::ostream & | operator<< (std::ostream &out, const VariableArray1< T > &arr) |
template<typename T , eMatrixOrdering T_ordering> | |
std::ostream & | operator<< (std::ostream &out, const VariableArray2< T, T_ordering > &arr) |
template<typename TDomain , typename TAlgebra > | |
std::ostream & | operator<< (std::ostream &outStream, const GridFunction< TDomain, TAlgebra > &v) |
std::ostream & | operator<< (std::ostream &outStream, const ParallelStorageType &type) |
std::ostream & | operator<< (std::ostream &outStream, const ug::FunctionGroup &grp) |
std::ostream & | operator<< (std::ostream &outStream, const ug::FunctionIndexMapping &map) |
std::ostream & | operator<< (std::ostream &outStream, const ug::LocalMatrix &mat) |
std::ostream & | operator<< (std::ostream &outStream, const ug::LocalVector &vec) |
std::ostream & | operator<< (std::ostream &outStream, const ug::MathMatrix< 2, 2 > &m) |
std::ostream & | operator<< (std::ostream &outStream, const ug::MathMatrix< 2, 3 > &m) |
std::ostream & | operator<< (std::ostream &outStream, const ug::MathMatrix< 3, 2 > &m) |
std::ostream & | operator<< (std::ostream &outStream, const ug::MathMatrix< 3, 3 > &m) |
template<std::size_t N, std::size_t M> | |
std::ostream & | operator<< (std::ostream &outStream, const ug::MathMatrix< N, M > &m) |
Print MathMatrix<N,M> to standard output. More... | |
std::ostream & | operator<< (std::ostream &outStream, const ug::MathSymmetricMatrix< 2 > &m) |
std::ostream & | operator<< (std::ostream &outStream, const ug::MathSymmetricMatrix< 3 > &m) |
template<std::size_t N> | |
std::ostream & | operator<< (std::ostream &outStream, const ug::MathSymmetricMatrix< N > &m) |
Print MathSymmetricMatrix<N> to standard output. More... | |
template<size_t TRank, size_t N, typename T > | |
std::ostream & | operator<< (std::ostream &outStream, const ug::MathTensor< TRank, N, T > &v) |
template<typename TEntry > | |
std::ostream & | operator<< (std::ostream &outStream, const ug::MathTensorX< TEntry, 1 > &v) |
template<typename TEntry , size_t N> | |
std::ostream & | operator<< (std::ostream &outStream, const ug::MathTensorX< TEntry, N > &v) |
template<typename T > | |
std::ostream & | operator<< (std::ostream &outStream, const ug::MathVector< 0, T > &v) |
std::ostream & | operator<< (std::ostream &outStream, const ug::MathVector< 1 > &v) |
formatted output of MathVector objects: (...,...) More... | |
template<typename T > | |
std::ostream & | operator<< (std::ostream &outStream, const ug::MathVector< 1, T > &v) |
std::ostream & | operator<< (std::ostream &outStream, const ug::MathVector< 2 > &v) |
formatted output of MathVector objects: (...,...) More... | |
template<typename T > | |
std::ostream & | operator<< (std::ostream &outStream, const ug::MathVector< 2, T > &v) |
std::ostream & | operator<< (std::ostream &outStream, const ug::MathVector< 3 > &v) |
formatted output of MathVector objects: (...,...) More... | |
template<typename T > | |
std::ostream & | operator<< (std::ostream &outStream, const ug::MathVector< 3, T > &v) |
std::ostream & | operator<< (std::ostream &outStream, const ug::MathVector< 4 > &v) |
formatted output of MathVector objects: (...,...) More... | |
template<typename T > | |
std::ostream & | operator<< (std::ostream &outStream, const ug::MathVector< 4, T > &v) |
template<std::size_t N, typename T > | |
std::ostream & | operator<< (std::ostream &outStream, const ug::MathVector< N, T > &v) |
template<int N> | |
std::ostream & | operator<< (std::ostream &outStream, const ug::MultiIndex< N > &v) |
std::ostream & | operator<< (std::ostream &outStream, DiscPart part) |
std::ostream & | operator<< (std::ostream &outStream, Polynomial1D &v) |
std::ostream & | operator<< (std::ostream &outStream, ReferenceObjectID type) |
template<> | |
std::string | operator<< (std::string a, const char *s) |
template<> | |
std::string | operator<< (std::string a, std::string b) |
template<typename T > | |
std::string | operator<< (std::string a, T t) |
template<typename TStorage > | |
bool | operator<= (double alpha, const DenseVector< TStorage > &vec) |
template<typename T > | |
bool | operator== (const MathVector< 0, T > &v, const MathVector< 0, T > &w) |
template<std::size_t N, typename T > | |
bool | operator== (const MathVector< N, T > &v, const MathVector< N, T > &w) |
template<typename TStorage > | |
bool | operator> (double alpha, const DenseVector< TStorage > &vec) |
template<typename TStorage > | |
bool | operator>= (double alpha, const DenseVector< TStorage > &vec) |
std::istream & | operator>> (std::istream &in, NeuriteProjector::Mapping &mapping) |
std::istream & | operator>> (std::istream &in, NeuriteProjector::SurfaceParams &surfParams) |
void | OrderCRCuthillMcKee (ApproximationSpace< TDomain > &approxSpace, TGridFunction &u, bool bReverse) |
template<typename TDomain > | |
void | OrderCuthillMcKee (ApproximationSpace< TDomain > &approxSpace, bool bReverse) |
orders the all DofDistributions of the ApproximationSpace using Cuthill-McKee More... | |
void | OrderCuthillMcKee (DoFDistribution &dofDistr, bool bReverse) |
orders the dof distribution using Cuthill-McKee More... | |
template<typename TDomain > | |
void | OrderDirectionYForDofDist (SmartPtr< DoFDistribution > dd, ConstSmartPtr< TDomain > domain, std::vector< size_t > &indY) |
template<typename TDomain > | |
void | OrderDirectionZForDofDist (SmartPtr< DoFDistribution > dd, ConstSmartPtr< TDomain > domain, std::vector< size_t > &indZ) |
template<typename TDomain > | |
void | OrderDownwind (ApproximationSpace< TDomain > &approxSpace, const std::vector< number > &vVel) |
template<typename TDomain > | |
void | OrderDownwind (ApproximationSpace< TDomain > &approxSpace, const std::vector< number > &vVel, number threshold) |
template<typename TDomain > | |
void | OrderDownwind (ApproximationSpace< TDomain > &approxSpace, SmartPtr< UserData< MathVector< TDomain::dim >, TDomain::dim > > spVelocity) |
template<typename TDomain > | |
void | OrderDownwind (ApproximationSpace< TDomain > &approxSpace, SmartPtr< UserData< MathVector< TDomain::dim >, TDomain::dim > > spVelocity, number threshold) |
template<typename TDomain > | |
void | OrderDownwindForDofDist (SmartPtr< DoFDistribution > dd, ConstSmartPtr< TDomain > domain, SmartPtr< UserData< MathVector< TDomain::dim >, TDomain::dim > > spVelocity, number time, int si, number threshold) |
template<typename TDomain > | |
void | OrderDownwindForDofDist (SmartPtr< DoFDistribution > spDd, ConstSmartPtr< TDomain > spDomain, SmartPtr< UserData< MathVector< TDomain::dim >, TDomain::dim > > spVelocity, number threshold) |
template<typename TDomain > | |
void | OrderLex (ApproximationSpace< TDomain > &approxSpace, const char *order) |
orders the all DofDistributions of the ApproximationSpace using lexicographic order More... | |
template<typename TDomain > | |
void | OrderLexForDofDist (SmartPtr< DoFDistribution > dd, ConstSmartPtr< TDomain > domain, size_t orderDim, bool increasing) |
orders the dof distribution using Cuthill-McKee More... | |
bool | OrientationMatches (const EdgeVertices &e1, const EdgeVertices &e2) |
UG_API bool | OrientationMatches (FaceVertices *fv, Volume *v) |
template<typename matrix_t , typename vector_t > | |
void | OrthogProjectVec (vector_t &v, const matrix_t &A) |
Orthogonal projection. More... | |
template<typename T > | |
std::string | OstreamShift (const T &t) |
static void | ParallelLayoutDebugSave (MultiGrid &mg) |
temporary method, which will be removed when debugging is done. More... | |
template<typename TGroupObj , typename TDomain , typename TAlgebra > | |
void | ParallelSubspaceCorrectionLoop (const typename TAlgebra::matrix_type &A, GridFunction< TDomain, TAlgebra > &c, const typename TAlgebra::vector_type &d, number omega_relax, ILocalSubspace< TDomain, TAlgebra, TGroupObj > &subspace, typename GridFunction< TDomain, TAlgebra >::template traits< TGroupObj >::const_iterator objIterBegin, typename GridFunction< TDomain, TAlgebra >::template traits< TGroupObj >::const_iterator objIterEnd) |
Abstract loop. More... | |
double | ParamToDouble (const char *param, int argc, const char *const *argv, double dDefault) |
bool | ParamToDouble (double &dOut, const char *param, int argc, const char *const *argv) |
int | ParamToInt (const char *param, int argc, const char *const *argv, int iDefault) |
bool | ParamToInt (int &iOut, const char *param, int argc, const char *const *argv) |
bool | ParamToString (const char **strOut, const char *param, int argc, const char *const *argv) |
template<typename TDomain > | |
static bool | PartitionDistributedDomain_LevelBased (TDomain &domain, PartitionMap &partitionMap, int numPartitions, size_t level) |
template<typename TDomain > | |
static bool | PartitionDomain_Bisection (TDomain &domain, PartitionMap &partitionMap, int firstAxisToCut) |
partitions a domain by repeatedly cutting it along the different axis More... | |
template<typename TDomain > | |
static bool | PartitionDomain_LevelBased (TDomain &domain, PartitionMap &partitionMap, int numPartitions, size_t level) |
Partitions a domain based on the elements of one level. More... | |
template<typename TDomain > | |
static bool | PartitionDomain_LevelBased (TDomain &domain, PartitionMap &partitionMap, int numPartitions, size_t level) |
template<typename TDomain > | |
static bool | PartitionDomain_MetisKWay (TDomain &domain, PartitionMap &partitionMap, int numPartitions, size_t baseLevel, int hWeight, int vWeight) |
template<typename TDomain > | |
static bool | PartitionDomain_MetisKWay (TDomain &domain, PartitionMap &partitionMap, int numPartitions, size_t baseLevel, SmartPtr< PartitionWeighting > weightFct) |
partitions a domain by using graph-based partitioning by METIS More... | |
template<typename TDomain > | |
static bool | PartitionDomain_MetisKWay (TDomain &domain, PartitionMap &partitionMap, int numPartitions, size_t baseLevel, SmartPtr< PartitionWeighting > weightFct) |
template<typename TDomain > | |
static bool | PartitionDomain_MetisKWay (TDomain &domain, PartitionMap &partitionMap, int numPartitions, size_t baseLevel=0, int hWeight=1, int vWeight=1) |
partitions a domain by using graph-based partitioning by METIS More... | |
template<typename TDomain > | |
static bool | PartitionDomain_RegularGrid (TDomain &domain, PartitionMap &partitionMap, int numCellsX, int numCellsY, int numCellsZ, bool surfaceOnly) |
partitions a domain by sorting all elements into a regular grid More... | |
template<typename TDomain > | |
static bool | PartitionDomain_RegularGrid (TDomain &domain, PartitionMap &partitionMap, int numCellsX, int numCellsY, int numCellsZ, bool surfaceOnly) |
partitions a domain by sorting all elements into a regular grid More... | |
template<class TElem , class TIterator , class TAAPos > | |
bool | PartitionElements_RegularGrid (SubsetHandler &shOut, TIterator begin, TIterator end, int numCellsX, int numCellsY, int numCellsZ, TAAPos &aaPos, typename Grid::traits< TElem >::callback cbConsiderElem=ConsiderAll(), int bucketSubset=-1) |
Partitions the elements in the grid by sorting them into a regular grid. More... | |
template<class TGeomBaseObj > | |
bool | PartitionGrid_MetisKway (SubsetHandler &shPartitionOut, Grid &grid, int numParts) |
Partitions the elements in the grid using the METIS library. More... | |
template bool | PartitionGrid_MetisKway< Edge > (SubsetHandler &, Grid &, int) |
template bool | PartitionGrid_MetisKway< Face > (SubsetHandler &, Grid &, int) |
template bool | PartitionGrid_MetisKway< Volume > (SubsetHandler &, Grid &, int) |
template<class TGeomBaseObj > | |
bool | PartitionMultiGrid_MetisKway (SubsetHandler &shPartitionOut, MultiGrid &grid, int numParts, size_t baseLevel, boost::function< int(TGeomBaseObj *, TGeomBaseObj *)> &weightFct) |
Partitions the elements in the multi-grid using the METIS library. More... | |
template<class TGeomBaseObj > | |
bool | PartitionMultiGrid_MetisKway (SubsetHandler &shPartitionOut, MultiGrid &grid, int numParts, size_t baseLevel=0, int hWeight=1, int vWeight=1) |
Partitions the elements in the multi-grid using the METIS library. More... | |
template bool | PartitionMultiGrid_MetisKway< Edge > (SubsetHandler &, MultiGrid &, int, size_t, boost::function< int(Edge *, Edge *)> &) |
template bool | PartitionMultiGrid_MetisKway< Edge > (SubsetHandler &, MultiGrid &, int, size_t, int, int) |
template bool | PartitionMultiGrid_MetisKway< Face > (SubsetHandler &, MultiGrid &, int, size_t, boost::function< int(Face *, Face *)> &) |
template bool | PartitionMultiGrid_MetisKway< Face > (SubsetHandler &, MultiGrid &, int, size_t, int, int) |
template bool | PartitionMultiGrid_MetisKway< Volume > (SubsetHandler &, MultiGrid &, int, size_t, boost::function< int(Volume *, Volume *)> &) |
template bool | PartitionMultiGrid_MetisKway< Volume > (SubsetHandler &, MultiGrid &, int, size_t, int, int) |
template<class TGeomBaseObj > | |
bool | PartitionMultiGridLevel_MetisKway (SubsetHandler &shPartitionOut, MultiGrid &mg, int numParts, size_t level) |
Partitions the elements in the multi-grid using the METIS library. More... | |
template bool | PartitionMultiGridLevel_MetisKway< Edge > (SubsetHandler &, MultiGrid &, int, size_t) |
template bool | PartitionMultiGridLevel_MetisKway< Face > (SubsetHandler &, MultiGrid &, int, size_t) |
template bool | PartitionMultiGridLevel_MetisKway< Volume > (SubsetHandler &, MultiGrid &, int, size_t) |
template<class TGeomBaseObj > | |
bool | PartitionMultiGridLevel_ParmetisKway (SubsetHandler &shPartitionOut, MultiGrid &mg, int numParts, size_t level) |
Partitions the elements in the multi-grid using the PARMETIS library. More... | |
template bool | PartitionMultiGridLevel_ParmetisKway< Edge > (SubsetHandler &, MultiGrid &, int, size_t) |
template bool | PartitionMultiGridLevel_ParmetisKway< Face > (SubsetHandler &, MultiGrid &, int, size_t) |
template bool | PartitionMultiGridLevel_ParmetisKway< Volume > (SubsetHandler &, MultiGrid &, int, size_t) |
UG_API std::string | PathFromFilename (const std::string &str) |
returns best guess of a path without a filename from a given string More... | |
string | PathFromFilename (const string &str) |
template<class TAAPosVRT , class TAANormVRT , class TAAIntVRT > | |
static bool | PerformCollapses (const AdjustEdgeLengthDesc &desc, Grid &grid, SubsetHandler &shMarks, EdgeSelector &esel, TAAPosVRT &aaPos, TAANormVRT &aaNorm, TAAIntVRT &aaInt) |
template<class TAAPosVRT , class TAANormVRT , class TAAIntVRT > | |
bool | PerformCollapses (Grid &grid, SubsetHandler &shMarks, EdgeSelector &esel, number minEdgeLen, TAAPosVRT &aaPos, TAANormVRT &aaNorm, TAAIntVRT &aaInt, bool adaptive=true) |
static bool | PerformRetetrahedralization (Grid &grid, SubsetHandler &sh, number quality, bool preserveBnds, bool preserveAll, APosition &aPos, ANumber &aVolCon, bool applyVolumeConstraint, int verbosity) |
template<class TAAPosVRT , class TAANormVRT > | |
static bool | PerformSplits (const AdjustEdgeLengthDesc &desc, Grid &grid, SubsetHandler &shMarks, EdgeSelector &esel, TAAPosVRT &aaPos, TAANormVRT &aaNorm) |
template<class TAAPosVRT , class TAANormVRT > | |
bool | PerformSplits (Grid &grid, SubsetHandler &shMarks, EdgeSelector &esel, number maxEdgeLen, TAAPosVRT &aaPos, TAANormVRT &aaNorm, bool adaptive=true) |
template<class TAAPosVRT , class TAANormVRT , class TAAIntVRT > | |
bool | PerformSwaps (Grid &grid, SubsetHandler &shMarks, EdgeSelector &esel, TAAPosVRT &aaPos, TAANormVRT &aaNorm, TAAIntVRT &aaInt) |
static bool | PerformTetrahedralization (Grid &grid, ISubsetHandler *pSH, number quality, bool preserveBnds, bool preserveAll, APosition &aPos, int verbosity) |
void | PermuteIndicesInIndexLayout (IndexLayout &layout, const std::vector< size_t > &vIndNew) |
permutes an IndexLayout for the permutation of indices More... | |
UG_API bool | PluginLoaded (const std::string &name) |
bool | PluginLoaded (const string &name) |
template<class TAAPosVRT > | |
UG_API int | PointFaceTest (vector3 &v, Face *f, TAAPosVRT &aaPos) |
template<class TAAPosVRT > | |
int | PointFaceTest (vector3 &v, Face *f, TAAPosVRT &aaPos) |
template<> | |
bool | PointIsInsideQuadrilateral (const MathVector< 3 > &v, const MathVector< 3 > &v0, const MathVector< 3 > &v1, const MathVector< 3 > &v2, const MathVector< 3 > &v3) |
template<class vector_t > | |
bool | PointIsInsideQuadrilateral (const vector_t &v, const vector_t &v0, const vector_t &v1, const vector_t &v2, const vector_t &v3) |
Returns true if the point lies inside or on the boundary of a quadrilateral. More... | |
UG_API bool | PointIsInsideTetrahedron (const vector3 &v, Tetrahedron *tet, Grid::VertexAttachmentAccessor< APosition > &aaPos) |
returns true if the point lies inside the tetrahedron More... | |
template<class vector_t > | |
bool | PointIsInsideTetrahedron (const vector_t &v, const vector_t &v0, const vector_t &v1, const vector_t &v2, const vector_t &v3) |
Returns true if the point lies inside or on the boundary of a tetrahedron. More... | |
template<> | |
bool | PointIsInsideTriangle (const MathVector< 3 > &v, const MathVector< 3 > &v0, const MathVector< 3 > &v1, const MathVector< 3 > &v2) |
template<class vector_t > | |
bool | PointIsInsideTriangle (const vector_t &v, const vector_t &v0, const vector_t &v1, const vector_t &v2) |
Returns true if the point lies inside or on the boundary of a triangle. More... | |
template<class vector_t > | |
bool | PointIsInsideTriangle_HighAcc (const vector_t &v, const vector_t &v0, const vector_t &v1, const vector_t &v2) |
Returns true if the point lies inside or on a side of the given triangle. More... | |
template<class vector_t > | |
vector_t | PointOnRay (const vector_t &from, const vector_t &dir, number s) |
returns the point described by a relative ray coordinate More... | |
static int | PointTriangleIntersection (const vector3 &p, const TRI &t) |
static void | pos_in_bp (vector3 &posOut, const NeuriteProjector::Neurite &neurite, uint32_t neuriteID, float &t, float &angle, float rad, std::vector< NeuriteProjector::BranchingRegion >::const_iterator &it, const IVertexGroup *parent, const NeuriteProjector *np) |
static void | pos_in_neurite (vector3 &posOut, const NeuriteProjector::Neurite &neurite, size_t neuriteID, float t, float angle, float rad) |
static void | pos_on_surface_tip (vector3 &posOut, const NeuriteProjector::Neurite &neurite, const IVertexGroup *parent, const NeuriteProjector *np, number rad) |
template<class TElemDisc > | |
static void | post_assemble_loop (std::vector< TElemDisc * > vElemDisc) |
template<class TElem > | |
static void | PostProcessDistInfos (MultiGrid &mg, DistInfoSupplier &distInfos) |
DistInfos are post-processed and some values are adjusted (primarily missing vslaves-marks are added) More... | |
template<class TElemDisc > | |
static void | prep_assemble_loop (std::vector< TElemDisc * > vElemDisc) |
static void | print_mark (int &posNow, int length) |
static void | print_mark (int &posNow, int length) |
void | PrintAngleHistogram (vector< number > &locAngles, number stepSize, ug::Table< std::stringstream > &outTable) |
void | PrintAngleStatistics2d (Grid &grid, GridObjectCollection &goc, int level, TAAPosVRT &aaPos) |
void | PrintAngleStatistics3d (Grid &grid, GridObjectCollection &goc, int level, TAAPosVRT &aaPos) |
void | PrintAspectRatioHistogram (vector< number > &locAspectRatios, number stepSize, ug::Table< std::stringstream > &outTable) |
template<class TGeomObj > | |
void | PrintAttachmentInfo (Grid &grid) |
prints information on all attachments of the specified grid More... | |
template<class TData , int dim> | |
void | PrintCondUserDataValue (const UserData< TData, dim, bool > &ud, const MathVector< dim > &globIP, number time, int si) |
void | PrintDebugInfos (const vector< SweepLineVertex > &vrts, const list< SweepLineEdge > &edges) |
void | PrintDoFCount (const vector< DoFCount > &vDC, const string &sInfo, const string &sAlgebra, const string &sflags) |
template<class TIterator , class TAAPos > | |
void | PrintElementEdgeRatios (Grid &grid, TIterator elemsBegin, TIterator elemsEnd, TAAPos aaPos) |
template<typename TDomain > | |
static void | PrintElementEdgeRatios (TDomain &dom) |
void | PrintElementNumbers (const GridObjectCollection &goc) |
prints how many elements of each type exist in the goc. More... | |
void | PrintGlobalLayout (const GlobalLayout &globalLayout, const char *name) |
void | PrintGridElementNumbers (Grid &grid) |
prints how many elements of each type exist in the grid. More... | |
void | PrintGridElementNumbers (GridSubsetHandler &sh) |
prints how many elements of each type exist in the subset handler. More... | |
void | PrintGridElementNumbers (MultiGrid &mg) |
prints how many elements of each type exist in the multi grid. More... | |
bool | PrintLayouts (const HorizontalAlgebraLayouts &layout) |
void | PrintLUA () |
template<typename matrix_type > | |
void | PrintMaple (const matrix_type &mat, const char *name) |
template<typename matrix_type > | |
void | PrintMatrix (const matrix_type &mat, const char *name) |
void | PrintQuadRule (const QuadratureRule< 2 > &q) |
void | PrintSimpleGrid (SimpleGrid &sg) |
template<typename tvector > | |
void | PrintStorageType (const tvector &v) |
void | PrintSubdivisionVolumesRefinementMask () |
Function for printing the subdivision volumes tet-oct refinement mask. More... | |
template<class TData , int dim> | |
void | PrintUserDataValue (const UserData< TData, dim > &ud, const MathVector< dim > &globIP, number time, int si) |
template<typename T > | |
void | PrintVector (const T &v, std::string desc="") |
void | PrintVertexVolumeValence (MultiGrid &mg, SubsetHandler &sh, int subsetIndex) |
template void | ProjectHierarchyToSubdivisionLimit (MultiGrid &mg, APosition &aPos) |
template void | ProjectHierarchyToSubdivisionLimit (MultiGrid &mg, APosition1 &aPos) |
template void | ProjectHierarchyToSubdivisionLimit (MultiGrid &mg, APosition2 &aPos) |
template<class TAPosition > | |
void | ProjectHierarchyToSubdivisionLimit (MultiGrid &mg, TAPosition &aPos) |
Projection function for smooth subdivision (volumes+surface) refinement. More... | |
template<class vector_t > | |
number | ProjectPointToLine (vector_t &vOut, const vector_t &v, const vector_t &from, const vector_t &to) |
finds the projection of v onto the line defined by from and to More... | |
template<class vector_t > | |
void | ProjectPointToPlane (vector_t &vOut, const vector_t &v, const vector_t &p, const vector_t &n) |
projects v onto the plane defined by the point p and the planes normal n. More... | |
template<class vector_t > | |
number | ProjectPointToRay (vector_t &vOut, const vector_t &v, const vector_t &from, const vector_t &dir) |
finds the projection of v onto the ray defined by from and dir More... | |
template<class TTriangleIterator , class TAAPosVRT > | |
bool | ProjectPointToSurface (vector3 &vOut, const vector3 &v, const vector3 &n, TTriangleIterator trisBegin, TTriangleIterator trisEnd, TAAPosVRT &aaPos, bool compareNormals) |
template<class TTriangleIterator , class TAAPosVRT > | |
UG_API bool | ProjectPointToSurface (vector3 &vOut, const vector3 &v, const vector3 &n, TTriangleIterator trisBegin, TTriangleIterator trisEnd, TAAPosVRT &aaPos, bool compareNormals=false) |
void | ProjectToLayer (Grid &grid, const RasterLayers &layers, int layerIndex, Grid::VertexAttachmentAccessor< AVector3 > aaPos) |
projects the given (surface-) grid to the specified raster More... | |
bool | ProjectToLimitLoop (Grid &grid, APosition &aProjPos) |
projects surface vertices to their limit subdivision surface position More... | |
template<class TAVrtPos > | |
void | ProjectToLimitPLoop (Grid &grid, TAVrtPos aPos, TAVrtPos aProjPos) |
projects all vertices in the given grid to their limit-positions using the piecewise loop scheme. More... | |
template<class TAVrtPos > | |
void | ProjectToLimitSubdivBoundary (Grid &grid, TAVrtPos aPos, TAVrtPos aProjPos) |
projects all boundary vertices in the given grid to their limit-positions using the piecewise loop scheme. More... | |
template<class TAAPosVRT > | |
bool | ProjectVerticesToCloseEdges (Grid &grid, GridObjectCollection elems, TAAPosVRT &aaPos, number snapThreshold) |
template<class TAPos > | |
bool | ProjectVerticesToCloseEdges (Grid &grid, GridObjectCollection elems, TAPos &aPos, number snapThreshold) |
template<class TObjectCollection , class TAPos > | |
bool | ProjectVerticesToCloseFaces (Grid &grid, TObjectCollection &elems, TAPos &aPos, number snapThreshold) |
template<typename TDomain > | |
static void | ProjectVerticesToSphere (TDomain &dom, std::vector< number > center, number radius, number eps) |
template<typename TDomain , typename TAlgebra > | |
void | Prolongate (GridFunction< TDomain, TAlgebra > &uFine, const GridFunction< TDomain, TAlgebra > &uCoarse) |
template<typename TDomain , typename TAlgebra > | |
void | ProlongateElemwise (GridFunction< TDomain, TAlgebra > &uFine, const GridFunction< TDomain, TAlgebra > &uCoarse) |
template<typename TDomain , typename TAlgebra > | |
void | ProlongateP1 (GridFunction< TDomain, TAlgebra > &uFine, const GridFunction< TDomain, TAlgebra > &uCoarse) |
bool | QuadDiagonalIsValid (const vector3 &c0, const vector3 &c1, const vector3 &c2, const vector3 &c3) |
returns true if the normals of the resulting triangles point into the same direction More... | |
template<class vector_t > | |
number | QuadrilateralArea (const vector_t &p1, const vector_t &p2, const vector_t &p3, const vector_t &p4) |
calculates the are of the triangle defined by p1, p2 and p3 More... | |
template<class TAAPos > | |
number | QuadrilateralAspectRatio (FaceVertices *f, TAAPos &aaPos) |
Returns the aspect ratio of a quadrilateral. More... | |
template bool | QualityGridGeneration (Grid &, DelaunayInfo< Grid::VertexAttachmentAccessor< AVector3 > > &, number, int) |
template<class TAAPos > | |
bool | QualityGridGeneration (Grid &grid, DelaunayInfo< TAAPos > &info, number minAngle=0, int maxSteps=-1) |
Transforms the given triangle-set into a delaunay set. More... | |
template<class TriIter , class TAAPos > | |
bool | QualityGridGeneration (Grid &grid, TriIter trisBegin, TriIter trisEnd, TAAPos &aaPos, number minAngle=0, Grid::edge_traits::callback cbConstrainedEdge=ConsiderNone(), int maxSteps=-1) |
template<class TNumber > | |
TNumber | rad_to_deg (TNumber rad) |
template<typename TDomain > | |
static void | RandomizeDomain (TDomain &dom, number dx, number dy, number dz) |
template<class ind_t > | |
void | RangeStringToIndexList (std::vector< ind_t > &indsOut, const char *rangeString) |
template<class vector_t > | |
bool | RayBoxIntersection (const vector_t &rayFrom, const vector_t &rayDir, const vector_t &boxMin, const vector_t &boxMax, number *tNearOut=NULL, number *tFarOut=NULL) |
checks if a ray is intersecting a box More... | |
bool | RayCylinderIntersection (number &tMinOut, number &tMaxOut, const vector3 &rayFrom, const vector3 &rayDir, const vector3 &cylCenter, const vector3 &cylAxis, number cylRadius) |
returns the parameter values at which a given ray intersects an infinite cylinder. More... | |
bool | RayElementIntersection (number &sminOut, number &smaxOut, const vector2 &from, const vector2 &dir, Edge *e, Grid &g, Grid::VertexAttachmentAccessor< AVector2 > aaPos, number sml=SMALL) |
2d ray-element intersection for edges More... | |
bool | RayElementIntersection (number &sminOut, number &smaxOut, const vector2 &from, const vector2 &dir, Face *f, Grid &g, Grid::VertexAttachmentAccessor< AVector2 > aaPos, number sml=SMALL) |
2d ray-element intersection for faces More... | |
bool | RayElementIntersection (number &sminOut, number &smaxOut, const vector3 &from, const vector3 &dir, Edge *e, Grid &g, Grid::VertexAttachmentAccessor< AVector3 > aaPos, number sml=SMALL) |
3d ray-element intersection for edges More... | |
bool | RayElementIntersection (number &sminOut, number &smaxOut, const vector3 &from, const vector3 &dir, Face *f, Grid &g, Grid::VertexAttachmentAccessor< AVector3 > aaPos, number sml=SMALL) |
3d ray-element intersection for faces More... | |
bool | RayElementIntersection (number &sminOut, number &smaxOut, const vector3 &from, const vector3 &dir, Volume *v, Grid &g, Grid::VertexAttachmentAccessor< AVector3 > aaPos, number sml=SMALL) |
3d ray-element intersection for volumes More... | |
template<class TElem , class vector_t > | |
static bool | RayElementIntersectionImpl (number &sminOut, number &smaxOut, const vector_t &from, const vector_t &dir, TElem *e, Grid &g, Grid::VertexAttachmentAccessor< Attachment< vector_t > > aaPos, number sml) |
utility method for the full-dimensional RayElementIntersection implementation More... | |
template<class tree_t > | |
bool | RayElementIntersections (std::vector< RayElemIntersectionRecord< typename tree_t::elem_t > > &intersectionsOut, const tree_t &tree, const typename tree_t::vector_t &rayFrom, const typename tree_t::vector_t &rayDir, const number small=1.e-12) |
template<class vector_t > | |
bool | RayLineIntersection2d (vector_t &vOut, number &bcOut, number &tOut, const vector_t &p0, const vector_t &p1, const vector_t &vFrom, const vector_t &vDir, number sml=0) |
calculates the intersection of a ray with a Line in 2d More... | |
template<class vector_t > | |
bool | RayPlaneIntersection (vector_t &vOut, number &tOut, const vector_t &rayFrom, const vector_t &rayDir, const vector_t &p, const vector_t &n) |
calculates the intersection of the ray rayFrom+t*rayDir and the plane (x-p)*n=0. More... | |
template<class vector_t > | |
bool | RayRayIntersection2d (vector_t &vOut, number &t0Out, number &t1Out, const vector_t &p0, const vector_t &dir0, const vector_t &p1, const vector_t &dir1) |
calculates the intersection of two Rays in 2d More... | |
bool | RayRayIntersection3d (vector3 &aOut, vector3 &bOut, const vector3 &p0, const vector3 &dir0, const vector3 &p1, const vector3 &dir1) |
intersects two 3d rays More... | |
template<class vector_t > | |
bool | RayRayProjection (number &t1Out, number &t2Out, const vector_t &from1, const vector_t &dir1, const vector_t &from2, const vector_t &dir2) |
Calculates the parameter values at wich two rays are closest. More... | |
template<class vector_t > | |
int | RaySphereIntersection (number &s1Out, number &s2Out, const vector_t &v, const vector_t &dir, const vector_t ¢er, number radius) |
checks whether the line segment (v1, v2) intersect the given sphere. More... | |
template<class vector_t > | |
bool | RayTriangleIntersection (vector_t &vOut, const vector_t &p0, const vector_t &p1, const vector_t &p2, const vector_t &vFrom, const vector_t &vDir) |
calculates the intersection of a ray with a triangle More... | |
template<class vector_t > | |
bool | RayTriangleIntersection (vector_t &vOut, number &bc1Out, number &bc2Out, number &tOut, const vector_t &p0, const vector_t &p1, const vector_t &p2, const vector_t &vFrom, const vector_t &vDir, const number small=SMALL) |
calculates the intersection of a ray with a triangle More... | |
std::istream & | read_plain_txt (std::istream &inStream, ug::MathVector< 1 > &v) |
plain text input of MathVectors: read space-separated coordinates More... | |
std::istream & | read_plain_txt (std::istream &inStream, ug::MathVector< 2 > &v) |
plain text input of MathVectors: read space-separated coordinates More... | |
std::istream & | read_plain_txt (std::istream &inStream, ug::MathVector< 3 > &v) |
plain text input of MathVectors: read space-separated coordinates More... | |
std::istream & | read_plain_txt (std::istream &inStream, ug::MathVector< 4 > &v) |
plain text input of MathVectors: read space-separated coordinates More... | |
UG_API bool | ReadFile (const char *filename, std::vector< char > &file, bool bText) |
bool | ReadFile (const char *filename, vector< char > &file, bool bText) |
template<typename T > | |
void | ReadFromFile (T &v, std::string filename) |
static bool | ReadGridHeader (GridHeader &gridHeader, BinaryBuffer &in) |
static void | ReadIndices (vector< int > &vIndsOut, char *buffer, const char *delim, bool newTokBuff=true) |
template<class TElemIter > | |
static void | ReadSelectionStatesFromStream (TElemIter iterBegin, TElemIter iterEnd, ISelector &sel, BinaryBuffer &in) |
template<class TElemIter > | |
static void | ReadSubsetIndicesFromStream (TElemIter iterBegin, TElemIter iterEnd, ISubsetHandler &sh, BinaryBuffer &in) |
static bool | ReadTetrahedrons (Grid &grid, ifstream &in, Grid::VertexAttachmentAccessor< APosition > &aaPos, int &lineCount) |
static bool | ReadTriangles (Grid &grid, ifstream &in, Grid::VertexAttachmentAccessor< APosition > &aaPos, int &lineCount) |
template<typename vector_type > | |
bool | ReadVector (std::string filename, vector_type &vec, int dim) |
void | ReceiveGlobalLayout (pcl::InterfaceCommunicator< IndexLayout > &comm, const std::vector< int > &srcprocs, GlobalLayout &globalMasterLayout, GlobalLayout &globalSlaveLayout) |
template<typename matrix_type > | |
void | ReceiveMatrix (const matrix_type &A, matrix_type &M, IndexLayout &verticalMasterLayout, const std::vector< int > &srcprocs, ParallelNodes &PN) |
template<typename TPIDs , typename TReceiveScheme > | |
void | ReceiveOnInterfaces (pcl::InterfaceCommunicator< IndexLayout > &communicator, TPIDs &pids, IndexLayout &layout, TReceiveScheme &receiver) |
receives data over a interface based on a CommunicationScheme on a subgroup of processes More... | |
template<int dim> | |
MathVector< dim > | ReferenceElementCenter (ReferenceObjectID roid) |
returns the Center of a reference element at run-time More... | |
template<> | |
MathVector< 1 > | ReferenceElementCenter< 1 > (ReferenceObjectID roid) |
template<> | |
MathVector< 2 > | ReferenceElementCenter< 2 > (ReferenceObjectID roid) |
template<> | |
MathVector< 3 > | ReferenceElementCenter< 3 > (ReferenceObjectID roid) |
int | ReferenceElementDimension (ReferenceObjectID roid) |
returns the reference element dimension at run-time More... | |
bool | Refine (Grid &grid, Selector &sel, AInt &aInt, RefinementProjector *projector=NULL, bool useSnapPoints=false) |
refines selected faces and edges regularily and builds a closure on adjacent unselected faces. More... | |
bool | Refine (Grid &grid, Selector &sel, RefinementProjector *projector=NULL, bool useSnapPoints=false) |
refines selected faces and edges regularily and builds a closure on adjacent unselected faces. More... | |
template<class TElemClass > | |
static bool | Refine (std::vector< Volume * > &vNewVolumesOut, Vertex **ppNewVertexOut, Vertex **newEdgeVertices, Vertex **newFaceVertices, Vertex *newVolumeVertex, const Vertex &prototypeVertex, Vertex **vrts, int(*funcRefine)(int *, int *, bool &, vector3 *, bool *), vector3 *corners=NULL, bool *isSnapPoint=NULL) |
template<class vector_t > | |
void | ReflectVectorAtPlane (vector_t &vReflectedOut, const vector_t &v, const vector_t &n, const vector_t &r0) |
reflects a vector at a plane More... | |
void | RegisterBridge_Util_ (TRegistry *reg, string grp) |
void | release_mem (void *p) |
template<int dim, class TVrtIterator > | |
void | RemoveDoubles (Grid &grid, const TVrtIterator &iterBegin, const TVrtIterator &iterEnd, Attachment< MathVector< dim > > &aPos, number threshold) |
merges all vertices that are closer to each other than the specified threshold. More... | |
template<int dim, class TVrtIterator , class TAAPos > | |
void | RemoveDoubles (Grid &grid, const TVrtIterator &iterBegin, const TVrtIterator &iterEnd, TAAPos aaPos, number threshold) |
template<class TElemIter > | |
void | RemoveDuplicates (Grid &grid, TElemIter elemsBegin, TElemIter elemsEnd) |
Removes elements which share the same set of vertices with other elements in the given range. More... | |
template<class TGeomObj > | |
static void | RemoveEmptyInterfaces (typename GridLayoutMap::Types< TGeomObj >::Map &map) |
A helper method for GridLayoutMap::remove_empty_interfaces() More... | |
template<typename TLayout > | |
bool | RemoveInterface (TLayout &layout, int pid) |
template<typename TLayout > | |
void | RemoveInterfaces (TLayout &layout, std::vector< int > group) |
void | RemoveLowerDimSubsets (SubsetGroup &subsetGroup) |
void | RemoveWhitespaceFromString (std::string &string) |
removes all white space from a string, also within the string More... | |
static bool | ReorderCornersCCW (Vertex **cornersOut, Vertex **const cornersIn, int numCorners, int firstCorner) |
helpful if a local vertex-order is required More... | |
string | repeat (char c, int nr) |
Builds a string with specified repetitions of given character. More... | |
template<class TIterator > | |
bool | RepeatedEdgeExtrusion (Grid &grid, TIterator iterBegin, TIterator iterEnd, int numSteps, const ug::vector3 &stepDir) |
template<class TIterator > | |
bool | RepeatedFaceExtrusion (Grid &grid, TIterator iterBegin, TIterator iterEnd, int numSteps, const ug::vector3 &stepDir) |
template<class TIterator > | |
bool | RepeatedVertexExtrusion (Grid &grid, TIterator iterBegin, TIterator iterEnd, int numSteps, const ug::vector3 &stepDir) |
string | replace_chars (string &str, char cToR, char cNew) |
UG_API std::string | ReplaceAll (std::string target, const std::string &oldstr, const std::string &newstr) |
Substitutes substrings of given string with other substrings. More... | |
string | ReplaceAll (string target, const string &oldstr, const string &newstr) |
static void | ReplaceByConstrained (MultiGrid &mg, Edge *e) |
static void | ReplaceByConstrained (MultiGrid &mg, Face *f) |
static void | ReplaceByConstrained (MultiGrid &mg, Vertex *v) |
static void | ReplaceByConstraining (MultiGrid &, Vertex *) |
static void | ReplaceByConstraining (MultiGrid &mg, Edge *e) |
static void | ReplaceByConstraining (MultiGrid &mg, Face *f) |
static void | ReplaceByNormal (MultiGrid &mg, Edge *e) |
static void | ReplaceByNormal (MultiGrid &mg, Face *f) |
static void | ReplaceByNormal (MultiGrid &mg, Vertex *v) |
Quadrilateral * | ReplaceByQuadrilateral (Grid &g, Face *tri1, Face *tri2) |
Replaces the specified triangles by one quadrilateral. More... | |
template<class edge_iter_t , class TAAPos > | |
void | ReplaceByQuadrilaterals_EdgeBased (Grid &g, edge_iter_t edgesBegin, edge_iter_t edgesEnd, TAAPos aaPos) |
Attempts to replace triangles associated with the given set of edges by a set of quadrilaterals. More... | |
template<class edge_iter_t > | |
void | ReplaceByQuadrilaterals_EdgeBasedNoSort (Grid &g, edge_iter_t edgesBegin, edge_iter_t edgesEnd) |
Attempts to replace triangles associated with the given set of edges by a set of quadrilaterals. More... | |
template<class face_iter_t , class TAAPos > | |
void | ReplaceByQuadrilaterals_FaceBased (Grid &g, face_iter_t facesBegin, face_iter_t facesEnd, TAAPos aaPos) |
Attempts to replace the given set of triangles by a set of quadrilaterals. More... | |
template<class face_iter_t > | |
void | ReplaceByQuadrilaterals_FaceBasedNoSort (Grid &g, face_iter_t facesBegin, face_iter_t facesEnd) |
Attempts to replace the given set of faces by a set of quadrilaterals. More... | |
void | ReplaceIndicesInLayout (IndexLayout &layout, const std::vector< int > &vMap) |
replaces the indices in the layout based on a passed mapping More... | |
template<class TVrtIter , class TAAPos > | |
void | ReplaceLowValenceVertices (Grid &g, TVrtIter vrtsBegin, TVrtIter vrtsEnd, number maxSquaredHeightToBaseAreaRatio, TAAPos aaPos) |
template<class TVrtIter , class TAAPos > | |
void | ReplaceValence3Vertices (Grid &g, TVrtIter vrtsBegin, TVrtIter vrtsEnd, number maxSquaredHeightToBaseAreaRatio, TAAPos aaPos) |
static std::ios_base & | reset_floats (std::ios_base &o) |
used to unset flags set by std::scientific or std::fixed. More... | |
template<class TElem , class TAAInd > | |
static void | ResetSubsetIndices (Grid *pGrid, TAAInd &aaInd) |
template<class TAAPosVRT > | |
Vertex * | ResolveEdgeEdgeIntersection (Grid &grid, Edge *e1, Edge *e2, TAAPosVRT &aaPos, number snapThreshold) |
template<class TAAPosVRT > | |
bool | ResolveEdgeFaceIntersection (Grid &grid, Edge *e, Face *f, TAAPosVRT &aaPos, number snapThreshold) |
template<class TAPos > | |
bool | ResolveTriangleIntersections (Grid &grid, TriangleIterator trisBegin, TriangleIterator trisEnd, number snapThreshold, TAPos &aPos) |
template<class TAAPosVRT > | |
Vertex * | ResolveVertexEdgeIntersection (Grid &grid, Vertex *v, Edge *e, TAAPosVRT &aaPos, number snapThreshold) |
template<class TAAPosVRT > | |
bool | ResolveVertexFaceIntersection (Grid &grid, Vertex *v, Face *f, TAAPosVRT &aaPos, number snapThreshold, std::vector< Face * > *pNewFacesOut) |
template<typename TDomain , typename TAlgebra > | |
void | Restrict (GridFunction< TDomain, TAlgebra > &uCoarse, const GridFunction< TDomain, TAlgebra > &uFine) |
template<typename TDomain , typename TAlgebra > | |
void | RestrictElemwise (GridFunction< TDomain, TAlgebra > &uCoarse, const GridFunction< TDomain, TAlgebra > &uFine) |
template<typename TDomain , typename TAlgebra > | |
void | RestrictP1 (GridFunction< TDomain, TAlgebra > &uCoarse, const GridFunction< TDomain, TAlgebra > &uFine) |
bool | Retetrahedralize (Grid &grid, SubsetHandler &sh, ANumber &aVolumeConstraint, number quality=5, bool preserveBnds=false, bool preserveAll=false, APosition &aPos=aPosition, bool applyVolumeConstraint=true, int verbosity=0) |
If tetrahedrons are already present, this method refines them based on the given volume constraints. More... | |
number | ReturnValueToBool (lua_State *L, int index) |
Helper to access a return value on the stack. More... | |
int | ReturnValueToInteger (lua_State *L, int index) |
Helper to access a return value on the stack. More... | |
number | ReturnValueToNumber (lua_State *L, int index) |
Helper to access a return value on the stack. More... | |
static void | rot (number A[3][3], const number s, const number tau, const int i, const int j, const int k, const int l) |
bool | SameDimensionsInAllSubsets (const SubsetGroup &subsetGroup) |
static void | SaveCoarsenMarksToFile (ISelector &sel, const char *filename) |
template<typename TDomain > | |
void | SaveDomain (TDomain &domain, const char *filename) |
Saves the domain to a grid-file. More... | |
template void | SaveDomain< Domain1d > (Domain1d &domain, const char *filename) |
template void | SaveDomain< Domain2d > (Domain2d &domain, const char *filename) |
template void | SaveDomain< Domain3d > (Domain3d &domain, const char *filename) |
template<class TAPos > | |
static bool | SaveGrid (Grid &grid, ISubsetHandler *psh, const char *filename, TAPos &aPos) |
static bool | SaveGrid3d (Grid &grid, ISubsetHandler *psh, const char *filename, APosition1 &aPos) |
static bool | SaveGrid3d (Grid &grid, ISubsetHandler *psh, const char *filename, APosition2 &aPos) |
static bool | SaveGrid3d (Grid &grid, ISubsetHandler *psh, const char *filename, APosition3 &aPos) |
static bool | SaveGrid3d_IMPL (Grid &grid, ISubsetHandler *pSH, const char *filename, AVector3 &aPos) |
bool | SaveGridHierarchyTransformed (MultiGrid &mg, const char *filename, number offset) |
Saves a grid hierarchy by offsetting levels along the z-axis. More... | |
bool | SaveGridHierarchyTransformed (MultiGrid &mg, ISubsetHandler &sh, const char *filename, number offset) |
Saves a grid hierarchy by offsetting levels along the z-axis. More... | |
template<class TAPos > | |
bool | SaveGridLevel (MultiGrid &srcMG, ISubsetHandler &srcSH, int lvl, const char *filename, TAPos aPos) |
Saves a grid level to a file. More... | |
bool | SaveGridLevelToFile (MultiGrid &srcMG, ISubsetHandler &srcSH, int lvl, const char *filename) |
Saves a grid level to a file. More... | |
bool | SaveGridTo2DF (Grid &grid, const char *filename, ISubsetHandler *psh, AVector3 &aPos) |
Writes .2df files. 'psh' is optional and may be NULL. More... | |
bool | SaveGridToART (Grid &grid, const char *filename, ISubsetHandler *pSH=NULL, AVector3 &aPos=aPosition) |
saves a grid to art More... | |
bool | SaveGridToELE (Grid &grid, const char *filename, ISubsetHandler *pSH, APosition &aPos, ANumber *paVolumeConstraint) |
template bool | SaveGridToFile (Grid &, const char *, AVector1 &) |
template bool | SaveGridToFile (Grid &, const char *, AVector2 &) |
template bool | SaveGridToFile (Grid &, const char *, AVector3 &) |
template bool | SaveGridToFile (Grid &, ISubsetHandler &, const char *, AVector1 &) |
template bool | SaveGridToFile (Grid &, ISubsetHandler &, const char *, AVector2 &) |
template bool | SaveGridToFile (Grid &, ISubsetHandler &, const char *, AVector3 &) |
template<class TAPos > | |
bool | SaveGridToFile (Grid &grid, const char *filename, TAPos &aPos) |
template<class TAPos > | |
bool | SaveGridToFile (Grid &grid, ISubsetHandler &sh, const char *filename, TAPos &aPos) |
Saves a grid to a file. Position data is read from the specified attachment. More... | |
bool | SaveGridToLGB (Grid &grid, const char *filename, ISubsetHandler **ppSH, int numSHs, ISelector **ppSel, int numSels, ProjectionHandler *pPH, APosition aPos) |
bool | SaveGridToLGB (Grid &grid, const char *filename, ISubsetHandler **ppSH, int numSHs, ProjectionHandler *pPH, APosition aPos) |
bool | SaveGridToNCDF (Grid &grid, const char *filename, ISubsetHandler *pSH, APosition aPos) |
bool | SaveGridToOBJ (Grid &grid, const char *filename, AVector3 &aPos=aPosition, AVector2 *paTexCoord=NULL, ISubsetHandler *pSubsetHandler=NULL, std::vector< OBJMaterial > *pvMaterials=NULL) |
Saves a file from a wavefront '.obj' file. Writes optional subset-infos. More... | |
bool | SaveGridToSTL (Grid &grid, const char *filename, ISubsetHandler *pSH, AVector3 &aPos) |
bool | SaveGridToTXT (Grid &grid, const char *filename, AVector3 &aPos=aPosition) |
saves a grid to txt More... | |
bool | SaveGridToUGX (Grid &grid, ISubsetHandler &sh, const char *filename) |
Writes a grid to a ugx file. More... | |
template<class TAPosition > | |
bool | SaveGridToUGX (Grid &grid, ISubsetHandler &sh, const char *filename, TAPosition &aPos) |
Writes a grid to an ugx file. internally uses GridWriterUGX. More... | |
template<class TAPosition > | |
bool | SaveGridToVTU (Grid &grid, ISubsetHandler *psh, const char *filename, TAPosition &aPos) |
Writes a grid to a vtu (vtk unstructured mesh) file. More... | |
template<typename TGridFunction > | |
void | SaveMatrixForConnectionViewer (TGridFunction &u, MatrixOperator< typename TGridFunction::algebra_type::matrix_type, typename TGridFunction::vector_type > &A, const char *filename) |
void | SaveMatrixToMTX (const char *filename, MatrixOperator< CPUAlgebra::matrix_type, CPUAlgebra::vector_type > &A, std::string comment="%Generated with ug4.") |
Save the assembled matrix of a matrix operator to MatrixMarket format. More... | |
bool | SaveParallelGridLayout (MultiGrid &mg, const char *filename, number offset=0.1) |
Saves the grid-layout of parallel multi-grids. More... | |
template<typename TDomain > | |
static bool | SavePartitionMap (PartitionMap &pmap, TDomain &domain, const char *filename) |
bool | SaveSurfaceViewTransformed (MultiGrid &mg, const SurfaceView &sv, const char *filename, number offset=0.1) |
Saves a grid and assigns elements to subsets based on their surface-view-state. More... | |
template<typename T > | |
void | SaveToFile (const T &v, std::string filename) |
template<typename TGridFunction > | |
void | SaveVectorCSV (TGridFunction &b, const char *filename) |
template<typename TGridFunction > | |
void | SaveVectorDiffForConnectionViewer (TGridFunction &b, TGridFunction &bCompare, const char *filename) |
template<typename TGridFunction > | |
void | SaveVectorDiffForConnectionViewer (TGridFunction &u, TGridFunction &compareVec, MatrixOperator< typename TGridFunction::algebra_type::matrix_type, typename TGridFunction::vector_type > &A, const char *filename) |
template<typename TGridFunction > | |
void | SaveVectorForConnectionViewer (TGridFunction &b, const char *filename) |
template<typename TGridFunction > | |
void | SaveVectorForConnectionViewer (TGridFunction &u, MatrixOperator< typename TGridFunction::algebra_type::matrix_type, typename TGridFunction::vector_type > &A, const char *filename) |
template<class TDomain > | |
void | ScaleDomain (TDomain &dom, const vector3 ¢er, const vector3 &scale) |
Scales selected elements around the given center. More... | |
template<class TDomain > | |
void | ScaleDomain (TDomain &dom, ISelector &sel, const vector3 ¢er, const vector3 &scale) |
Scales selected elements around the given center. More... | |
template<typename TDomain > | |
static void | ScaleDomain (TDomain &dom, number sx, number sy, number sz) |
template<class TDomain > | |
void | ScaleDomainSqrtWeighting (TDomain &dom, ISelector &sel, const vector3 ¢er, const vector3 &scale) |
template<class TDomain > | |
void | ScaleDomainSquaredWeighting (TDomain &dom, ISelector &sel, const vector3 ¢er, const vector3 &scale) |
template<class TDomain > | |
void | ScaleDomainWeighting (TDomain &dom, ISelector &sel, const vector3 ¢er, const vector3 &scale) |
template<typename TGridFunction > | |
void | ScaleGF (SmartPtr< TGridFunction > scaledVecOut, ConstSmartPtr< TGridFunction > vecIn, const std::vector< number > &scalingFactors) |
Scales all functions contained in a grid function. More... | |
template<typename TBaseElem , typename TGridFunction > | |
static void | ScaleGFOnElems (ConstSmartPtr< DoFDistribution > dd, SmartPtr< TGridFunction > vecOut, ConstSmartPtr< TGridFunction > vecIn, const std::vector< number > &vScale) |
template<typename TSparseMatrix > | |
void | ScaleRow (TSparseMatrix &A, size_t i, number fac) |
template<typename TSparseMatrix > | |
void | ScaleSparseMatrixCommon (TSparseMatrix &A, double d) |
DebugID | SchurDebug ("SchurComplementDebug") |
std::string | scientificStr (double d, size_t width) |
template<int TDim, int TWorldDim> | |
bool | SCVFofSCVRayIntersection (size_t &sideOut, number &bc, MathVector< TWorldDim > &GlobalIntersectionPointOut, MathVector< TDim > &LocalIntersectionPoint, const MathVector< TWorldDim > &Root, const MathVector< TWorldDim > &Direction, bool bPositiv, const MathVector< TWorldDim > *vCornerCoords) |
template<class TIter > | |
void | SelectAreaBoundary (ISelector &sel, const TIter begin, const TIter end) |
selects sides that are only adjacent to one of the given inner elements More... | |
template<class TElem , class TIterator > | |
void | SelectAssociated (ISelector &sel, TIterator begin, TIterator end, ISelector::status_t status=ISelector::SELECTED) |
Selects all elements of type TElem, which touch an element between begin and end. More... | |
static void | SelectAssociatedConstrainedElements (MGSelector &msel, ISelector::status_t status=ISelector::SELECTED) |
template<class TSelector , class TElemIterator > | |
void | SelectAssociatedEdges (TSelector &sel, TElemIterator elemsBegin, TElemIterator elemsEnd, ISelector::status_t status=ISelector::SELECTED) |
selects all associated edges of the elements between elemsBegin and elemsEnd More... | |
void | SelectAssociatedElements (ISelector &sel, bool bSelect, bool selectVrts, bool selectEdges, bool selectFaces) |
Selects / Deselects associated (low dimensional) elements. More... | |
template<class TSelector , class TElemIterator > | |
void | SelectAssociatedFaces (TSelector &sel, TElemIterator elemsBegin, TElemIterator elemsEnd, ISelector::status_t status=ISelector::SELECTED) |
selects all associated faces of the elements between elemsBegin and elemsEnd More... | |
void | SelectAssociatedGenealogy (MGSelector &msel, bool selectAssociatedElements) |
Selects the complete genealogy of all selected elements. More... | |
template<class TSelector > | |
void | SelectAssociatedGridObjects (TSelector &sel, ISelector::status_t status) |
selects associated geometric objects of selected ones on each level. More... | |
template<class TSelector > | |
UG_API void | SelectAssociatedGridObjects (TSelector &sel, ISelector::status_t status=ISelector::SELECTED) |
selects associated geometric objects of selected ones on each level. More... | |
template void | SelectAssociatedGridObjects< MGSelector > (MGSelector &sel, ISelector::status_t status) |
template void | SelectAssociatedGridObjects< Selector > (Selector &sel, ISelector::status_t status) |
template<class TElem > | |
static void | SelectAssociatedSides (MGSelector &msel, TElem *e, ISelector::status_t status=ISelector::SELECTED) |
Recursively selects unselected sides. More... | |
template<class TSelector , class TElemIterator > | |
void | SelectAssociatedVertices (TSelector &sel, TElemIterator elemsBegin, TElemIterator elemsEnd, ISelector::status_t status=ISelector::SELECTED) |
selects all associated vertices of the elements between elemsBegin and elemsEnd More... | |
template<class TSelector , class TElemIterator > | |
void | SelectAssociatedVolumes (TSelector &sel, TElemIterator elemsBegin, TElemIterator elemsEnd, ISelector::status_t status=ISelector::SELECTED) |
selects all associated faces of the elements between elemsBegin and elemsEnd More... | |
template<class TElemIterator > | |
void | SelectBoundaryElements (ISelector &sel, TElemIterator elemsBegin, TElemIterator elemsEnd) |
selects elements that lie on the associated grid's boundary More... | |
static void | SelectChildrenOfSelectedShadowRimEdges (MGSelector &msel, ISelector::status_t status=ISelector::SELECTED) |
static void | SelectChildrenOfSelectedShadowRimFaces (MGSelector &msel, ISelector::status_t status=ISelector::SELECTED) |
static void | SelectChildrenOfSelectedShadowVertices (MGSelector &msel, ISelector::status_t status=ISelector::SELECTED) |
Recursively selects all children of selected vertices. More... | |
template<class TEdgeIterator > | |
void | SelectCreaseEdges (ISelector &sel, TEdgeIterator edgesBegin, TEdgeIterator edgesEnd, number minAngle, APosition aVrtPos, bool ignoreBoundaryEdges=true, ISelector::status_t state=ISelector::SELECTED) |
Selects edges which at which triangles meet in a large angle. More... | |
void | SelectDomainElements (ISelector &sel, bool bSelect, bool selectVrts, bool selectEdges, bool selectFaces, bool selectVolumes) |
Selects / Deselects all elements. More... | |
template<class TDomain > | |
void | SelectDomainSubset (ISelector &sel, TDomain &dom, int subsetIndex, bool bSelect, bool selectVrts, bool selectEdges, bool selectFaces, bool selectVolumes) |
Selects / Deselects elements in the given subset of the given domain. More... | |
template<class TAAPos > | |
void | SelectEdgesByDirection (Selector &sel, TAAPos &aaPos, const vector3 &dir, number minDeviationAngle, number maxDeviationAngle, bool selectFlipped) |
Selects all edges that face a given direction. More... | |
template void | SelectElementsByIndex< Edge > (ISelector &sel, const std::vector< size_t > &inds) |
template void | SelectElementsByIndex< Face > (ISelector &sel, const std::vector< size_t > &inds) |
template void | SelectElementsByIndex< Vertex > (ISelector &sel, const std::vector< size_t > &inds) |
template void | SelectElementsByIndex< Volume > (ISelector &sel, const std::vector< size_t > &inds) |
static void | SelectElementsForTargetPartition (MGSelector &msel, SubsetHandler &shPartition, int partitionIndex, bool partitionForLocalProc, bool createVerticalInterfaces) |
template<class TElemIterator > | |
void | SelectInnerElements (ISelector &sel, TElemIterator elemsBegin, TElemIterator elemsEnd) |
selects elements that do not lie on the associated grid's boundary More... | |
template<class TSelector > | |
void | SelectInnerSelectionEdges (TSelector &sel) |
selects all edges that are only connected to selected elements. More... | |
template void | SelectInnerSelectionEdges< MGSelector > (MGSelector &) |
template void | SelectInnerSelectionEdges< Selector > (Selector &) |
template<class TSelector > | |
void | SelectInnerSelectionFaces (TSelector &sel) |
selects all faces that are only connected to selected elements. More... | |
template void | SelectInnerSelectionFaces< MGSelector > (MGSelector &) |
template void | SelectInnerSelectionFaces< Selector > (Selector &) |
template<class TSelector > | |
void | SelectInnerSelectionVertices (TSelector &sel) |
selects all vertices that are only connected to selected elements. More... | |
template void | SelectInnerSelectionVertices< MGSelector > (MGSelector &) |
template void | SelectInnerSelectionVertices< Selector > (Selector &) |
template<class TIter > | |
void | SelectInterfaceElements (ISelector &sel, ISubsetHandler &sh, const TIter begin, const TIter end, bool regardSelectedNbrsOnly=false) |
Selects elements which are adjacent to higher dimensional elements of different subsets. More... | |
template<class TGeomObj > | |
void | SelectionFill (Selector &sel, typename Grid::traits< typename TGeomObj::side >::callback cbRegionBoundary) |
Extends the selection around selected objects until selected sides are reached. More... | |
template void | SelectionFill< Edge > (Selector &, Grid::vertex_traits::callback) |
template void | SelectionFill< Face > (Selector &, Grid::edge_traits::callback) |
template void | SelectionFill< Volume > (Selector &, Grid::face_traits::callback) |
template<class TVrtIter , class TAAPos > | |
void | SelectKinkVertices (Grid &grid, TVrtIter vrtsBegin, TVrtIter vrtsEnd, number thresholdAngle, bool selectDarts, TAAPos aaPos, Grid::edge_traits::callback cbConsiderEdge=ConsiderAll()) |
template<class TVrtIter , class TAAPos > | |
void | SelectKinkVertices (Selector &sel, TVrtIter vrtsBegin, TVrtIter vrtsEnd, number thresholdAngle, bool selectDarts, TAAPos aaPos, Grid::edge_traits::callback cbConsiderEdge) |
template<class TElem > | |
void | SelectLinkedElements (ISelector &sel, typename Grid::traits< TElem >::callback cbIsSelectable=ConsiderAll(), typename Grid::traits< typename TElem::side >::callback cbIsTraversable=ConsiderAll()) |
Repeatedly traverses sides of selected elements and selects associated elements. More... | |
void | SelectLinkedFlatAndDegeneratedFaces (Selector &sel, number maxDeviationAngle, bool ignoreOrientation=false, bool stopAtSelectedEdges=false, number degThreshold=SMALL, APosition &aPos=aPosition) |
Extends the selection of faces to all neighbouring faces that have a similar normal. More... | |
void | SelectLinkedFlatFaces (Selector &sel, number maxDeviationAngle, bool ignoreOrientation=false, bool stopAtSelectedEdges=false, APosition &aPos=aPosition) |
Extends the selection of faces to all neighbouring faces that have a similar normal. More... | |
void | SelectNonShadowsAdjacentToShadowsOnLevel (BoolMarker &sel, const SurfaceView &surfView, int level) |
selects all non-shadows, that are adjacent to a shadow on a grid levels More... | |
template<class TIterator > | |
static void | SelectParents (MultiGrid &mg, MGSelector &msel, TIterator iterBegin, TIterator iterEnd) |
helper for SelectAssociatedGenealogy. More... | |
template<class TGeomObj , class TAAPos > | |
bool | SelectRegion (Selector &sel, const typename TAAPos::ValueType &p, TAAPos &aaPos, typename Grid::traits< typename TGeomObj::side >::callback cbRegionBoundary) |
Selects the region which contains the given point. More... | |
template<class TElem > | |
static void | SelectSelectedRootElementsAsVSlaves (MGSelector &msel) |
template<class TAAPos > | |
void | SelectShortPolychains (ISelector &sel, number maxLength, bool closedChainsOnly, TAAPos aaPos) |
Selects regular polygonal chains which are shorter than a given threshold. More... | |
void | SelectSmoothEdgePath (Selector &sel, number thresholdDegree, number normalWeight, bool stopAtSelVrts=true, APosition &aPos=aPosition) |
selects for each selected edge all edges that can be reached by a smooth path. More... | |
void | SelectSubset (ISelector &sel, const ISubsetHandler &sh, int si, ISelector::status_t status) |
Select all elements specified by a subset index ans selection status. More... | |
template<class TAAPos > | |
void | SelectSubsetEdgesByDirection (Selector &sel, SubsetHandler &sh, int subsetIndex, TAAPos &aaPos, const vector3 &dir, number minDeviationAngle, number maxDeviationAngle, bool selectFlipped) |
Selects all subset edges that face a given direction. More... | |
template<class TElem > | |
void | SelectSubsetElements (ISelector &sel, ISubsetHandler &sh, int subsetIndex, ISelector::status_t status=ISelector::SELECTED) |
selects all elements of the given type in the given subset More... | |
template<class TElem > | |
static void | SelectUnselectedRootElementsAsVMasters (MGSelector &msel) |
void | SendGlobalLayout (pcl::InterfaceCommunicator< IndexLayout > &comm, const GlobalLayout &globalMasterLayout, const GlobalLayout &globalSlaveLayout, int pid) |
template<typename matrix_type > | |
void | SendMatrix (const matrix_type &A, IndexLayout &verticalSlaveLayout, int destproc, ParallelNodes &PN) |
template<typename TSendingScheme , typename TPIDs > | |
void | SendOnInterfaces (pcl::InterfaceCommunicator< IndexLayout > &communicator, TPIDs &pids, IndexLayout &layout, TSendingScheme &sender) |
sends data over a interface based on a CommunicationScheme to a subgroup of processes More... | |
void | SeparateFaceSubsetsByNormal (Grid &grid, SubsetHandler &sh, APosition aPos=aPosition, ANormal *paNorm=NULL, int applyToSubset=-2) |
separates faces by orthogonal axis-aligned normals. More... | |
void | SeparateFaceSubsetsByNormal (Grid &grid, SubsetHandler &sh, std::vector< vector3 > vNormals, APosition aPos=aPosition, ANormal *paNorm=NULL, int applyToSubset=-2) |
separates subset by the given normals. More... | |
bool | SeparateRegions (Grid &grid, ISubsetHandler &shVolsOut, const ISubsetHandler &shFaces, const MarkerPointManager &mpm, int firstSubsetIndex) |
finds regions by marker-points More... | |
template<class TElem > | |
void | SeparateSubsetsByLowerDimSelection (Grid &grid, SubsetHandler &sh, Selector &sel, bool appendAtEnd=false) |
Assigns all elements of the given type to subsets. More... | |
template<class TElem > | |
void | SeparateSubsetsByLowerDimSeparators (Grid &grid, SubsetHandler &sh, bool appendAtEnd, boost::function< bool(typename TElem::lower_dim_base_object *)> cbIsSeparator) |
Assigns all elements of the given type to subsets. More... | |
template<class TElem > | |
void | SeparateSubsetsByLowerDimSubsets (Grid &grid, SubsetHandler &sh, bool appendAtEnd=false) |
Assigns all elements of the given type to subsets. More... | |
template<typename TGroupObj , typename TGroupObjIter , typename TDomain , typename TAlgebra > | |
void | SequentialSubspaceCorrectionLoop (const typename TAlgebra::matrix_type &A, GridFunction< TDomain, TAlgebra > &c, const typename TAlgebra::vector_type &d, number omega_relax, ILocalSubspace< TDomain, TAlgebra, TGroupObj > &subspace, TGroupObjIter objIterBegin, TGroupObjIter objIterEnd) |
Abstract loop over TGroupObj (forward) More... | |
template<typename TGroupObj , typename TDomain , typename TAlgebra > | |
void | SequentialSubspaceCorrectionLoopBackward (const typename TAlgebra::matrix_type &A, GridFunction< TDomain, TAlgebra > &c, const typename TAlgebra::vector_type &d, number omega_relax, ILocalSubspace< TDomain, TAlgebra, TGroupObj > &subspace, typename GridFunction< TDomain, TAlgebra >::template traits< TGroupObj >::const_iterator objIterBegin, typename GridFunction< TDomain, TAlgebra >::template traits< TGroupObj >::const_iterator objIterEnd) |
Abstract loop (backward) More... | |
template<typename T > | |
void | Serialize (std::ostream &buff, const DenseMatrix< VariableArray2< T > > &mat) |
template<size_t n> | |
void | Serialize (std::ostream &buff, const DenseVector< FixedArray1< number, n > > &vec) |
template<typename T > | |
void | Serialize (std::ostream &buff, const DenseVector< VariableArray1< T > > &vec) |
template<class TIStream > | |
void | Serialize (TIStream &buf, const std::vector< bool > &vec) |
template<class TOStream > | |
void | Serialize (TOStream &buf, const IndexLayout &layout) |
template<class TOStream > | |
void | Serialize (TOStream &buf, const IndexLayout::Interface &interface) |
template<typename T , class TOStream > | |
void | Serialize (TOStream &buf, const ParallelVector< T > &v) |
Serialize for ParallelVector<T> More... | |
template<class TOStream > | |
void | Serialize (TOStream &buf, const pcl::InterfaceCommunicator< IndexLayout > &ic) |
template<class TOStream > | |
void | Serialize (TOStream &buf, const pcl::ProcessCommunicator &ic) |
template<class Key , class T , class TOStream > | |
void | Serialize (TOStream &buf, const std::map< Key, T > &m) |
writes data from a map to a binary stream More... | |
template<class T1 , class T2 , class TOStream > | |
void | Serialize (TOStream &buf, const std::pair< T1, T2 > &v) |
template<class T , class TOStream > | |
void | Serialize (TOStream &buf, const std::set< T > &m) |
writes data from a set to a binary stream More... | |
template<class TOStream > | |
void | Serialize (TOStream &buf, const std::string &str) |
Writes a string to a binary stream. More... | |
template<class TOStream > | |
void | Serialize (TOStream &buf, const std::vector< bool >::reference &boolRef) |
template<class T , class TOStream > | |
void | Serialize (TOStream &buf, const std::vector< T > &vec) |
writes data in a vector to a binary stream More... | |
template<class TOStream > | |
void | Serialize (TOStream &buf, const Variant &v) |
serializes a variant More... | |
template<typename TValueType , class TOStream > | |
void | Serialize (TOStream &buf, const Vector< TValueType > &v) |
template<class TStream , class T > | |
void | Serialize (TStream &buf, const T &val) |
template<class TStream , std::size_t N, class T > | |
void | Serialize (TStream &out, const MathVector< N, T > &val) |
template<class TElem , class TAttachment > | |
bool | SerializeAttachment (Grid &grid, TAttachment &attachment, BinaryBuffer &out) |
template<class TElem , class TAttachment > | |
bool | SerializeAttachment (Grid &grid, TAttachment &attachment, typename geometry_traits< TElem >::iterator iterBegin, typename geometry_traits< TElem >::iterator iterEnd, BinaryBuffer &out) |
copies attached values to a binary stream. More... | |
void | SerializeGlobalLayout (BinaryBuffer &stream, const GlobalLayout &globalLayout) |
bool | SerializeGridElements (Grid &grid, BinaryBuffer &out) |
Writes all grid elements into a binary-stream. More... | |
bool | SerializeGridElements (Grid &grid, GridObjectCollection goc, AInt &aIntVRT, BinaryBuffer &out) |
Writes a part of the grids elements to a binary-stream. More... | |
bool | SerializeGridElements (Grid &grid, GridObjectCollection goc, BinaryBuffer &out) |
Writes a part of the grids elements to a binary-stream. More... | |
template<typename TLocalToGlobal > | |
void | SerializeInterface (BinaryBuffer &stream, const IndexLayout::Interface &interface, const TLocalToGlobal &localToGlobal) |
template<typename TLocalToGlobal > | |
void | SerializeLayout (BinaryBuffer &stream, const IndexLayout &layout, const TLocalToGlobal &localToGlobal) |
template<typename TSparseMatrix , class TOStream > | |
void | SerializeMatrix (TOStream &buf, const TSparseMatrix &A) |
bool | SerializeMultiGridElements (MultiGrid &mg, BinaryBuffer &out) |
writes the elements of a MultiGrid to a binary stream. More... | |
bool | SerializeMultiGridElements (MultiGrid &mg, GridObjectCollection goc, BinaryBuffer &out) |
writes a part of the elements of a MultiGrid to a binary stream. More... | |
bool | SerializeMultiGridElements (MultiGrid &mg, GridObjectCollection goc, MultiElementAttachmentAccessor< AInt > &aaInt, BinaryBuffer &out, MultiElementAttachmentAccessor< AGeomObjID > *paaID=NULL) |
writes a part of the elements of a MultiGrid to a binary stream. More... | |
template<typename T , class TOStream > | |
void | SerializeParallelData (TOStream &buf, T &t) |
void | SerializeProjectionHandler (BinaryBuffer &out, ProjectionHandler &ph) |
void | SerializeProjector (BinaryBuffer &out, RefinementProjector &proj) |
size_t | SerializerGetLastID () |
template<typename matrix_type > | |
void | SerializeRow (BinaryBuffer &stream, const matrix_type &mat, size_t localRowIndex, ParallelNodes &PN) |
bool | SerializeSelector (Grid &grid, ISelector &sel, BinaryBuffer &out) |
writes the subset-indices of all elements in the grid to a stream. More... | |
bool | SerializeSelector (Grid &grid, ISelector &sel, GridObjectCollection goc, BinaryBuffer &out) |
writes the subset-indices of all elements in the goc to a stream. More... | |
bool | SerializeSubsetHandler (Grid &grid, ISubsetHandler &sh, BinaryBuffer &out) |
writes the subset-indices of all elements in the grid to a stream. More... | |
bool | SerializeSubsetHandler (Grid &grid, ISubsetHandler &sh, GridObjectCollection goc, BinaryBuffer &out) |
writes the subset-indices of all elements in the goc to a stream. More... | |
template<typename T , class TOStream > | |
void | SerializeUniquePart (TOStream &buf, const ParallelMatrix< T > &A) |
template<typename TValueType , class TOStream > | |
void | SerializeUniquePart (TOStream &buf, const ParallelVector< TValueType > &v) |
void | SetAppsPath (const char *c_strApps) |
void | SetAppsPath (const std::string &strApps) |
Initializes the APPS_PATH of ug::PathProvider. More... | |
template<class TAttachmentAccessor , class TIter , class TVal > | |
void | SetAttachmentValues (TAttachmentAccessor &aaVal, TIter elemsBegin, TIter elemsEnd, const TVal &val) |
sets attachment-values for elements between elemsBegin and elemsEnd. More... | |
void | SetBoundaryRefinementRule (GlobalBoundaryRefinementRule refRule) |
setting procedure for global boundary refinement rule variable More... | |
template<typename TSparseMatrix > | |
void | SetCol (TSparseMatrix &A, size_t i, size_t alpha, number val=0.0) |
template<typename TMatrix > | |
void | SetDirichletRow (TMatrix &mat, const DoFIndex &ind) |
template<typename TSparseMatrix > | |
void | SetDirichletRow (TSparseMatrix &A, const std::vector< size_t > vIndex) |
template<typename TSparseMatrix > | |
void | SetDirichletRow (TSparseMatrix &A, size_t i) |
template<typename TSparseMatrix > | |
void | SetDirichletRow (TSparseMatrix &A, size_t i, size_t alpha) |
static void | SetFrequency (const std::string &csvFile) |
template<typename TMatrix > | |
void | SetInterpolation (TMatrix &A, std::vector< size_t > &constrainedIndex, std::vector< std::vector< size_t > > &vConstrainingIndex, bool assembleLinearProblem=true) |
sets a matrix row corresponding to averaging the constrained index More... | |
void | SetLagrangeEdgeLocalDoFs (std::vector< LocalDoF > &vLocalDoF, const ReferenceElement &rRef, const size_t p) |
template<typename TRefElem > | |
void | SetLagrangeEdgeMultiIndex (MathVector< TRefElem::dim, int > *vMultiIndex, const TRefElem &rRef, size_t p, size_t &index) |
void | SetLagrangeFaceLocalDoFs (std::vector< LocalDoF > &vLocalDoF, const ReferenceElement &rRef, const size_t p) |
template<typename TRefElem > | |
void | SetLagrangeFaceMultiIndex (MathVector< TRefElem::dim, int > *vMultiIndex, const TRefElem &rRef, size_t p, size_t &index) |
void | SetLagrangeLocalDoFs (std::vector< LocalDoF > &vLocalDoF, const ReferenceElement &rRef, const size_t p) |
template<typename TRefElem > | |
void | SetLagrangeMultiIndex (MathVector< TRefElem::dim, int > *vMultiIndex, const TRefElem &rRef, size_t p) |
void | SetLagrangeVertexLocalDoFs (std::vector< LocalDoF > &vLocalDoF, const ReferenceElement &rRef, const size_t p) |
template<typename TRefElem > | |
void | SetLagrangeVertexMultiIndex (MathVector< TRefElem::dim, int > *vMultiIndex, const TRefElem &rRef, size_t p, size_t &index) |
void | SetLagrangeVolumeLocalDoFs (std::vector< LocalDoF > &vLocalDoF, const ReferenceElement &rRef, const size_t p) |
template<typename TRefElem > | |
void | SetLagrangeVolumeMultiIndex (MathVector< TRefElem::dim, int > *vMultiIndex, const TRefElem &rRef, size_t p, size_t &index) |
template<typename TGlobalMatrix , typename TLocalMatrix > | |
bool | SetLocalMatrix (TGlobalMatrix &mat, const TLocalMatrix &localMat) |
template<typename TGlobalMatrix , typename TLocalMatrix > | |
bool | SetLocalMatrix (TGlobalMatrix &mat, TLocalMatrix &localMat, const size_t *rowIndices, const size_t *colIndices) |
template<typename TMatrix > | |
static void | SetMatrixAsPermutation (TMatrix &PA, const TMatrix &A, const std::vector< size_t > &perm) |
template<typename T > | |
void | SetParallelData (T &t, IndexLayout &masterLayout, IndexLayout &slaveLayout, pcl::InterfaceCommunicator< IndexLayout > &ic, pcl::ProcessCommunicator &pc) |
void | SetPluginPath (const char *c_strPlugin) |
void | SetPluginPath (const std::string &strPlugin) |
Initializes the PLUGIN_PATH of ug::PathProvider. More... | |
void | SetRootPath (const char *c_strRoot) |
void | SetRootPath (const std::string &strRoot) |
Initializes the paths of ug::PathProvider. More... | |
template<typename TMatrix > | |
void | SetRow (TMatrix &mat, const DoFIndex &ind, number val=0.0) |
template<typename TSparseMatrix > | |
void | SetRow (TSparseMatrix &A, size_t i, number val=0.0) |
template<typename TSparseMatrix > | |
void | SetRow (TSparseMatrix &A, size_t i, size_t alpha, number val=0.0) |
void | SetScriptPath (const char *c_strScript) |
void | SetScriptPath (const std::string &strScript) |
Initializes the SCRIPT_PATH of ug::PathProvider. More... | |
static void | SetShinyCallLoggingMaxFrequency (int maxFreq) |
template<typename T > | |
void | SetSize (DenseMatrix< T > &t, size_t a, size_t b) |
template<typename T > | |
void | SetSize (DenseVector< T > &t, size_t a) |
template<> | |
void | SetSize (number &d, size_t a) |
template<> | |
void | SetSize (number &d, size_t a, size_t b) |
template<typename T > | |
void | SetSize (T &t, size_t a) |
template<typename T > | |
void | SetSize (T &t, size_t a, size_t b) |
void | SetSmoothSubdivisionVolumesBoundaryRefinementRule (std::string bndRefRule) |
Setting procedure for global boundary refinement rule variable. More... | |
void | SetTetRefinementRule (std::string ruleName) |
Setting procedure for global refinement rule variable. More... | |
template<typename TVector > | |
static void | SetVectorAsPermutation (TVector &Pv, const TVector &v, const std::vector< size_t > &perm) |
void | sgetrf_ (lapack_int *m, lapack_int *n, lapack_float *pColMajorMatrix, lapack_int *lda, lapack_int *ipiv, lapack_int *info) |
void | sgetri_ (lapack_int *n, lapack_float *pColMajorMatrix, lapack_int *lda, const lapack_int *ipiv, lapack_float *pWork, lapack_int *worksize, lapack_int *info) |
void | sgetrs_ (char *trans, lapack_int *n, lapack_int *nrhs, const lapack_float *pColMajorMatrix, lapack_int *lda, const lapack_int *ipiv, lapack_float *b, lapack_int *ldb, lapack_int *info) |
template<typename Matrix_type , typename Vector_type > | |
void | sgs_step (const Matrix_type &A, Vector_type &c, const Vector_type &d, const number relaxFactor) |
Performs a symmetric gauss-seidel step. Using sgs_step within a preconditioner-scheme leads to the fact that we get the correction by successive inserting the already computed values of c in c = N * d, with c being the correction and d being the defect. N denotes the matrix of the second normal-form of a linear iteration scheme. More... | |
template<typename Matrix_type , typename Vector_type > | |
bool | sgs_step (const Matrix_type &A, Vector_type &x, const Vector_type &b) |
Performs a symmetric gauss-seidel step. More... | |
number | ShapeQualityDegree (SimpleGrid &sg) |
returns the worst quality-degree of the triangles in sg. More... | |
number | ShapeQualityDegree (SimpleGrid &sg, int triIndex) |
compares the area of the triangle to the length of its edges. More... | |
template<int refDim, int dim> | |
void | ShapesAtGlobalPositionElem (std::vector< std::vector< number > > &vvShape, const std::vector< MathVector< dim > > &vGlobPos, const ReferenceObjectID roid, const std::vector< MathVector< dim > > &vCornerCoord, const LFEID &lfeID) |
template<int dim> | |
void | ShapesAtGlobalPositionVertex (std::vector< std::vector< number > > &vvShape, const std::vector< MathVector< dim > > &vGlobPos, const LFEID &lfeID) |
void | ShinyCallLoggingEnd () |
void | ShinyCallLoggingStart () |
template<typename TRefElem , int TWorldDim> | |
void | SideNormal (MathVector< TWorldDim > &normalOut, int side, const MathVector< TWorldDim > *vCornerCoords) |
Normal to a side of an Element in a given Dimension. More... | |
template<int dim> | |
void | SideNormal (ReferenceObjectID roid, MathVector< dim > &normalOut, int side, const MathVector< dim > *vCornerCoords) |
Computation of the side normal for a generic reference element: More... | |
template<> | |
void | SideNormal< 1 > (ReferenceObjectID roid, MathVector< 1 > &normalOut, int side, const MathVector< 1 > *vCornerCoords) |
template<> | |
void | SideNormal< 2 > (ReferenceObjectID roid, MathVector< 2 > &normalOut, int side, const MathVector< 2 > *vCornerCoords) |
template<> | |
void | SideNormal< 3 > (ReferenceObjectID roid, MathVector< 3 > &normalOut, int side, const MathVector< 3 > *vCornerCoords) |
template<class TEdgeIter , class TAAPos > | |
void | SimplifyPolylines (Grid &grid, TEdgeIter edgesBegin, TEdgeIter edgesEnd, number curvatureThreshold, TAAPos aaPos) |
template<class TEdgeIter , class TAAPos > | |
void | SimplifySmoothedPolylines (Grid &grid, TEdgeIter edgesBegin, TEdgeIter edgesEnd, number curvatureThreshold, TAAPos aaPos, number smoothingAlpha, int smoothingIterations) |
template<class TIterator , class AAPosVRT > | |
void | SlopeSmooth (Grid &grid, TIterator vrtsBegin, TIterator vrtsEnd, AAPosVRT &aaPos, number alpha, const vector3 &up, int numIterations) |
void | SnapMarkerPointToGridVertex (MarkerPoint &markerInOut, Grid &grid, number normalOffset, Grid::VertexAttachmentAccessor< APosition > &aaPos, Grid::VertexAttachmentAccessor< ANormal > *paaNorm=NULL) |
Snaps a marker point to a grid vertex. More... | |
void | SnapToHorizontalRaster (Grid &grid, const RasterLayers &layers, Grid::VertexAttachmentAccessor< AVector3 > aaPos) |
horizontally snaps vertices of the given (surface-) grid to the specified raster More... | |
UG_API std::string | SnipString (const std::string &str, size_t totalSize, size_t replaceLast=0, const char replace='.') |
creates a truncated string and may add truncation symbol at end More... | |
string | SnipString (const string &str, size_t totalSize, size_t replaceLast, const char replace) |
UG_API std::string | SnipStringFront (const std::string &str, size_t totalSize, size_t replaceFront=0, const char replace='.') |
creates a truncated string and may add truncation symbol at front More... | |
string | SnipStringFront (const string &str, size_t totalSize, size_t replaceFirst, const char replace) |
bool | SolveDeficit (DenseMatrix< VariableArray2< double > > &A, DenseVector< VariableArray1< double > > &x, DenseVector< VariableArray1< double > > &rhs, double deficitTolerance) |
template<typename matrix_t , typename vector_t > | |
bool | SolveLU (const DenseMatrix< matrix_t > &A, DenseVector< vector_t > &x, const size_t *pInterchange) |
template<std::size_t TDim> | |
void | SolveTensorMatrixEquation (MathMatrix< TDim, TDim > &X, const MathTensor4< TDim, TDim, TDim, TDim > &A, const MathMatrix< TDim, TDim > &rhs) |
bool | SortDD (SmartPtr< DoFDistribution > spDD1, SmartPtr< DoFDistribution > spDD2) |
bool | SortFaces4DiamondCreation (SubsetHandler &sh, std::vector< Face * > &assoFacCrossCop, Edge *&firstEdgeFac, Edge *&secondEdgeFac, Face *&assoFacConsider, VecEdge const &origFracEdg, std::vector< Vertex * > const &shiftVrtcs, Vertex *const &crossPt, Edge *&assoFacEdgBeg2Fix, Edge *&assoFacEdgEnd2Fix, Grid &grid, VecExpandCrossFracInfo &vecExpCrossFI, bool isXCross=true) |
template<class TVrtIter , class TAAPos > | |
void | SpacialVertexSort (std::multimap< number, Vertex * > &vrtsOut, const TVrtIter vrtsBegin, const TVrtIter vrtsEnd, const typename TAAPos::ValueType &rayFrom, const typename TAAPos::ValueType &rayDir, TAAPos aaPos, bool clearContainer=true) |
sorts vertices along the specified ray More... | |
static void | split_parameters (ParameterList *pParamList, const char *pParamString) |
void | split_parameters (std::vector< std::string > ¶msOut, char *strParams, const char *delims=" ") |
fills paramsOut with the parameters that are seperated by the characters given in delim. More... | |
template<typename TVector > | |
void | SplitAddRhs_OneSide (TVector &rhs, std::vector< size_t > &constrainedIndex, std::vector< std::vector< size_t > > &vConstrainingIndex) |
template<typename TVector > | |
void | SplitAddRhs_Symmetric (TVector &rhs, std::vector< size_t > &constrainedIndex, std::vector< std::vector< size_t > > &vConstrainingIndex) |
template<typename TMatrix > | |
void | SplitAddRow_OneSide (TMatrix &A, std::vector< size_t > &constrainedIndex, std::vector< std::vector< size_t > > &vConstrainingIndex) |
template<typename TMatrix > | |
void | SplitAddRow_Symmetric (TMatrix &A, std::vector< size_t > &constrainedIndex, std::vector< std::vector< size_t > > &vConstrainingIndex) |
template<class TVertex > | |
TVertex * | SplitEdge (Grid &destGrid, Grid &srcGrid, Edge *e, AVertex *paAssociatedVertices=NULL, bool bConservative=false) |
inserts new triangles and one new vertex by splitting the specified edge. More... | |
template<class TVertex > | |
TVertex * | SplitEdge (Grid &grid, Edge *e, bool bConservative=false) |
inserts new triangles and one new vertex by splitting the specified edge. More... | |
bool | SplitEdge (SimpleGrid &sg) |
bool | SplitIrregularManifoldSubset (SubsetHandler &sh, int srcIndex, int targetIndex, bool strictSplitting=false) |
Keeps a regular part in the subset and assigns all other faces to another one. More... | |
bool | SplitIrregularPolyChain (SubsetHandler &sh, int srcIndex, int targetIndex) |
Makes sure that the polychain at srcIndex is regular and not separated. More... | |
void | SplitOctahedronToTetrahedrons (Grid &grid, Octahedron *oct, Volume *parentVol, std::vector< Tetrahedron * > &vTetsOut, int bestDiag) |
Function for splitting an octahedron to 4 sub-tetrahedrons. More... | |
template<class TNumber > | |
TNumber | sq (TNumber val) |
returns the square of a value (val*val) More... | |
number | SqNormOfChebyshev1Poly (size_t k) |
number | SqNormOfChebyshev2Poly (size_t k) |
number | SqNormOfLegendrePoly (size_t k) |
template<typename T > | |
MathMatrix< 0, 0, T >::value_type | SqrtGramDeterminant (const MathMatrix< 0, 0, T > &m) |
template<size_t M, typename T > | |
MathMatrix< 0, M, T >::value_type | SqrtGramDeterminant (const MathMatrix< 0, M, T > &m) |
template<size_t N, typename T > | |
MathMatrix< N, 0, T >::value_type | SqrtGramDeterminant (const MathMatrix< N, 0, T > &m) |
UG_API bool | StartsWith (const std::string &str, const std::string &search) |
checks whether a given string starts with a specified substring More... | |
bool | StartsWith (const string &str, const string &begin) |
template<typename TGridFunction > | |
number | StdFuncIntegralOnVertex (SmartPtr< TGridFunction > spGridFct, size_t fct, int si) |
template<typename TGridFunction > | |
number | StdFuncIntegralOnVertex (TGridFunction &gridFct, size_t fct, int si) |
bool | STLFileHasASCIIFormat (const char *filename) |
static RefinementMark | StringToRefinementMark (std::string markType) |
Returns a refinement mark, given a string describing it. More... | |
template<typename A > | |
void | SubMult (A &dest, const A &vec, const double &b) |
template<typename A , typename B , typename C > | |
void | SubMult (A &dest, const B &b, const C &vec) |
template<typename A , typename B > | |
void | SubMult (DenseMatrix< A > &dest, const double &alpha, const DenseMatrix< B > &mat) |
template<typename A , typename B , typename C > | |
void | SubMult (DenseVector< A > &dest, const DenseMatrix< B > &mat, const DenseVector< C > &vec) |
template<typename A , typename B > | |
void | SubMult (DenseVector< A > &dest, const double &b, const DenseVector< B > &vec) |
void | SubMult (number &dest, const number &b, const number &vec) |
bool | SubsetIsRegularGrid (const ISubsetHandler &ish, int si) |
returns if a subset is a regular grid More... | |
bool | SubsetIsRegularGrid (const MGSubsetHandler &sh, int si) |
returns if a subset is a regular grid More... | |
bool | SubsetIsRegularGrid (const SubsetHandler &sh, int si) |
returns if a subset is a regular grid More... | |
template<typename TGridFunction , typename TBaseElem > | |
void | SubtractValueFromComponent (SmartPtr< TGridFunction > spGF, size_t fct, number sub) |
template<typename T1 > | |
DenseMatrix< T1 >::value_type | Sum1Mat1 (const DenseMatrix< T1 > &mat) |
double | Sum1Mat1 (double d) |
template<typename TGridFunction , typename TBaseElem > | |
number | SumGFValuesAt (TGridFunction *u, const char *fct_names) |
template<typename TGridFunction , typename TBaseElem > | |
number | SumGFValuesAt (TGridFunction *u, const char *fct_names, const char *subset_names) |
template<typename TGridFunction , typename TBaseElem > | |
number | SumGFValuesAt (TGridFunction *u, size_t fct) |
template<typename TGridFunction , typename TBaseElem > | |
number | SumGFValuesAt (TGridFunction *u, size_t fct, SubsetGroup &ssGroup) |
Edge * | SwapEdge (Grid &grid, Edge *e) |
swaps e and thus reconnects its two adjacent triangles. More... | |
bool | SwapEdge (SimpleGrid &sg) |
bool | SweepLine_CreateMonotones (vector< SweepLineVertex > &vrts, list< SweepLineEdge > &edges) |
inserts new edges so that edges contains a set of monotone polynomes More... | |
bool | SweepLineEdgeIntersectsSweepLine (number &xOut, const SweepLineEdge &edge, number sweepLineY) |
static void | SynchronizeAttachedGlobalAttachments (Grid &g, const pcl::ProcessCommunicator &procComm) |
template<class TElem > | |
static void | SynchronizeDistInfos (MultiGrid &mg, DistInfoSupplier &distInfos) |
template<class TVrtIter , class TAAPos3 > | |
void | TangentialSmooth (Grid &g, TVrtIter vrtsBegin, TVrtIter vrtsEnd, TAAPos3 aaPos, number alpha, size_t numIterations) |
template<class TVrtIter , class TAAPos3 > | |
void | TangentialSmoothSimple (Grid &g, TVrtIter vrtsBegin, TVrtIter vrtsEnd, TAAPos3 aaPos, number alpha, size_t numIterations) |
const double & | te_transpose (const double &t) |
template<typename T > | |
TE_TRANSPOSED< T > | te_transpose (const T &t) |
double & | te_transpose (double &t) |
void | teachAssoFacesNewVrtx (VecVertexOfFaceInfo const &segPart, Grid::FaceAttachmentAccessor< AttVrtVec > &aaVrtVecFace, Vertex *const &crossPt, Vertex *const &newShiftVrtx) |
template<std::size_t TDim, std::size_t TDimSQ> | |
void | Tens2ToVec (DenseVector< FixedArray1< number, TDimSQ > > &vec, const MathMatrix< TDim, TDim > &tens2) |
transformation of a tensor of rank 2 (R^dim x R^dim) into a vector (R^(dim^2)) More... | |
template<std::size_t TDim> | |
void | Tens4Add (MathTensor4< TDim, TDim, TDim, TDim > &tens4_out, const MathTensor4< TDim, TDim, TDim, TDim > &tens4a, const MathTensor4< TDim, TDim, TDim, TDim > &tens4b) |
template<std::size_t TDim> | |
void | Tens4Contract (MathMatrix< TDim, TDim > &tens2_out, const MathTensor4< TDim, TDim, TDim, TDim > &tens4, const MathMatrix< TDim, TDim > &tens2) |
template<std::size_t TDim> | |
void | Tens4Contract (MathTensor4< TDim, TDim, TDim, TDim > &tens4_out, const MathTensor4< TDim, TDim, TDim, TDim > &tens4a, const MathTensor4< TDim, TDim, TDim, TDim > &tens4b) |
template<std::size_t TDim> | |
void | Tens4Contract (MathTensor4< TDim, TDim, TDim, TDim > &tens4_out, const MathTensor4< TDim, TDim, TDim, TDim > &tens4a, const MathTensor4< TDim, TDim, TDim, TDim > &tens4b, const MathTensor4< TDim, TDim, TDim, TDim > &tens4c) |
template<std::size_t TDim> | |
void | Tens4Identity (MathTensor4< TDim, TDim, TDim, TDim > &Ident) |
this function computes the 4th order identity tensor More... | |
template<std::size_t TDim> | |
void | Tens4IdentitySym (MathTensor4< TDim, TDim, TDim, TDim > &Ident) |
this function computes the symmetric 4th order identity tensor More... | |
template<std::size_t TDim> | |
void | Tens4Subtract (MathTensor4< TDim, TDim, TDim, TDim > &tens4_out, const MathTensor4< TDim, TDim, TDim, TDim > &tens4a, const MathTensor4< TDim, TDim, TDim, TDim > &tens4b) |
template<std::size_t TDim, std::size_t TDimSQ> | |
void | Tens4ToMat (DenseMatrix< FixedArray2< number, TDimSQ, TDimSQ > > &mat, const MathTensor4< TDim, TDim, TDim, TDim > &tens4) |
template<std::size_t TDim> | |
void | Tens4Zero (MathTensor4< TDim, TDim, TDim, TDim > &tensOut) |
void | TerminateAbortedRun () |
Terminates the current run if AbortRun() was called and the abort-run-flag is thus set to true. More... | |
template<typename TDomain > | |
static bool | TestDomainInterfaces (TDomain *dom) |
template<typename TDomain > | |
static bool | TestDomainInterfaces (TDomain *dom, bool verbose) |
bool | TestGridLayoutMap (MultiGrid &mg, GridLayoutMap &glm, bool verbose=true) |
Checks whether the grid-layout-map on this proc is consistent with connected ones. More... | |
template<class TAPos > | |
bool | TestGridLayoutMap (MultiGrid &mg, GridLayoutMap &glm, TAPos &aPos, bool verbose=true) |
template<class TMatrix > | |
void | TestHorizontalAlgebraLayouts (const TMatrix &mat, std::vector< AlgebraID > *algebraIDs=NULL, bool verbose=false) |
Tests layouts by matching master and slave interfaces and by comparing global id's. More... | |
void | TestQuadRule () |
void | TetrahedralizeHybridTetOctGrid (MultiGrid &mg, int bestDiag) |
Conversion function for hybrid tetra-/octahedral multigrids. More... | |
template<class TAAPos > | |
number | TetrahedronAspectRatio (Volume *vol, TAAPos &aaPos) |
void | TetReferenceMappingTest (std::vector< number > vCornerCoord0, std::vector< number > vCornerCoord1, std::vector< number > vCornerCoord2, std::vector< number > vCornerCoord3, std::vector< number > vGlobPos) |
template<typename T > | |
bool | ThrowIfIsVectorNanOrTooBig (const T &t, const char *callerName) |
void | ThrowMissingVirtualMethod (const char *method) |
void | ThrowMissingVirtualMethod (const char *method, const ReferenceObjectID roid) |
vector< string > | TokenizeString (const char *str, const char delimiter=',') |
splits the string into parts based on a separating character More... | |
UG_API std::vector< std::string > | TokenizeString (const std::string &str, const char delimiter=',') |
splits the string into parts based on a separating character More... | |
UG_API void | TokenizeString (const std::string &str, std::vector< std::string > &vToken, const char delimiter=',') |
splits the string into parts based on a separating char More... | |
vector< string > | TokenizeString (const string &str, const char delimiter) |
void | TokenizeString (const string &str, vector< string > &vToken, const char delimiter) |
UG_API std::vector< std::string > | TokenizeTrimString (const std::string &str, const char delimiter=',') |
splits the string into trimmed parts based on a separating char More... | |
UG_API void | TokenizeTrimString (const std::string &str, std::vector< std::string > &vToken, const char delimiter=',') |
splits the string into trimmed parts based on a separating char More... | |
vector< string > | TokenizeTrimString (const string &str, const char delimiter) |
void | TokenizeTrimString (const string &str, vector< string > &vToken, const char delimiter) |
UG_API std::string | ToLower (std::string str) |
Returns a lower case version of the specified string. More... | |
string | ToLower (string str) |
template<typename O_t , typename G_t > | |
void | topological_ordering_core_bidirectional (O_t &o, G_t &g, bool inverse) |
template<typename O_t , typename G_t > | |
void | topological_ordering_core_directed (O_t &o, G_t &g, bool inverse) |
template<typename T > | |
std::string | ToString (const T &t) |
Convert a object supporting 'std::cout << obj ' to a string. More... | |
UG_API std::string | ToUpper (std::string str) |
Returns an upper case version of the specified string. More... | |
string | ToUpper (string str) |
bool | TransformPointSetTo2D (vector2 *pointSetOut, const vector3 *pointSet, size_t numPoints) |
transforms points from 3d space to 2d space. More... | |
template<class TAAPos > | |
UG_API void | TransformVertex (Vertex *vrt, matrix33 &m, TAAPos &aaPos) |
transforms a vertex by a given matrix More... | |
template<class TAAPos > | |
void | TransformVertex (Vertex *vrt, matrix33 &m, TAAPos &aaPos) |
transforms a vertex by a given matrix More... | |
template<class TIterator , class TAAPos > | |
UG_API void | TransformVertices (TIterator vrtsBegin, TIterator vrtsEnd, matrix33 &m, TAAPos &aaPos) |
transforms all given vertices by a given matrix More... | |
template<class TIterator , class TAAPos > | |
void | TransformVertices (TIterator vrtsBegin, TIterator vrtsEnd, matrix33 &m, TAAPos &aaPos) |
transforms all given vertices by a given matrix More... | |
template<class TDomain > | |
void | TranslateDomain (TDomain &dom, ISelector &sel, const vector3 &offset) |
Translates (moves) selected elements by the given offset. More... | |
template<typename TDomain > | |
static void | TranslateDomain (TDomain &dom, number tx, number ty, number tz) |
template<class TAAPosVRT > | |
void | TranslateSelection (Selector &sel, const typename TAAPosVRT::ValueType &offset, TAAPosVRT &aaPos) |
moves all vertices touching the selection by the specified offset. More... | |
template<size_t N, size_t M, typename T > | |
void | Transpose (MathMatrix< N, M, T > &mOut, const MathMatrix< M, N, T > &m) |
transpose a matrix More... | |
template<typename matrix_t > | |
void | Transpose (matrix_t &m) |
transpose a matrix_t, override original matrix_t More... | |
template<typename vector_t_out , typename matrix_t , typename vector_t_in > | |
void | TransposedMatVecMult (vector_t_out &vOut, const matrix_t &m, const vector_t_in &v) |
Transposed Matrix - Vector Muliplication. More... | |
template<typename vector_t_out , typename matrix_t , typename vector_t_in > | |
void | TransposedMatVecMultAdd (vector_t_out &vOut, const matrix_t &m, const vector_t_in &v) |
Transposed Matrix - Vector Muliplication. More... | |
char | TransposeModeToChar (eTransposeMode t, bool isComplex) |
template<std::size_t TDim> | |
void | TransTens4 (MathTensor4< TDim, TDim, TDim, TDim > &tens4_out, const MathTensor4< TDim, TDim, TDim, TDim > &tens4) |
template<class tree_t , class traverser_t > | |
void | TraverseBreadthFirst (const tree_t &tree, traverser_t &traverser) |
template<class tree_t , class traverser_t > | |
void | TraverseDepthFirst (const tree_t &tree, traverser_t &traverser) |
template<class tree_t , class traverser_t > | |
int | TraverseDepthFirstRecursion (const tree_t &tree, traverser_t &traverser, int curNode) |
template<class vector_t > | |
number | TriangleArea (const vector_t &p1, const vector_t &p2, const vector_t &p3) |
calculates the are of the triangle defined by p1, p2 and p3 More... | |
template<class TAAPos > | |
number | TriangleAspectRatio (FaceVertices *f, TAAPos &aaPos) |
Returns the aspect ratio of a triangle. More... | |
template<class vector_t > | |
vector_t | TriangleBarycenter (const vector_t &p1, const vector_t &p2, const vector_t &p3) |
Calculates the barycenter of a triangle (1/3) * (p1+p2+p3) More... | |
UG_API bool | TriangleBoxIntersection (const MathVector< 3 > &p0, const MathVector< 3 > &p1, const MathVector< 3 > &p2, const MathVector< 3 > &boxMin, const MathVector< 3 > &boxMax) |
checks whether a triangle and an axis-aligned box intersect. More... | |
bool | TriangleFill (Grid &grid, EdgeIterator edgesBegin, EdgeIterator edgesEnd, bool bTriangulateInside=true) |
Fills a region bounded by the given poly-chain with triangles. More... | |
bool | TriangleFill (std::vector< int > &vTriIndsOut, vector2 *polyChain, size_t polyChainSize, bool bTriangulateInside=true) |
Fills a 2d-region, bounded by the given poly-chain, with triangles. More... | |
template<class TIterator > | |
bool | TriangleFill_SweepLine (Grid &grid, TIterator edgesBegin, TIterator edgesEnd, APosition &aPosVRT, AInt &aIntVRT, SubsetHandler *pSH=NULL, int newSubsetIndex=-1) |
Performs triangulation of a polygon and resoves additional inner edges. More... | |
UG_API bool | TriangleFill_SweepLine (std::vector< int > &facesOut, const std::vector< vector2 > &srcVrts, std::vector< int > &srcEdges) |
Performs triangulation of a polygon and resoves additional inner edges. More... | |
bool | TriangleFill_SweepLine (std::vector< int > &facesOut, const std::vector< vector3 > &srcVrts, std::vector< int > &srcEdges) |
Performs triangulation of a 3d polygon and resolves inner edges. More... | |
bool | TriangleFill_SweepLine (vector< int > &facesOut, const vector< vector2 > &srcVrtsOrig, vector< int > &srcEdges) |
Performs triangulation of a polygon and resoves additional inner edges. More... | |
number | TriangleQuality (vector3 &v1, vector3 &v2, vector3 &v3) |
a simple measure for the quality of a triangle More... | |
template<class vector_t > | |
number | TriangleQuality_Area (const vector_t &p1, const vector_t &p2, const vector_t &p3) |
returns a value between 0 and 1. The higher the better. More... | |
UG_API bool | TriangleTriangleIntersection (const MathVector< 3 > &p0, const MathVector< 3 > &p1, const MathVector< 3 > &p2, const MathVector< 3 > &q0, const MathVector< 3 > &q1, const MathVector< 3 > &q2, MathVector< 3 > *ip1Out=NULL, MathVector< 3 > *ip2Out=NULL, number snapThreshold=SMALL) |
checks whether two triangles intersect and returns the intervals, if they do. More... | |
UG_API void | Triangulate (Grid &grid, Grid::VertexAttachmentAccessor< APosition > *paaPos=NULL) |
void | Triangulate (Grid &grid, Quadrilateral *q, Grid::VertexAttachmentAccessor< APosition > *paaPos=NULL) |
removes the quadrilateral and replaces it by two triangles. More... | |
void | Triangulate (Grid &grid, QuadrilateralIterator iterBegin, QuadrilateralIterator iterEnd, Grid::VertexAttachmentAccessor< APosition > *paaPos=NULL) |
replaces all specified quadrilaterals by triangles. More... | |
static int | TriCubeIntersection (const TRI &t) |
UG_API std::string | TrimString (const std::string &str) |
removes all white space from the front and end of a string More... | |
string | TrimString (const string &str) |
const char * | TrueFalseString (bool b) |
static vector2 | trunk (const vector2 &v, number smallestVal) |
template<class TAAPosVRT , class TAANormVRT , class TAAIntVRT > | |
static Vertex * | TryCollapse (const AdjustEdgeLengthDesc &desc, Grid &grid, Edge *e, TAAPosVRT &aaPos, TAANormVRT &aaNorm, TAAIntVRT &aaInt, SubsetHandler *pshMarks=NULL, EdgeSelector *pCandidates=NULL) |
template<class TAAPosVRT , class TAANormVRT , class TAAIntVRT > | |
Vertex * | TryCollapse (Grid &grid, Edge *e, TAAPosVRT &aaPos, TAANormVRT &aaNorm, TAAIntVRT &aaInt, SubsetHandler *pshMarks=NULL, EdgeSelector *pCandidates=NULL) |
template<class TAAPosVRT , class TAANormVRT > | |
bool | TrySplit (Grid &grid, Edge *e, TAAPosVRT &aaPos, TAANormVRT &aaNorm, EdgeSelector *pCandidates=NULL, SubsetHandler *pshMarks=NULL) |
template<class TAAPosVRT , class TAANormVRT > | |
static bool | TrySplit (Grid &grid, Edge *e, TAAPosVRT &aaPos, TAANormVRT &aaNorm, EdgeSelector *pCandidates=NULL, SubsetHandler *pshMarks=NULL) |
template<class TAAPosVRT , class TAANormVRT , class TAAIntVRT > | |
bool | TrySwap (Grid &grid, Edge *e, TAAPosVRT &aaPos, TAANormVRT &aaNorm, TAAIntVRT &aaInt, SubsetHandler *pshMarks=NULL, EdgeSelector *pCandidates=NULL) |
template<typename T > | |
std::string | TypeName () |
template<typename T > | |
std::string | TypeName (const T &t) |
template<class MT > | |
void | UG_LOG_Matrix (const MT &A) |
template<class VT > | |
void | UG_LOG_Vector (const VT &vec) |
const char * | UGBuildHost () |
const char * | UGCompileDate () |
int | UGFinalize () |
finalizes ug More... | |
int | UGFinalizeNoPCLFinalize () |
void | UGForceExit () |
Calls UGFinalize and terminates the application. More... | |
UG_API std::string | UGGetVersionString () |
Returns the version number of the current ug-version. More... | |
const char * | UGGitRevision () |
int | UGInit (int *argcp, char ***argvp, int parallelOutputProcRank) |
initializes ug More... | |
bool | UGInitPlugins () |
Init (if UG_PLUGINS is set) embedded or non-shared plugins. More... | |
void | UGOutputProfileStatsOnExit (bool bEnable) |
Call with true, if profiling output is desired at the end of the show. More... | |
const char * | UGSvnRevision () |
UG_API bool | UnloadPlugins () |
void | UpdateChainInfo (ChainInfo &ci, vector2 *polyChain, vector2 *edgeNormals) |
static void | UpdateProfiler_BridgeImpl (number damping) |
void | UpdateTotalMem () |
template<class TNumber > | |
TNumber | urand (TNumber lowerBound, TNumber upperBound) |
uniform distributed random numbers in [lowerBound, upperBound[. Use srand to set a seed. More... | |
bool | Valence3VertexIsObsolete (const vector3 &p, const vector3 &c0, const vector3 &c1, const vector3 &c2, number maxSquaredHeightToBaseAreaRatio) |
bool | Valence4VertexIsObsolete (const vector3 &p, const vector3 &c0, const vector3 &c1, const vector3 &c2, const vector3 &c3, number maxSquaredHeightToBaseAreaRatio) |
template<typename Matrix_type , typename Vector_type > | |
bool | Vanka_step (const Matrix_type &A, Vector_type &x, const Vector_type &b, number relax) |
template<> | |
const std::string & | Variant::to< const std::string & > () const |
template<> | |
std::string | Variant::to< std::string > () const |
template<> | |
Variant::Type | Variant::type< const std::string & > () |
template<> | |
Variant::Type | Variant::type< std::string > () |
template<typename vector_t > | |
bool | VecAbsIsLess (const vector_t &v1, const typename vector_t::value_type s) |
component-wise comparison of a vector (in the absolute values) with a given number More... | |
template<typename vector_t > | |
bool | VecAbsIsLess (const vector_t &v1, const vector_t &v2) |
component-wise comparison of two vectors (in the absolute values) More... | |
template<typename vector_t > | |
void | VecAdd (vector_t &vOut, const vector_t &v, typename vector_t::value_type s) |
Add a scalar to a vector (componentwise) More... | |
template<typename vector_t > | |
void | VecAdd (vector_t &vOut, const vector_t &v1, const vector_t &v2) |
adds two MathVector<N>s and stores the result in a third one More... | |
template<typename vector_t > | |
void | VecAdd (vector_t &vOut, const vector_t &v1, const vector_t &v2, const vector_t &v3) |
adds three MathVector<N>s and stores the result in a fourth one More... | |
template<typename vector_t > | |
void | VecAdd (vector_t &vOut, const vector_t &v1, const vector_t &v2, const vector_t &v3, const vector_t &v4) |
adds four MathVector<N>s and stores the result in a firth one More... | |
template<typename vector_t > | |
vector_t::value_type | VecAngle (const vector_t &v1, const vector_t &v2) |
returns the angle between two vectors in radiants More... | |
template<typename vector_t > | |
vector_t::value_type | VecAngleNorm (const vector_t &v1, const vector_t &v2) |
returns the angle between two vectors of length 1 in radiants More... | |
template<typename vector_t > | |
void | VecAppend (vector_t &vOut, const vector_t &v1) |
adds a MathVector<N> to a second one More... | |
template<typename vector_t > | |
void | VecAppend (vector_t &vOut, const vector_t &v1, const vector_t &v2) |
adds two MathVector<N>s and adds the result to a third one More... | |
template<typename vector_t > | |
void | VecAppend (vector_t &vOut, const vector_t &v1, const vector_t &v2, const vector_t &v3) |
adds two MathVector<N>s and adds the result to a fourth one More... | |
template<typename vector_t > | |
void | VecAppend (vector_t &vOut, const vector_t &v1, const vector_t &v2, const vector_t &v3, const vector_t &v4) |
adds two MathVector<N>s and adds the result to a fifth one More... | |
template<typename T > | |
void | VecAssign (GPUVector< T > &dest, const GPUVector< T > &v1) |
sets dest = v1 entrywise More... | |
template<typename T > | |
void | VecAssign (ParallelVector< T > &dest, const ParallelVector< T > &v1) |
template<typename vector_t > | |
void | VecAssign (vector_t &dest, const vector_t &v1) |
sets dest = v1 entrywise More... | |
template<typename TVector > | |
void | VecBroadcast (TVector *pVecDest, const TVector *pVecSrc, const IndexLayout &slaveLayoutDest, const IndexLayout &masterLayoutSrc, pcl::InterfaceCommunicator< IndexLayout > *pCom=NULL) |
broadcasts all values from master indices to slave values in a second vector More... | |
template<typename vector_target_t , typename vector_source_t > | |
void | VecCopy (vector_target_t &target, const vector_source_t &source, typename vector_target_t::value_type fill) |
Copy contents between vectors of possibly different types. More... | |
template<typename vector_t > | |
void | VecCross (vector_t &vOut, const vector_t &v1, const vector_t &v2) |
calculates the cross product of two Vectors of dimension 3. It makes no sense to use VecCross for vector_ts that have not dimension 3. More... | |
template<typename vector_t > | |
vector_t::value_type | VecDistance (const vector_t &v1, const vector_t &v2) |
returns the distance of two vector_ts. More... | |
template<typename TVector , typename TMatrix > | |
TVector::value_type | VecDistanceSq (const TVector &v1, const TVector &v2, const TMatrix &M) |
returns the squared distance of two MathVector<N>s. More... | |
template<typename vector_t > | |
vector_t::value_type | VecDistanceSq (const vector_t &v1, const vector_t &v2) |
returns the squared distance of two vector_ts. More... | |
template<typename vector_t > | |
vector_t::value_type | VecDot (const vector_t &v1, const vector_t &v2) |
returns the dot-product of two vector_ts More... | |
template<typename vector_t > | |
void | VecElemProd (vector_t &vOut, const vector_t &v1, const vector_t &v2) |
component-wise product: vOut_i = v1_i*v2_i More... | |
template<typename vector_t > | |
void | VecElemSqrt (vector_t &vOut, const vector_t &v1) |
component-wise square root: \(o_i=\sqrt {v_i}\) More... | |
void | VecExp (double &dest, const double &v) |
calculates elementwise exp More... | |
template<typename T > | |
void | VecExp (ParallelVector< T > &dest, const ParallelVector< T > &v) |
template<typename vector_t > | |
void | VecExp (vector_t &dest, const vector_t &v) |
template<typename TVector > | |
void | VecGather (TVector *pVecDest, const TVector *pVecSrc, const IndexLayout &masterLayoutDest, const IndexLayout &slaveLayoutSrc, pcl::InterfaceCommunicator< IndexLayout > *pCom=NULL) |
gathers all values in master indices of a second vector More... | |
void | VecHadamardProd (double &dest, const double &v1, const double &v2) |
calculates s = a * b (the Hadamard product) More... | |
template<typename T > | |
void | VecHadamardProd (ParallelVector< T > &dest, const ParallelVector< T > &v1, const ParallelVector< T > &v2) |
template<typename vector_t > | |
void | VecHadamardProd (vector_t &dest, const vector_t &v1, const vector_t &v2) |
template<typename vector_t > | |
vector_t::value_type | VecInftyNorm (const vector_t &v) |
template<typename vector_t > | |
void | VecInterpolateLinear (vector_t &vOut, const vector_t &v1, const vector_t &v2, typename vector_t::value_type interpAmount) |
template<typename vector_t > | |
bool | VecIsInBB (const vector_t &v, const vector_t &low, const vector_t &high) |
checks if the given point is in the bounding box given by two other points More... | |
template<typename vector_t > | |
vector_t::value_type | VecLength (const vector_t &v) |
returns the length of v. Slower than VecLengthSq. More... | |
template<typename vector_t > | |
vector_t::value_type | VecLengthSq (const vector_t &v) |
returns the squared length of v. Faster than VecLength. More... | |
void | VecLog (double &dest, const double &v) |
calculates elementwise log (natural logarithm) More... | |
template<typename T > | |
void | VecLog (ParallelVector< T > &dest, const ParallelVector< T > &v) |
template<typename vector_t > | |
void | VecLog (vector_t &dest, const vector_t &v) |
template<typename vector_t > | |
vector_t::value_type | VecMaxNorm (const vector_t &v) |
static number | VecNorm (const vector3 &a) |
template<typename vector_t > | |
void | VecNormalize (vector_t &vOut, const vector_t &v) |
scales a vector_t to unit length More... | |
double | VecNormSquared (const double &a) |
returns norm_2^2(a) More... | |
template<typename T > | |
double | VecNormSquared (const GPUVector< T > &a, const GPUVector< T > &b) |
returns norm_2^2(a) More... | |
static number | VecNormSquared (const vector3 &a) |
template<typename vector_t > | |
double | VecNormSquared (const vector_t &a) |
returns norm_2^2(a) More... | |
template<typename vector_t > | |
number | VecNormSquared (const vector_t &a, const vector_t &b, const std::vector< size_t > vIndex) |
returns norm_2^2(a) on a given index set More... | |
void | VecNormSquaredAdd (const double &a, double &s) |
calculates s += norm_2^2(a) More... | |
template<typename T > | |
void | VecNormSquaredAdd (const GPUVector< T > &a, const GPUVector< T > &b, double &sum) |
calculates s += norm_2^2(a) More... | |
template<typename vector_t > | |
void | VecNormSquaredAdd (const vector_t &a, const vector_t &b, number &sum, const std::vector< size_t > vIndex) |
calculates s += norm_2^2(a) on a given index set More... | |
template<typename vector_t > | |
void | VecNormSquaredAdd (const vector_t &a, double &sum) |
calculates s += norm_2^2(a) More... | |
template<typename vector_t > | |
vector_t::value_type | VecOneNorm (const vector_t &v) |
template<typename vector_t > | |
vector_t::value_type | VecPNorm (const vector_t &v, unsigned int p) |
template<typename vector_t > | |
void | VecPow (vector_t &vOut, const vector_t &v1, typename vector_t::value_type s) |
component-wise exponentiation of a vector More... | |
double | VecProd (const double &a, const double &b) |
returns scal<a, b> More... | |
void | VecProd (const double &a, const double &b, double &s) |
computes scal<a, b> More... | |
template<typename T > | |
double | VecProd (const GPUVector< T > &v1, const GPUVector< T > &v2) |
returns scal<a, b> More... | |
template<typename T > | |
void | VecProd (const GPUVector< T > &v1, const GPUVector< T > &v2, double &res) |
calculates s += scal<a, b> More... | |
template<typename T > | |
double | VecProd (const ParallelVector< T > &a, const ParallelVector< T > &b) |
static number | VecProd (const vector3 &a, const vector3 &b) |
template<typename vector_t > | |
double | VecProd (const vector_t &a, const vector_t &b) |
returns scal<a, b> More... | |
template<typename vector_t > | |
number | VecProd (const vector_t &a, const vector_t &b, const std::vector< size_t > vIndex) |
returns scal<a, b> on a given index set More... | |
template<typename vector_t > | |
void | VecProd (const vector_t &a, const vector_t &b, double &sum) |
calculates s += scal<a, b> More... | |
template<typename vector_t > | |
void | VecProd (const vector_t &a, const vector_t &b, number &sum, const std::vector< size_t > vIndex) |
calculates s += scal<a, b> on a given index set More... | |
void | VecProdAdd (const double &a, const double &b, double &s) |
calculates s += scal<a, b> More... | |
template<typename vector_t > | |
void | VecProdAdd (const vector_t &a, const vector_t &b, double &s) |
template<typename vector_t > | |
void | VecScale (vector_t &vOut, const vector_t &v, typename vector_t::value_type s) |
scales a MathVector<N> More... | |
void | VecScaleAdd (double &dest, double alpha1, const double &v1, double alpha2, const double &v2) |
calculates dest = alpha1*v1 + alpha2*v2. for doubles More... | |
void | VecScaleAdd (double &dest, double alpha1, const double &v1, double alpha2, const double &v2, double alpha3, const double &v3) |
calculates dest = alpha1*v1 + alpha2*v2 + alpha3*v3. for doubles More... | |
template<typename T > | |
void | VecScaleAdd (GPUVector< T > &dest, double alpha1, const GPUVector< T > &v1, double alpha2, const GPUVector< T > &v2) |
calculates dest = alpha1*v1 + alpha2*v2 More... | |
template<typename T > | |
void | VecScaleAdd (GPUVector< T > &dest, double alpha1, const GPUVector< T > &v1, double alpha2, const GPUVector< T > &v2, double alpha3, const GPUVector< T > &v3) |
calculates dest = alpha1*v1 + alpha2*v2 + alpha3*v3 More... | |
template<typename T > | |
void | VecScaleAdd (ParallelVector< T > &dest, double alpha1, const ParallelVector< T > &v1, double alpha2, const ParallelVector< T > &v2) |
template<typename T > | |
void | VecScaleAdd (ParallelVector< T > &dest, double alpha1, const ParallelVector< T > &v1, double alpha2, const ParallelVector< T > &v2, double alpha3, const ParallelVector< T > &v3) |
template<typename vector_t , template< class T > class TE_VEC> | |
void | VecScaleAdd (TE_VEC< vector_t > &dest, double alpha1, const TE_VEC< vector_t > &v1, double alpha2, const TE_VEC< vector_t > &v2) |
calculates dest = alpha1*v1 + alpha2*v2 More... | |
template<typename vector_t , template< class T > class TE_VEC> | |
void | VecScaleAdd (TE_VEC< vector_t > &dest, double alpha1, const TE_VEC< vector_t > &v1, double alpha2, const TE_VEC< vector_t > &v2, double alpha3, const TE_VEC< vector_t > &v3) |
calculates dest = alpha1*v1 + alpha2*v2 + alpha3*v3 More... | |
template<typename vector_t > | |
void | VecScaleAdd (vector_t &dest, number alpha1, const vector_t &v1, number alpha2, const vector_t &v2, const std::vector< size_t > vIndex) |
calculates dest = alpha1*v1 + alpha2*v2 on a given index set More... | |
template<typename vector_t > | |
void | VecScaleAdd (vector_t &dest, number alpha1, const vector_t &v1, number alpha2, const vector_t &v2, number alpha3, const vector_t &v3, const std::vector< size_t > vIndex) |
calculates dest = alpha1*v1 + alpha2*v2 + alpha3*v3 on a given index set More... | |
template<typename vector_t > | |
void | VecScaleAdd (vector_t &vOut, typename vector_t::value_type s1, const vector_t &v1, typename vector_t::value_type s2, const vector_t &v2) |
Scales two Vectors, adds them and returns the sum in a third vector. More... | |
template<typename vector_t > | |
void | VecScaleAdd (vector_t &vOut, typename vector_t::value_type s1, const vector_t &v1, typename vector_t::value_type s2, const vector_t &v2, typename vector_t::value_type s3, const vector_t &v3) |
Scales three Vectors, adds them and returns the sum in a fourth vector. More... | |
template<typename vector_t > | |
void | VecScaleAdd (vector_t &vOut, typename vector_t::value_type s1, const vector_t &v1, typename vector_t::value_type s2, const vector_t &v2, typename vector_t::value_type s3, const vector_t &v3, typename vector_t::value_type s4, const vector_t &v4) |
Scales four Vectors, adds them and returns the sum in a fifth vector. More... | |
template<typename vector_t > | |
void | VecScaleAppend (vector_t &vOut, typename vector_t::value_type s1, const vector_t &v1) |
Scales a Vector and adds it to a second vector. More... | |
template<typename vector_t > | |
void | VecScaleAppend (vector_t &vOut, typename vector_t::value_type s1, const vector_t &v1, typename vector_t::value_type s2, const vector_t &v2) |
Scales two Vectors, adds them and adds the sum to a third vector. More... | |
template<typename vector_t > | |
void | VecScaleAppend (vector_t &vOut, typename vector_t::value_type s1, const vector_t &v1, typename vector_t::value_type s2, const vector_t &v2, typename vector_t::value_type s3, const vector_t &v3) |
Scales three Vectors, adds them and adds the sum to a fourth vector. More... | |
template<typename vector_t > | |
void | VecScaleAppend (vector_t &vOut, typename vector_t::value_type s1, const vector_t &v1, typename vector_t::value_type s2, const vector_t &v2, typename vector_t::value_type s3, const vector_t &v3, typename vector_t::value_type s4, const vector_t &v4) |
Scales four Vectors, adds them and adds the sum to a fifth vector. More... | |
void | VecScaleAssign (double &dest, double alpha1, const double &v1) |
calculates dest = alpha1*v1. for doubles More... | |
template<typename T > | |
void | VecScaleAssign (GPUVector< T > &dest, double alpha1, const GPUVector< T > &v1) |
calculates dest = alpha1*v1 More... | |
template<typename T > | |
void | VecScaleAssign (ParallelVector< T > &dest, double alpha1, const ParallelVector< T > &v1) |
template<typename vector_t > | |
void | VecScaleAssign (vector_t &dest, double alpha1, const vector_t &v1) |
calculates dest = alpha1*v1 More... | |
template<typename vector_t > | |
void | VecScaleAssign (vector_t &dest, number alpha1, const vector_t &v1, const std::vector< size_t > vIndex) |
calculates dest = alpha1*v1 on a given index set More... | |
template<typename vector_t > | |
void | VecSet (vector_t &dest, number alpha, const std::vector< size_t > vIndex) |
sets dest = alpha on a given index set More... | |
template<typename vector_t > | |
void | VecSet (vector_t &vInOut, typename vector_t::value_type s) |
Set each vector component to scalar (componentwise) More... | |
template<typename vector_t > | |
void | VecSubtract (vector_t &vOut, const vector_t &v, typename vector_t::value_type s) |
Subtract a scalar from a vector (componentwise) More... | |
template<typename vector_t > | |
void | VecSubtract (vector_t &vOut, const vector_t &v1, const vector_t &v2) |
subtracts v2 from v1 and stores the result in a vOut More... | |
void | vecSum (double &erg, double alpha, double vec) |
template<typename T > | |
T::value_type | vecSum (double alpha, const T &vec) |
double | vecSum (double alpha, double vec) |
template<typename T > | |
void | vecSum (typename T::value_type &erg, double alpha, const T &vec) |
template<typename vector_t , typename T1 > | |
void | VectorAdd (vector_t &dest, const T1 &t1) |
transforms x += X1 into x = (1.0)*X1 + (1.0)*x More... | |
template<typename vector_t , typename T1 , typename operation , typename T2 > | |
void | VectorAssign (vector_t &dest, const AlphaMatVec_X_Expression< T1, operation, T2 > &t) |
template<typename vector_t , typename matrix_t > | |
void | VectorAssign (vector_t &dest, const MatVec_Expression< matrix_t, vector_t > &m1) |
v = Mv More... | |
template<typename vector_t , typename vector_t2 , typename vector_t3 > | |
void | VectorAssign (vector_t &dest, const vector_t2 &v1) |
v = v More... | |
template<typename vector_t , typename T0 , typename matrix_t , typename vector_t2 > | |
void | VectorAssign (vector_t &dest, double alpha0, const T0 &t0, double alpha1, const vector_t2 &v1, double alpha2, const MatVec_Expression< matrix_t, vector_t > &m2) |
template<typename vector_t , typename T1 , typename operation , typename T2 , typename T3 > | |
void | VectorAssign (vector_t &dest, double alpha1, const AlphaMatVec_X_Expression< T1, operation, T2 > &t1, double alpha2, const T3 &t2) |
template<typename vector_t , typename matrix_t > | |
void | VectorAssign (vector_t &dest, double alpha1, const MatVec_Expression< matrix_t, vector_t > &m1, double alpha2, const MatVec_Expression< matrix_t, vector_t > &m2) |
v = Mv + Mv More... | |
template<typename vector_t , typename matrix_t , typename vector_t2 > | |
void | VectorAssign (vector_t &dest, double alpha1, const MatVec_Expression< matrix_t, vector_t > &m1, double alpha2, const MatVec_Expression< matrix_t, vector_t > &m2, double alpha3, const vector_t2 &v3) |
v = Mv + Mv + v More... | |
template<typename vector_t , typename matrix_t , typename vector_t2 > | |
void | VectorAssign (vector_t &dest, double alpha1, const MatVec_Expression< matrix_t, vector_t > &m1, double alpha2, const vector_t2 &v2) |
v = Mv + v More... | |
template<typename vector_t , typename matrix_t , typename vector_t2 , typename vector_t3 > | |
void | VectorAssign (vector_t &dest, double alpha1, const MatVec_Expression< matrix_t, vector_t > &m1, double alpha2, const vector_t2 &v2, double alpha3, const vector_t3 &v3) |
v = Mv + v + v More... | |
template<typename vector_t , typename T1 , typename T2 , typename operation , typename T3 > | |
void | VectorAssign (vector_t &dest, double alpha1, const T1 &t1, double alpha2, const AlphaMatVec_X_Expression< T2, operation, T3 > &t2) |
template<typename vector_t , typename matrix_t > | |
void | VectorAssign (vector_t &dest, double alpha1, const vector_t &v1, double alpha2, const MatVec_Expression< matrix_t, vector_t > &m2) |
v = v + Mv More... | |
template<typename vector_t , typename vector_t1 , typename vector_t2 , typename vector_t3 > | |
void | VectorAssign (vector_t &dest, double alpha1, const vector_t1 &v1, double alpha2, const vector_t2 &v2, double alpha3, const vector_t3 &v3) |
v = v + v + v More... | |
template<typename vector_t , typename matrix_t , typename vector_t2 , typename T3 > | |
void | VectorAssign (vector_t &dest, double alpha1, const vector_t2 &v1, double alpha2, const MatVec_Expression< matrix_t, vector_t > &m2, double alpha3, const T3 &t3) |
template<typename vector_t , typename vector_t2 , typename vector_t3 > | |
void | VectorAssign (vector_t &dest, double alpha1, const vector_t2 &v1, double alpha2, const vector_t3 &v2) |
v = v + v More... | |
template<typename vector_t , typename T1 > | |
void | VectorSub (vector_t &dest, const T1 &t1) |
transforms x -= X1 into x = (-1.0)*X1 + (1.0)*x More... | |
template<std::size_t TDim, std::size_t TDimSQ> | |
void | VecToTens2 (MathMatrix< TDim, TDim > &tens2, const DenseVector< FixedArray1< number, TDimSQ > > &vec) |
transformation of a vector (R^(dim^2)) into a tensor of rank 2 (R^dim x R^dim) More... | |
template<typename vector_t > | |
vector_t::value_type | VecTwoNorm (const vector_t &v) |
template<typename vector_t > | |
vector_t::value_type | VecTwoNormSq (const vector_t &v) |
template<class TAAPos > | |
UG_API number | VertexDistance (Vertex *v0, Vertex *v1, TAAPos &aaPos) |
Returns the distance between two vertices. More... | |
template<class TAAPos > | |
number | VertexDistance (Vertex *v0, Vertex *v1, TAAPos &aaPos) |
Returns the distance between two vertices. More... | |
template<class TAAPos > | |
UG_API number | VertexDistanceSq (Vertex *v0, Vertex *v1, TAAPos &aaPos) |
Returns the squared distance between two vertices. More... | |
template<class TAAPos > | |
number | VertexDistanceSq (Vertex *v0, Vertex *v1, TAAPos &aaPos) |
Returns the squared distance between two vertices. More... | |
bool | VertexGroupsMatch (const IVertexGroup *elem, const IVertexGroup &desc) |
Checks whether two vertex groups contain the same vertices. More... | |
bool | VertexGroupsMatch (const Vertex *elem, const IVertexGroup &desc) |
specialization of VertexGroupsMatch for single Vertex More... | |
template<class TIter > | |
void | VisitAll (const TIter begin, const TIter end, boost::function< void(typename TIter::value_type)> visitorCallback) |
Visits all elements between begin and end and executes the visitorCallback on them. More... | |
template<class TIter > | |
void | VisitAreaBoundary (Grid &g, const TIter begin, const TIter end, boost::function< bool(typename TIter::value_type)> cbBelongsToArea, boost::function< void(typename Pointer2Value< typename TIter::value_type >::type::side)> cbVisitSide) |
Visits all boundary elements of the area specified through the iterators. More... | |
bool | VolumeContains (Volume *v, EdgeVertices *ev) |
returns true if the given volume contains the given edge More... | |
bool | VolumeContains (Volume *v, FaceVertices *fv) |
returns true if the given volume contains the given face More... | |
bool | VolumeContains (VolumeVertices *v, Vertex *vrt) |
returns true if the given volume contains the given vertex More... | |
void | vorticity (TGridFunction &vort, TGridFunction &u) |
void | vorticityFV1 (TGridFunction &vort, TGridFunction &u) |
void | vorticityFVCR (TGridFunction &vort, TGridFunction &u) |
template<typename TGridFunction > | |
void | vtk_export_ho (SmartPtr< TGridFunction > u, const std::vector< std::string > &vFct, size_t order, SmartPtr< VTKOutput< TGridFunction::domain_type::dim > > vtkOutput, const char *filename) |
template<typename TGridFunction > | |
void | vtk_export_ho (SmartPtr< TGridFunction > u, const std::vector< std::string > &vFct, size_t order, SmartPtr< VTKOutput< TGridFunction::domain_type::dim > > vtkOutput, const char *filename, const std::vector< std::string > &vSubset) |
template<typename TGridFunction > | |
void | vtk_export_ho (SmartPtr< TGridFunction > u, const std::vector< std::string > &vFct, size_t order, SmartPtr< VTKOutput< TGridFunction::domain_type::dim > > vtkOutput, const char *filename, size_t step, number time) |
template<typename TGridFunction > | |
void | vtk_export_ho (SmartPtr< TGridFunction > u, const std::vector< std::string > &vFct, size_t order, SmartPtr< VTKOutput< TGridFunction::domain_type::dim > > vtkOutput, const char *filename, size_t step, number time, const std::vector< std::string > &vSubset) |
export a solution from a high-order ansatz space to vtk file(s) More... | |
template<typename TGridFunction , int trueDim> | |
void | vtk_export_ho (SmartPtr< TGridFunction > u, const std::vector< std::string > &vFct, size_t order, SmartPtr< VTKOutput< TGridFunction::domain_type::dim > > vtkOutput, const char *filename, size_t step, number time, const SubsetGroup &ssg) |
template<typename T > | |
bool | WarnIfIsVectorNanOrTooBig (const T &t, const char *callerName) |
template<class TIterator , class AAPosVRT > | |
void | WeightedEdgeSmooth (Grid &grid, TIterator vrtsBegin, TIterator vrtsEnd, AAPosVRT &aaPos, number alpha, int numIterations, Grid::vertex_traits::callback cbSmoothVertex) |
template<class TIterator , class AAPosVRT > | |
void | WeightedFaceSmooth (Grid &grid, TIterator vrtsBegin, TIterator vrtsEnd, AAPosVRT &aaPos, number alpha, int numIterations, Grid::vertex_traits::callback cbSmoothVertex) |
template<class TIterator , class AAPosVRT > | |
void | WeightedNormalSmooth (Grid &grid, TIterator vrtsBegin, TIterator vrtsEnd, AAPosVRT &aaPos, number alpha, number dotThreshold, int numIterations) |
bool | WildcardMatch (const char *str, const char *pattern) |
wildcard matches like bla.* or *.bla or t?st More... | |
std::ostream & | write_plain_txt (std::ostream &outStream, const ug::MathVector< 1 > &v) |
plain text output of MathVector objects: space-separated coordinates More... | |
std::ostream & | write_plain_txt (std::ostream &outStream, const ug::MathVector< 2 > &v) |
plain text output of MathVector objects: space-separated coordinates More... | |
std::ostream & | write_plain_txt (std::ostream &outStream, const ug::MathVector< 3 > &v) |
plain text output of MathVector objects: space-separated coordinates More... | |
std::ostream & | write_plain_txt (std::ostream &outStream, const ug::MathVector< 4 > &v) |
plain text output of MathVector objects: space-separated coordinates More... | |
template<typename TDomain > | |
void | WriteAlgebraIndices (std::string name, ConstSmartPtr< TDomain > domain, ConstSmartPtr< DoFDistribution > dd) |
void | WriteCallLog (const char *filename) |
void | WriteCallLog (const char *filename, int procId) |
template<class TElem , class TAValue > | |
void | WriteDebugValuesToFile (const char *filename, Grid &grid, TAValue &aVal, bool levelWise) |
Writes level and center of each object together with a custom value to a file. More... | |
static void | WriteEdges (ofstream &out, EdgeIterator edgesBegin, EdgeIterator edgesEnd, int indexDimension, Grid::VertexAttachmentAccessor< AInt > &aaInt) |
static void | WriteFaces (ofstream &out, FaceIterator facesBegin, FaceIterator facesEnd, int indexDimension, Grid::VertexAttachmentAccessor< AInt > &aaInt) |
static void | WriteGridHeader (const GridHeader &gridHeader, BinaryBuffer &out) |
static bool | WriteLGM (Grid &grid, const char *lgmFilename, const char *problemName, const char *lgmName, int convex, const SubsetHandler &shFaces, const SubsetHandler &shVolumes, EdgeSelector &LineSel, VertexSelector &SurfVrtSel, Grid::EdgeAttachmentAccessor< AInt > &aaLineIndex, Grid::VertexAttachmentAccessor< AInt > &aaSurfVrtIndex, Grid::VertexAttachmentAccessor< AVector3 > &aaPos) |
writes an *lgm file More... | |
template<class TFunction > | |
void | WriteMatrixToConnectionViewer (const char *filename, const typename TFunction::algebra_type::matrix_type &A, const TFunction &u) |
static bool | WriteNG (Grid &grid, const SubsetHandler &shFaces, const SubsetHandler &shVolumes, const char *ngFilename, VertexSelector &SurfVrtSel, VertexSelector &InnVrtSel, VertexSelector &NgVrtSel, EdgeSelector &LineSel, Grid::EdgeAttachmentAccessor< AInt > &aaLineIndex, Grid::VertexAttachmentAccessor< AInt > &aaInnVrtIndex, Grid::VertexAttachmentAccessor< AInt > &aaNgVrtIndex, Grid::FaceAttachmentAccessor< AInt > &aaFaceIndex, Grid::VertexAttachmentAccessor< AVector3 > &aaPos) |
writes an *ng file More... | |
template<class TElem > | |
static void | WriteParent (MultiGrid &mg, TElem *pElem, MultiElementAttachmentAccessor< AInt > &aaInt, BinaryBuffer &out) |
void | WriteProfileDataXML (const char *filename) |
Writes profile data of process 0 to the specified file. More... | |
void | WriteProfileDataXML (const char *filename, int procId) |
Writes profile data to the specified file. More... | |
template<class TElemIter > | |
static void | WriteSelectionStatesToStream (TElemIter iterBegin, TElemIter iterEnd, ISelector &sel, BinaryBuffer &out) |
template<class TElemIter > | |
static void | WriteSubsetIndicesToStream (TElemIter iterBegin, TElemIter iterEnd, ISubsetHandler &sh, BinaryBuffer &out) |
template<class TFunction > | |
void | WriteVectorCSV (const char *filename, const typename TFunction::algebra_type::vector_type &b, const TFunction &u) |
template<typename Vector_type , typename postype > | |
void | WriteVectorCSV (const char *filename, const Vector_type &b, postype *positions, int dimensions) |
writes to a file in somewhat SparseMatrix-market format (for connection viewer) More... | |
template<class TFunction > | |
void | WriteVectorToConnectionViewer (const char *filename, const typename TFunction::algebra_type::matrix_type &A, const typename TFunction::algebra_type::vector_type &b, const TFunction &u, const typename TFunction::algebra_type::vector_type *pCompareVec=NULL) |
template<class TFunction > | |
void | WriteVectorToConnectionViewer (const char *filename, const typename TFunction::algebra_type::vector_type &b, const TFunction &u, const typename TFunction::algebra_type::vector_type *pCompareVec=NULL) |
UG_API std::string | XMLStringEscape (std::string s) |
returns a string suitable for XML files this functions escapes the characters <, >, ', " and & More... | |
string | XMLStringEscape (string s) |
void | zgetrf_ (lapack_int *m, lapack_int *n, std::complex< lapack_double > *pColMajorMatrix, lapack_int *lda, lapack_int *ipiv, lapack_int *info) |
void | zgetrs_ (char *trans, lapack_int *n, lapack_int *nrhs, const std::complex< lapack_double > *pColMajorMatrix, lapack_int *lda, const lapack_int *ipiv, std::complex< lapack_double > *b, lapack_int *ldb, lapack_int *info) |
template<size_t N, typename T > | |
MathMatrix< N, N, T >::value_type | Determinant (const MathMatrix< N, N, T > &m) |
Determinant of a matrix. More... | |
template<typename T > | |
MathMatrix< 1, 1, T >::value_type | Determinant (const MathMatrix< 1, 1, T > &m) |
Determinant of a matrix. More... | |
template<typename T > | |
MathMatrix< 2, 2, T >::value_type | Determinant (const MathMatrix< 2, 2, T > &m) |
Determinant of a matrix. More... | |
template<typename T > | |
MathMatrix< 3, 3, T >::value_type | Determinant (const MathMatrix< 3, 3, T > &m) |
Determinant of a matrix. More... | |
template<size_t N, size_t M, typename T > | |
MathMatrix< N, M, T >::value_type | GramDeterminant (const MathMatrix< N, M, T > &m) |
Gram Determinant of a matrix. More... | |
template<typename T > | |
MathMatrix< 1, 1, T >::value_type | GramDeterminant (const MathMatrix< 1, 1, T > &m) |
Gram Determinant of a matrix. More... | |
template<typename T > | |
MathMatrix< 2, 2, T >::value_type | GramDeterminant (const MathMatrix< 2, 2, T > &m) |
Gram Determinant of a matrix. More... | |
template<typename T > | |
MathMatrix< 3, 3, T >::value_type | GramDeterminant (const MathMatrix< 3, 3, T > &m) |
Gram Determinant of a matrix. More... | |
template<size_t N, size_t M, typename T > | |
MathMatrix< N, M, T >::value_type | SqrtGramDeterminant (const MathMatrix< N, M, T > &m) |
Square root of Gram Determinant of a matrix. More... | |
template<typename T > | |
MathMatrix< 1, 1, T >::value_type | SqrtGramDeterminant (const MathMatrix< 1, 1, T > &m) |
Square root of Gram Determinant of a matrix. More... | |
template<typename T > | |
MathMatrix< 2, 2, T >::value_type | SqrtGramDeterminant (const MathMatrix< 2, 2, T > &m) |
Square root of Gram Determinant of a matrix. More... | |
template<typename T > | |
MathMatrix< 3, 3, T >::value_type | SqrtGramDeterminant (const MathMatrix< 3, 3, T > &m) |
Square root of Gram Determinant of a matrix. More... | |
template<size_t N, size_t M, typename T > | |
MathMatrix< N, M, T >::value_type | Inverse (MathMatrix< N, M, T > &mOut, const MathMatrix< M, N, T > &m) |
Inverse of a matrix. More... | |
template<typename T > | |
MathMatrix< 1, 1, T >::value_type | Inverse (MathMatrix< 1, 1, T > &mOut, const MathMatrix< 1, 1, T > &m) |
Inverse of a matrix. More... | |
template<typename T > | |
MathMatrix< 2, 2, T >::value_type | Inverse (MathMatrix< 2, 2, T > &mOut, const MathMatrix< 2, 2, T > &m) |
Inverse of a matrix. More... | |
template<typename T > | |
MathMatrix< 3, 3, T >::value_type | Inverse (MathMatrix< 3, 3, T > &mOut, const MathMatrix< 3, 3, T > &m) |
Inverse of a matrix. More... | |
template<size_t N, size_t M, typename T > | |
MathMatrix< N, M, T >::value_type | InverseTransposed (MathMatrix< N, M, T > &mOut, const MathMatrix< M, N, T > &m) |
Transposed-Inverse of a Matrix (= Inverse-Transposed of a Matrix) More... | |
template<typename T > | |
MathMatrix< 1, 1, T >::value_type | InverseTransposed (MathMatrix< 1, 1, T > &mOut, const MathMatrix< 1, 1, T > &m) |
Transposed-Inverse of a Matrix (= Inverse-Transposed of a Matrix) More... | |
template<typename T > | |
MathMatrix< 2, 2, T >::value_type | InverseTransposed (MathMatrix< 2, 2, T > &mOut, const MathMatrix< 2, 2, T > &m) |
Transposed-Inverse of a Matrix (= Inverse-Transposed of a Matrix) More... | |
template<typename T > | |
MathMatrix< 3, 3, T >::value_type | InverseTransposed (MathMatrix< 3, 3, T > &mOut, const MathMatrix< 3, 3, T > &m) |
Transposed-Inverse of a Matrix (= Inverse-Transposed of a Matrix) More... | |
template<size_t N, size_t M, typename T > | |
MathMatrix< N, M, T >::value_type | RightInverse (MathMatrix< N, M, T > &mOut, const MathMatrix< M, N, T > &m) |
Right-Inverse of a Matrix. More... | |
template<typename T > | |
MathMatrix< 1, 1, T >::value_type | RightInverse (MathMatrix< 1, 1 > &mOut, const MathMatrix< 1, 1 > &m) |
Right-Inverse of a Matrix. More... | |
template<typename T > | |
MathMatrix< 2, 2, T >::value_type | RightInverse (MathMatrix< 2, 2 > &mOut, const MathMatrix< 2, 2 > &m) |
Right-Inverse of a Matrix. More... | |
template<typename T > | |
MathMatrix< 3, 3, T >::value_type | RightInverse (MathMatrix< 3, 3 > &mOut, const MathMatrix< 3, 3 > &m) |
Right-Inverse of a Matrix. More... | |
template<size_t N, size_t M, typename T > | |
MathMatrix< N, M, T >::value_type | LeftInverse (MathMatrix< N, M, T > &mOut, const MathMatrix< M, N, T > &m) |
Left-Inverse of a Matrix. More... | |
template<typename T > | |
MathMatrix< 1, 1, T >::value_type | LeftInverse (MathMatrix< 1, 1 > &mOut, const MathMatrix< 1, 1 > &m) |
Left-Inverse of a Matrix. More... | |
template<typename T > | |
MathMatrix< 2, 2, T >::value_type | LeftInverse (MathMatrix< 2, 2 > &mOut, const MathMatrix< 2, 2 > &m) |
Left-Inverse of a Matrix. More... | |
template<typename T > | |
MathMatrix< 3, 3, T >::value_type | LeftInverse (MathMatrix< 3, 3 > &mOut, const MathMatrix< 3, 3 > &m) |
Left-Inverse of a Matrix. More... | |
template<size_t N, size_t M, typename T > | |
MathMatrix< N, M, T >::value_type | GeneralizedInverse (MathMatrix< N, M, T > &mOut, const MathMatrix< M, N, T > &m) |
template<typename T > | |
MathMatrix< 1, 1, T >::value_type | Trace (const MathMatrix< 1, 1, T > &m) |
Trace of a Matrix. More... | |
template<typename T > | |
MathMatrix< 2, 2, T >::value_type | Trace (const MathMatrix< 2, 2, T > &m) |
Trace of a Matrix. More... | |
template<typename T > | |
MathMatrix< 3, 3, T >::value_type | Trace (const MathMatrix< 3, 3, T > &m) |
Trace of a Matrix. More... | |
template<std::size_t fromN, std::size_t toN, typename T > | |
MathVector< toN, T > | MathVectorFrom (const MathVector< fromN, T > &v) |
helper method which creates a vector from another vector of different dimensionality More... | |
template<std::size_t N, typename T > | |
MathVector< N, T > | MathVectorFrom (const MathVector< N, T > &v) |
helper method which creates a vector from another vector of different dimensionality More... | |
bool | TriangleCircumcenter (vector2 ¢erOut, const vector2 &p1, const vector2 &p2, const vector2 &p3) |
Calculates the circumcenter of a triangle. More... | |
bool | TriangleCircumcenter (vector3 ¢erOut, const vector3 &p1, const vector3 &p2, const vector3 &p3) |
Calculates the circumcenter of a triangle. More... | |
template<typename TKey > | |
size_t | hash_key (const TKey &key) |
The hashing method can be specialized for different types. More... | |
template<class T > | |
T * | GetDataPtr (std::vector< T > &v) |
Returns a pointer to the array which is managed by the std::vector. More... | |
template<class T > | |
const T * | GetDataPtr (const std::vector< T > &v) |
Returns a pointer to the array which is managed by the std::vector. More... | |
template<class TLayout > | |
void | GenerateGlobalAlgebraIDs (pcl::InterfaceCommunicator< TLayout > &communicator, std::vector< AlgebraID > &idsOut, size_t numIDs, const TLayout &masterLayout, const TLayout &slaveLayout) |
Generates a set of unique global algebra ids. More... | |
template<typename TMatrix > | |
void | MatAddSlaveRowsToMasterRowOverlap0 (TMatrix &mat) |
Generates a set of unique global algebra ids. More... | |
template<typename TMatrix > | |
void | MatMakeConsistentOverlap0 (TMatrix &mat) |
Generates a set of unique global algebra ids. More... | |
template<typename TVector > | |
void | AdditiveToConsistent (TVector *pVec, const IndexLayout &masterLayout, const IndexLayout &slaveLayout, pcl::InterfaceCommunicator< IndexLayout > *pCom=NULL) |
changes parallel storage type from additive to consistent More... | |
template<typename TVector > | |
void | UniqueToConsistent (TVector *pVec, const IndexLayout &masterLayout, const IndexLayout &slaveLayout, pcl::InterfaceCommunicator< IndexLayout > *pCom=NULL) |
changes parallel storage type from unique to consistent More... | |
template<typename TVector > | |
void | CopyValues (TVector *pVec, const IndexLayout &sourceLayout, const IndexLayout &targetLayout, pcl::InterfaceCommunicator< IndexLayout > *pCom=NULL) |
Copies values from the source to the target layout. More... | |
template<typename TVector > | |
void | AdditiveToUnique (TVector *pVec, const IndexLayout &masterLayout, const IndexLayout &slaveLayout, pcl::InterfaceCommunicator< IndexLayout > *pCom=NULL) |
changes parallel storage type from additive to unique More... | |
template<typename TVector > | |
void | SetInterfaceValues (TVector *pVec, const IndexLayout::Interface &interface, typename TVector::value_type val) |
sets the values of a vector to a given number only on the interface indices More... | |
template<typename TVector > | |
void | SetLayoutValues (TVector *pVec, const IndexLayout &layout, typename TVector::value_type val) |
sets the values of a vector to a given number only on the layout indices More... | |
template<typename TVector > | |
void | ScaleLayoutValues (TVector *pVec, const IndexLayout &layout, number scale) |
scales the values of a vector by a given number only on the layout indices More... | |
template<typename TVector > | |
void | ConsistentToUnique (TVector *pVec, const IndexLayout &slaveLayout) |
changes parallel storage type from consistent to unique More... | |
template<typename TVector > | |
void | VecSubtractOnLayout (TVector *pVec, const IndexLayout &masterLayout, const IndexLayout &slaveLayout, pcl::InterfaceCommunicator< IndexLayout > *pCom=NULL) |
subtracts values of slave layout from master layout and sets slave layouts to negative of difference More... | |
template<typename TVector > | |
void | VecSubtractOneSlaveFromMaster (TVector *pVec, const IndexLayout &masterLayout, const IndexLayout &slaveLayout, pcl::InterfaceCommunicator< IndexLayout > *pCom=NULL) |
subtracts values of only one slave dof per master on layout More... | |
template<typename TVector > | |
void | VecCopy (TVector *pVec, const IndexLayout &masterLayout, const IndexLayout &slaveLayout, pcl::InterfaceCommunicator< IndexLayout > *pCom=NULL) |
copy a vector only at a layout More... | |
void | CommunicateConnections (std::vector< std::vector< int > > &connectionsToProcsOut, std::vector< std::vector< int > > &connectionsToSubDomsOut, IndexLayout &masterLayout, IndexLayout &slaveLayout, int highestReferencedIndex, pcl::IDomainDecompositionInfo &ddinfo) |
fills a connection list, which gives the connected processes to each interface. More... | |
void | ComputeOrientationOffset (std::vector< size_t > &vOrientOffset, Volume *vol, Face *face, size_t nrFace, const LFEID &lfeid) |
returns the orientation offsets if required More... | |
void | ComputeOrientationOffset (std::vector< size_t > &vOrientOffset, Volume *vol, Edge *edge, size_t nrEdge, const LFEID &lfeid) |
returns the orientation offsets if required More... | |
void | ComputeOrientationOffset (std::vector< size_t > &vOrientOffset, Face *face, Edge *edge, size_t nrEdge, const LFEID &lfeid) |
returns the orientation offsets if required More... | |
void | ComputeOrientationOffset (std::vector< size_t > &vOrientOffset, GridObject *Elem, GridObject *SubElem, size_t nrSub, const LFEID &lfeid) |
returns the orientation offsets if required More... | |
template<typename TDomain > | |
void | LoadDomain (TDomain &domain, const char *filename) |
Loads a domain from a grid-file. More... | |
template<typename TDomain > | |
void | LoadDomain (TDomain &domain, const char *filename, int procId) |
Loads a domain from a grid-file. More... | |
template<int dim> | |
bool | InnerDoFPosition (std::vector< MathVector< dim > > &vPos, const ReferenceObjectID roid, const std::vector< MathVector< dim > > &vCornerCoord, const LFEID &lfeID) |
� More... | |
template<typename TDomain > | |
bool | InnerDoFPosition (std::vector< MathVector< TDomain::dim > > &vPos, GridObject *elem, const TDomain &domain, const LFEID &lfeID) |
� More... | |
template<int dim> | |
bool | DoFPosition (std::vector< MathVector< dim > > &vPos, const ReferenceObjectID roid, const std::vector< MathVector< dim > > &vCornerCoord, const LFEID &lfeID) |
� More... | |
template<typename TDomain > | |
bool | DoFPosition (std::vector< MathVector< TDomain::dim > > &vPos, GridObject *elem, const TDomain &domain, const LFEID &lfeID) |
� More... | |
template<int dim> | |
void | ShapesAtGlobalPosition (std::vector< std::vector< number > > &vvShape, const std::vector< MathVector< dim > > &vGlobPos, const ReferenceObjectID roid, const std::vector< MathVector< dim > > &vCornerCoord, const LFEID &lfeID) |
template<typename TDomain > | |
void | ShapesAtGlobalPosition (std::vector< std::vector< number > > &vvShape, const std::vector< MathVector< TDomain::dim > > &vGlobPos, GridObject *elem, const TDomain &domain, const LFEID &lfeID) |
template<typename TDomain > | |
void | ExtractAlgebraIndices (ConstSmartPtr< TDomain > domain, ConstSmartPtr< DoFDistribution > dd, std::vector< size_t > &fctIndex) |
template<typename TDomain > | |
bool | CheckDoFPositions (ConstSmartPtr< TDomain > domain, ConstSmartPtr< DoFDistribution > dd) |
template<typename TFunction > | |
bool | CheckDoFPositions (const TFunction &u) |
std::ostream & | operator<< (std::ostream &out, const LocalDoF &v) |
writes to the output stream More... | |
std::ostream & | operator<< (std::ostream &out, const LFEID &v) |
writes the Identifier to the output stream More... | |
LFEID | ConvertStringToLFEID (const char *type, int dim, int order) |
returns the LFEID for a combination of Space and order More... | |
LFEID | ConvertStringToLFEID (const char *type, int dim) |
returns the LFEID for a combination of Space and order More... | |
bool | CheckElementConsistency (MultiGrid &mg, Vertex *v) |
Checks whether associated elements and associated constrained/constraining objects are fine. More... | |
bool | CheckElementConsistency (MultiGrid &mg, Edge *e) |
Checks whether associated elements and associated constrained/constraining objects are fine. More... | |
bool | CheckElementConsistency (MultiGrid &mg, Face *f) |
Checks whether associated elements and associated constrained/constraining objects are fine. More... | |
std::string | ElementDebugInfo (const Grid &grid, GridObject *e) |
Returns a string containing information on the given element. More... | |
template<class TElem > | |
vector3 | GetGridObjectCenter (Grid &g, TElem *elem) |
Returns the center of the given element (SLOW - for debugging only!) More... | |
vector3 | GetGridObjectCenter (Grid &g, GridObject *elem) |
Returns the center of the given element (SLOW - for debugging only!) More... | |
template<class vector_t > | |
void | Extrude (Grid &grid, std::vector< Vertex * > *pvVerticesInOut, std::vector< Edge * > *pvEdgesInOut, std::vector< Face * > *pvFacesInOut, const vector_t &direction, uint extrusionOptions=EO_DEFAULT, Attachment< vector_t > &aPos=aPosition, std::vector< Volume * > *pvVolsOut=NULL) |
extrudes geometry and creates new edges, faces and volumes. More... | |
template<class TAAPos > | |
void | Extrude (Grid &grid, std::vector< Vertex * > *pvVerticesInOut, std::vector< Edge * > *pvEdgesInOut, std::vector< Face * > *pvFacesInOut, const typename TAAPos::ValueType &direction, TAAPos aaPos, uint extrusionOptions, std::vector< Volume * > *pvVolsOut) |
extrudes geometry and creates new edges, faces and volumes. More... | |
template<class TEdgeIterator > | |
UG_API void | AdjustEdgeOrientationToFaceOrientation (Grid &grid, TEdgeIterator edgesBegin, TEdgeIterator edgesEnd) |
Orientates boundary edges in the given edge set to the orientation of associated faces. More... | |
template<class TEdgeIterator > | |
UG_API void | AdjustEdgeOrientationToFaceOrientation (Grid &grid, TEdgeIterator edgesBegin, TEdgeIterator edgesEnd, Grid::face_traits::callback considerFace) |
Orientates boundary edges in the given edge set to the orientation of associated faces. More... | |
template<class TVertexPositionAttachmentAccessor > | |
UG_API TVertexPositionAttachmentAccessor::ValueType | CalculateCenter (const FaceVertices *f, TVertexPositionAttachmentAccessor &aaPosVRT) |
calculates the center of a face. More... | |
bool | CalculateVertexNormals (Grid &grid, Grid::AttachmentAccessor< Vertex, APosition > &aaPos, Grid::AttachmentAccessor< Vertex, ANormal > &aaNorm) |
calculates the normals of all vertices in grid and stores them in aNorm. More... | |
bool | CalculateVertexNormals (Grid &grid, APosition &aPos, ANormal &aNorm) |
calculates the normals of all vertices in grid and stores them in aNorm. More... | |
template<int dim, class TVrtIterator > | |
UG_API void | RemoveDoubles (Grid &grid, const TVrtIterator &iterBegin, const TVrtIterator &iterEnd, Attachment< MathVector< dim > > &aPos, number threshold) |
merges all vertices that are closer to each other than the specified threshold. More... | |
template<int dim, class TVrtIterator , class TAAPos > | |
UG_API void | RemoveDoubles (Grid &grid, const TVrtIterator &iterBegin, const TVrtIterator &iterEnd, TAAPos aaPos, number threshold) |
merges all vertices that are closer to each other than the specified threshold. More... | |
template<class TVertexPositionAttachmentAccessor > | |
UG_API TVertexPositionAttachmentAccessor::ValueType | CalculateCenter (const Vertex *v, TVertexPositionAttachmentAccessor &aaPosVRT) |
returns the position of the vertex. More... | |
template<class TAAPosVRT , class TAAWeightVRT > | |
UG_API TAAPosVRT::ValueType | CalculateCenter (const Vertex *v, TAAPosVRT &aaPos, TAAWeightVRT &aaWeight) |
returns the position of the vertex. More... | |
bool | Tetrahedralize (Grid &grid, number quality=5, bool preserveBnds=false, bool preserveAll=false, APosition &aPos=aPosition, int verbosity=0) |
fills a closed surface-grid with tetrahedrons. More... | |
bool | Tetrahedralize (Grid &grid, ISubsetHandler &sh, number quality, bool preserveBnds, bool preserveAll, APosition &aPos, int verbosity) |
fills a closed surface-grid with tetrahedrons. More... | |
bool | EdgeOrientationMatches (EdgeVertices *ev, Face *f) |
checks if the edge-orientation of the edge and the face matches. More... | |
bool | OrientationMatches (EdgeVertices *ev, Face *f) |
checks if the edge-orientation of the edge and the face matches. More... | |
void | GetSelectedElementIndices (const ISelector &sel, std::vector< size_t > &vrtIndsOut, std::vector< size_t > &edgeIndsOut, std::vector< size_t > &faceIndsOut, std::vector< size_t > &volIndsOut) |
Returns indices of selected elements in ascending order. More... | |
template<class elem_t > | |
void | GetSelectedElementIndices (const ISelector &sel, std::vector< int > &indsOut) |
Returns indices of selected elements in ascending order. More... | |
template<class elem_t > | |
void | SelectElementsByIndex (ISelector &sel, const std::vector< size_t > &inds) |
Selects elements with the specified indices. More... | |
void | SelectElementsByIndex (ISelector &sel, const std::vector< size_t > &vrtInds, const std::vector< size_t > &edgeInds, const std::vector< size_t > &faceInds, const std::vector< size_t > &volInds) |
Selects elements with the specified indices. More... | |
void | AssignSubsetsByElementType (ISubsetHandler &sh) |
Assigns subset depending on the element type. More... | |
void | AssignSubsetsByElementType (ISubsetHandler &sh, GridObjectCollection g) |
Assigns subset depending on the element type. More... | |
template<class TAAPos > | |
number | CalculateVolume (Volume *elem, TAAPos aaPos) |
Calculates the volume of the given element. More... | |
template<class TAAPos > | |
number | CalculateVolume (Tetrahedron *elem, TAAPos aaPos) |
Calculates the volume of the given element. More... | |
template<class TAAPos > | |
number | CalculateVolume (Pyramid *elem, TAAPos aaPos) |
Calculates the volume of the given element. More... | |
template<class TAAPos > | |
number | CalculateVolume (Prism *elem, TAAPos aaPos) |
Calculates the volume of the given element. More... | |
template<class TAAPos > | |
number | CalculateVolume (Hexahedron *elem, TAAPos aaPos) |
Calculates the volume of the given element. More... | |
template<class TAAPos > | |
number | CalculateVolume (Octahedron *elem, TAAPos aaPos) |
Calculates the volume of the given element. More... | |
template<class TAAPos > | |
number | CalculateVolume (FaceVertices *elem, TAAPos aaPos) |
Calculates the volume of the given element. More... | |
template<class TAAPos > | |
number | CalculateVolume (EdgeVertices *elem, TAAPos aaPos) |
Calculates the volume of the given element. More... | |
template<class TAAPos > | |
number | CalculateVolume (Vertex *elem, TAAPos aaPos) |
Calculates the volume of the given element. More... | |
template<class TIterator , class TAAPos > | |
number | CalculateVolume (TIterator begin, TIterator end, TAAPos aaPos) |
Calculates the volume of the given element. More... | |
bool | LoadGridFromFile (Grid &grid, ISubsetHandler &sh, const char *filename, int procId=-1) |
Loads a grid from a file. Position data is written to aPosition. More... | |
bool | LoadGridFromFile (Grid &grid, const char *filename, int procId) |
Loads a grid from a file. Position data is written to aPosition. More... | |
bool | SaveGridToFile (Grid &grid, ISubsetHandler &sh, const char *filename) |
Saves a grid to a file. Position data is read from aPosition. More... | |
bool | SaveGridToFile (Grid &grid, const char *filename) |
Saves a grid to a file. Position data is read from aPosition. More... | |
template<class TAPos > | |
UG_API bool | LoadGridFromFile (Grid &grid, SPProjectionHandler &ph, size_t &num_ph, ISubsetHandler &sh, std::vector< std::string > additionalSHNames, std::vector< SmartPtr< ISubsetHandler >> ash, const char *filename, TAPos &aPos, int procId=-1) |
Loads a grid from a file. Position data is written to the specified attachment. More... | |
template<class TAPos > | |
UG_API bool | LoadGridFromFile (Grid &grid, ISubsetHandler &sh, const char *filename, TAPos &aPos, int procId=-1) |
Loads a grid from a file. Position data is written to the specified attachment. More... | |
template<class TAPos > | |
UG_API bool | LoadGridFromFile (Grid &grid, const char *filename, TAPos &aPos, int procId=-1) |
Loads a grid from a file. Position data is written to the specified attachment. More... | |
template<class TAPos > | |
UG_API bool | SaveGridToFile (Grid &grid, ISubsetHandler &sh, const char *filename, TAPos &aPos) |
Saves a grid to a file. Position data is read from the specified attachment. More... | |
template<class TAPos > | |
UG_API bool | SaveGridToFile (Grid &grid, const char *filename, TAPos &aPos) |
Saves a grid to a file. Position data is read from the specified attachment. More... | |
void | CollectVertices (std::vector< Vertex * > &vVertexOut, Grid &grid, Vertex *v, bool clearContainer) |
Collects all vertices. More... | |
UG_API void | CollectAssociated (std::vector< Vertex * > &vVertexOut, Grid &grid, Vertex *v, bool clearContainer=true) |
Collects all vertices. More... | |
void | CollectVertices (std::vector< Vertex * > &vVertexOut, Grid &grid, Edge *e, bool clearContainer) |
Collects all vertices. More... | |
UG_API void | CollectAssociated (std::vector< Vertex * > &vVertexOut, Grid &grid, Edge *e, bool clearContainer=true) |
Collects all vertices. More... | |
void | CollectVertices (std::vector< Vertex * > &vVertexOut, Grid &grid, Face *f, bool clearContainer) |
Collects all vertices. More... | |
UG_API void | CollectAssociated (std::vector< Vertex * > &vVertexOut, Grid &grid, Face *f, bool clearContainer=true) |
Collects all vertices. More... | |
void | CollectVertices (std::vector< Vertex * > &vVertexOut, Grid &grid, Volume *v, bool clearContainer) |
Collects all vertices. More... | |
void | CollectAssociated (std::vector< Vertex * > &vVertexOut, Grid &grid, Volume *v, bool clearContainer=true) |
Collects all vertices. More... | |
void | CollectEdges (std::vector< Edge * > &vEdgesOut, Grid &grid, Vertex *vrt, bool clearContainer) |
Collects all edges which exist in the given grid and which are part of the given vertex. More... | |
void | CollectAssociated (std::vector< Edge * > &vEdgesOut, Grid &grid, Vertex *vrt, bool clearContainer=true) |
Collects all edges which exist in the given grid and which are part of the given vertex. More... | |
void | CollectFaces (std::vector< Face * > &vFacesOut, Grid &grid, Edge *e, bool clearContainer) |
Collects all faces that exist in the given grid which contain the given edge. More... | |
void | CollectAssociated (std::vector< Face * > &vFacesOut, Grid &grid, Edge *e, bool clearContainer=true) |
Collects all faces that exist in the given grid which contain the given edge. More... | |
void | CollectVolumes (std::vector< Volume * > &vVolumesOut, Grid &grid, Edge *e, bool clearContainer) |
Collects all volumes that exist in the given grid which contain the given edge. More... | |
void | CollectAssociated (std::vector< Volume * > &vVolumesOut, Grid &grid, Edge *e, bool clearContainer=true) |
Collects all volumes that exist in the given grid which contain the given edge. More... | |
void | CollectVolumes (std::vector< Volume * > &vVolumesOut, Grid &grid, Face *f, bool clearContainer, bool ignoreAssociatedVolumes) |
Collects all volumes that exist in the given grid which contain the given face. More... | |
void | CollectVolumes (std::vector< Volume * > &vVolumesOut, Grid &grid, FaceDescriptor &fd, bool clearContainer) |
Collects all volumes that exist in the given grid which contain the given face. More... | |
void | CollectAssociated (std::vector< Volume * > &vVolumesOut, Grid &grid, Face *f, bool clearContainer=true, bool ignoreAssociatedVolumes=false) |
Collects all volumes that exist in the given grid which contain the given face. More... | |
void | CollectAssociated (std::vector< Volume * > &vVolumesOut, Grid &grid, FaceDescriptor &fd, bool clearContainer=true) |
Collects all volumes that exist in the given grid which contain the given face. More... | |
size_t | NumVertices (Vertex *elem) |
Returns the number of vertices of the given geometric object. More... | |
size_t | NumVertices (Edge *elem) |
Returns the number of vertices of the given geometric object. More... | |
size_t | NumVertices (Face *elem) |
Returns the number of vertices of the given geometric object. More... | |
size_t | NumVertices (Volume *elem) |
Returns the number of vertices of the given geometric object. More... | |
UG_API void | CollectEdges (std::vector< Edge * > &vEdgesOut, Grid &grid, Edge *e, bool clearContainer=true) |
Collects all edges that exist in the given grid are part of the given edge. More... | |
void | CollectAssociated (std::vector< Edge * > &vEdgesOut, Grid &grid, Edge *e, bool clearContainer=true) |
Collects all edges that exist in the given grid are part of the given edge. More... | |
UG_API void | CollectEdges (std::vector< Edge * > &vEdgesOut, Grid &grid, Face *f, bool clearContainer=true) |
Collects all edges that exist in the given grid are part of the given face. More... | |
void | CollectAssociated (std::vector< Edge * > &vEdgesOut, Grid &grid, Face *f, bool clearContainer=true) |
Collects all edges that exist in the given grid are part of the given face. More... | |
UG_API void | CollectEdges (std::vector< Edge * > &vEdgesOut, Grid &grid, Volume *v, bool clearContainer=true) |
Collects all edges that exist in the given grid are part of the given volume. More... | |
void | CollectAssociated (std::vector< Edge * > &vEdgesOut, Grid &grid, Volume *v, bool clearContainer=true) |
Collects all edges that exist in the given grid are part of the given volume. More... | |
UG_API void | CollectFaces (std::vector< Face * > &vFacesOut, Grid &grid, Volume *v, bool clearContainer=true) |
Collects all faces that exist in the given grid are part of the given volume. More... | |
void | CollectAssociated (std::vector< Face * > &vFacesOut, Grid &grid, Volume *v, bool clearContainer=true) |
Collects all faces that exist in the given grid are part of the given volume. More... | |
Variables | |
AGeomObjID | aGeomObjID |
This attachment instance should be used to store global ids. More... | |
size_t | allocated = 0 |
ANormal | aNormal ("normal", true) |
The standard 3d normal type. More... | |
APosition | aPosition ("position", true) |
The standard 3d position type. More... | |
APosition1 | aPosition1 ("position2", true) |
The standard 1d position type. More... | |
APosition2 | aPosition2 ("position2", true) |
The standard 2d position type. More... | |
DebugID | APP |
bool | bMemTracker =false |
const int | BOXPRIORITYQUEUE2_MAXIMAL_VALUE = 500 |
maximal value for T::get_val(). Keep in mind that memory requirements are O(max get_val()). More... | |
const int | BOXPRIORITYQUEUE_MAXIMAL_VALUE = 500 |
maximal value for T::get_val(). Keep in mind that memory requirements are O(max get_val()). More... | |
std::vector< ProfileCall > | callsOnHold |
const unsigned int | cost_del = 1 |
const unsigned int | cost_ins = 1 |
const unsigned int | cost_sub = 1 |
DebugID | DBG_COLORING ("ParallelColoring") |
DebugID | DBG_MATRIX_OVERLAP ("Algebra.MatrixOverlap") |
DebugID | DID_CUDA ("CUDA") |
DebugID | DID_DATA_EVALUATOR ("DATA_EVALUATOR") |
DebugID | DID_ELEM_DISC_ASSEMBLE_UTIL ("ELEM_DISC_ASSEMBLE_UTIL") |
DebugID | DID_FV1_GEOM ("FV1_GEOM") |
DebugID | DID_LOCAL_FINITE_ELEMENT_PROVIDER ("LOCAL_FINITE_ELEMENT_PROVIDER") |
DebugID | DID_LUACOMPILER ("LUACompiler") |
DebugID | DID_REFERENCE_MAPPING |
DebugID | DID_REFERENCE_MAPPING_GLOB_TO_LOC |
bool | g_bNoNANCheck = true |
static GlobalBoundaryRefinementRule | g_boundaryRefinementRule = LINEAR |
global boundary refinement rule variable for switching between linear and Subdivision Loop refinement More... | |
size_t | g_minSecondUntilProgress = 3 |
int | g_ShinyCallLoggingMaxFreq = 1 |
const char * | GRID_BASE_OBJECT_PLURAL_NAMES [] = {"vertices", "edges", "faces", "volume"} |
const char * | GRID_BASE_OBJECT_SINGULAR_NAMES [] = {"vertex", "edge", "face", "volume"} |
static const int | INNER_TKD_ELEMENT_INDICES [] |
static DebugID | LG_DIST ("LG_DIST") |
DebugID | LIB_ALG_AMG |
DebugID | LIB_ALG_LINEAR_OPERATOR |
DebugID | LIB_ALG_LINEAR_SOLVER |
DebugID | LIB_ALG_MATRIX |
DebugID | LIB_ALG_VECTOR |
DebugID | LIB_DISC |
DebugID | LIB_DISC_ASSEMBLE |
DebugID | LIB_DISC_D3F |
DebugID | LIB_DISC_DISCRETE_FUNCTION |
DebugID | LIB_DISC_LINKER |
DebugID | LIB_DISC_MULTIGRID |
DebugID | LIB_DISC_NEWTON |
DebugID | LIB_DISC_OPERATOR_INVERSE |
DebugID | LIB_DISC_ORDER ("LIB_DISC_ORDER") |
DebugID | LIB_DISC_OUTPUT |
DebugID | LIB_DISC_TRANSFER |
DebugID | LIB_GRID |
DebugID | LIB_GRID_REFINER |
DebugID | LIB_LIMEX ("LIB_LIMEX") |
DebugID | LIB_PCL |
DebugID | MAIN |
const int | MAX_FACE_VERTICES = 4 |
constant that defines the maximal number of vertices per face. More... | |
const int | MAX_VOLUME_VERTICES = 8 |
constant that defines the maximal number of vertices per volume element. More... | |
static const size_t | MAXBLOCKSIZE = 53 |
MemTrackerMap | memTracker |
const int | MG_EDGE_MAX_EDGE_CHILDREN = 2 |
maximal number of edges that can be children of an edge. More... | |
const int | MG_FACE_MAX_EDGE_CHILDREN = 4 |
maximal number of edges that can be children of a face. More... | |
const int | MG_FACE_MAX_FACE_CHILDREN = 4 |
maximal number of faces that can be children of a face. More... | |
static const int | OUTER_TKD_ELEMENT_INDICES [] |
const number | PI = 3.14159265358979323846264338327950288419716939937510582097494459230781640628620899 |
std::vector< ProfileCall > | profileCalls |
static bool | s_abortRun = false |
DebugID | SchurDebug |
todo: replace DebugID More... | |
map< const Shiny::ProfileNode *, size_t > | selfmem |
static const char | shiftCharacters [] = "|#[+" |
static const size_t | shiftCharactersLength = sizeof(shiftCharacters)/sizeof(shiftCharacters[0]) |
const number | SMALL = 1.0e-12 |
const number | SMALL_SQ = SMALL * SMALL |
map< const Shiny::ProfileNode *, size_t > | totalmem |
static std::string | UG_AUTHORS ="Sebastian Reiter, Martin Rupp, Andreas Vogel, et al." |
static std::string | UG_BINARY_LICENSE |
const char * | UG_BUILD_HOST |
const char * | UG_COMPILE_DATE |
const char * | UG_GIT_REVISION |
const char * | UG_SVN_REVISION |
const int | ugRefObjIdToVTKCellType [] |
const uint64 | UNIT_EXA = UNIT_PETA * 1024ll |
const uint64 | UNIT_EXA_SI = UNIT_PETA_SI * 1000ll |
const uint64 | UNIT_GIGA = UNIT_MEGA * 1024 |
const uint64 | UNIT_GIGA_SI = UNIT_MEGA_SI * 1000 |
const uint64 | UNIT_KILO = 1024 |
const uint64 | UNIT_KILO_SI = 1000 |
const uint64 | UNIT_MEGA = UNIT_KILO * 1024 |
const uint64 | UNIT_MEGA_SI = UNIT_KILO_SI * 1000 |
const uint64 | UNIT_PETA = UNIT_TERA * 1024ll |
const uint64 | UNIT_PETA_SI = UNIT_TERA_SI * 1000ll |
const uint64 | UNIT_TERA = UNIT_GIGA * 1024ll |
const uint64 | UNIT_TERA_SI = UNIT_GIGA_SI * 1000ll |
bool | useLua2VM =false |
bool | useLuaCompiler =false |
const char * | VTKCellNames [] |
typedef SmartPtr< PartitionMap > | SPPartitionMap |
Save the partition map to a file. More... | |
template<class TAPos > | |
bool | SavePartitionMapToFile (PartitionMap &pm, const char *filename, TAPos &aPos) |
Save the partition map to a file. More... | |
the ug namespace
D = MatrixDiagonal(mat) creates a LinearOperator which acts like D = diag(mat)
This structure is a helper structure to end an boost::mpl::list
is the same as
This comes in handy when you are using defines to enable/disable parts of the list:
Without end_boost_list, we would need to add some other #ifdefs because of the extra Comma , at the end (imagine only USE_INT is defined).
you can use that list now as normal: static const bool isEmpty = boost::mpl::empty<List>::value; typename boost::mpl::if_c<isEmpty, ListProcessEnd, ListProcessNext>::type (reg,grp);
Here's an example on how to use the class:
And this is what the output looks like:
| 31.3 , 0 | | 0 , 768 | *
This class uses internally StringTable.
Copyright (c) 2010-2015: G-CSC, Goethe University Frankfurt Author: Markus Breit
This file is part of UG4.
UG4 is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License version 3 (as published by the Free Software Foundation) with the following additional attribution requirements (according to LGPL/GPL v3 §7):
(1) The following notice must be displayed in the Appropriate Legal Notices of covered and combined works: "Based on UG4 (www.ug4.org/license)".
(2) The following notice must be displayed at a prominent place in the terminal output of covered works: "Based on UG4 (www.ug4.org/license)".
(3) The following bibliography is recommended for citation and must be preserved in all covered files: "Reiter, S., Vogel, A., Heppner, I., Rupp, M., and Wittum, G. A massively parallel geometric multigrid solver on hierarchically distributed grids. Computing and visualization in science 16, 4 (2013), 151-164" "Vogel, A., Reiter, S., Rupp, M., Nägel, A., and Wittum, G. UG4 – a novel flexible software system for simulating pde based models on high performance computers. Computing and visualization in science 16, 4 (2013), 165-179"
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
Copyright (c) 2010-2019: G-CSC, Goethe University Frankfurt Author: Stephan Grein
This file is part of UG4.
UG4 is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License version 3 (as published by the Free Software Foundation) with the following additional attribution requirements (according to LGPL/GPL v3 §7):
(1) The following notice must be displayed in the Appropriate Legal Notices of covered and combined works: "Based on UG4 (www.ug4.org/license)".
(2) The following notice must be displayed at a prominent place in the terminal output of covered works: "Based on UG4 (www.ug4.org/license)".
(3) The following bibliography is recommended for citation and must be preserved in all covered files: "Reiter, S., Vogel, A., Heppner, I., Rupp, M., and Wittum, G. A massively parallel geometric multigrid solver on hierarchically distributed grids. Computing and visualization in science 16, 4 (2013), 151-164" "Vogel, A., Reiter, S., Rupp, M., Nägel, A., and Wittum, G. UG4 – a novel flexible software system for simulating pde based models on high performance computers. Computing and visualization in science 16, 4 (2013), 165-179"
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
Namespace for ug
typedef Attachment<bool> ug::ABool |
typedef Attachment<byte> ug::AByte |
typedef Attachment<char> ug::AChar |
typedef Attachment<vector<TargetProcInfo> > ug::ADistInfo |
typedef Attachment<double> ug::ADouble |
typedef Attachment<Edge*> ug::AEdge |
typedef Attachment<Face*> ug::AFace |
typedef Attachment<float> ug::AFloat |
typedef Attachment<int> ug::AInt |
typedef Hash<AlgebraID, size_t> ug::AlgebraIDHashList |
typedef std::vector<AlgebraID> ug::AlgebraIDVec |
typedef ANormal3 ug::ANormal |
typedef AVector3 ug::ANormal2 |
typedef AVector3 ug::ANormal3 |
typedef Attachment<number> ug::ANumber |
typedef APosition3 ug::APosition |
typedef AVector1 ug::APosition1 |
typedef AVector2 ug::APosition2 |
typedef AVector3 ug::APosition3 |
typedef AVector2 ug::ATexCoord |
using ug::AttVrtVec = typedef Attachment<std::vector<Vertex*> > |
typedef Attachment<uint> ug::AUInt |
typedef Attachment<vector1> ug::AVector1 |
typedef Attachment<vector2> ug::AVector2 |
typedef Attachment<vector3> ug::AVector3 |
typedef Attachment<vector4> ug::AVector4 |
typedef Attachment<Vertex*> ug::AVertex |
typedef Attachment<Volume*> ug::AVolume |
typedef std::vector<bool> ug::binary_grouping_vector |
typedef geometry_traits<ConstrainedEdge>::const_iterator ug::ConstConstrainedEdgeIterator |
typedef geometry_traits<ConstrainedQuadrilateral>::const_iterator ug::ConstConstrainedQuadrilateralIterator |
typedef geometry_traits<ConstrainedTriangle>::const_iterator ug::ConstConstrainedTriangleIterator |
typedef geometry_traits<ConstrainedVertex>::const_iterator ug::ConstConstrainedVertexIterator |
typedef geometry_traits<ConstrainingEdge>::const_iterator ug::ConstConstrainingEdgeIterator |
typedef geometry_traits<ConstrainingQuadrilateral>::const_iterator ug::ConstConstrainingQuadrilateralIterator |
typedef geometry_traits<ConstrainingTriangle>::const_iterator ug::ConstConstrainingTriangleIterator |
typedef geometry_traits<Hexahedron>::const_iterator ug::ConstHexahedronIterator |
typedef geometry_traits<Octahedron>::const_iterator ug::ConstOctahedronIterator |
typedef geometry_traits<Prism>::const_iterator ug::ConstPrismIterator |
typedef geometry_traits<Pyramid>::const_iterator ug::ConstPyramidIterator |
typedef geometry_traits<Quadrilateral>::const_iterator ug::ConstQuadrilateralIterator |
typedef geometry_traits<ConstrainedEdge>::iterator ug::ConstrainedEdgeIterator |
typedef geometry_traits<ConstrainedQuadrilateral>::iterator ug::ConstrainedQuadrilateralIterator |
typedef geometry_traits<ConstrainedTriangle>::iterator ug::ConstrainedTriangleIterator |
typedef geometry_traits<ConstrainedVertex>::iterator ug::ConstrainedVertexIterator |
typedef geometry_traits<ConstrainingEdge>::iterator ug::ConstrainingEdgeIterator |
typedef geometry_traits<ConstrainingQuadrilateral>::iterator ug::ConstrainingQuadrilateralIterator |
typedef geometry_traits<ConstrainingTriangle>::iterator ug::ConstrainingTriangleIterator |
typedef geometry_traits<RegularEdge>::const_iterator ug::ConstRegularEdgeIterator |
typedef geometry_traits<RegularVertex>::const_iterator ug::ConstRegularVertexIterator |
typedef geometry_traits<Tetrahedron>::const_iterator ug::ConstTetrahedronIterator |
typedef geometry_traits<Triangle>::const_iterator ug::ConstTriangleIterator |
using ug::CrossVertInf = typedef CrossingVertexInfo<Vertex*, IndexType > |
typedef MultiIndex<2> ug::DoFIndex |
type of DoF-Index used to identify an DoF in the Algebra
typedef ElementStorage<Edge> ug::EdgeElementStorage |
typedef pcl::MultiLevelLayout< pcl::OrderedInterface<Edge, std::list> > ug::EdgeLayout |
typedef TElemSelector<Edge> ug::EdgeSelector |
using ug::ExpandCrossFracInfo = typedef VertexFractureTriple< std::pair<Edge*, Edge*>, Face*, std::pair<Vertex*, Vertex*> > |
typedef ElementStorage<Face> ug::FaceElementStorage |
typedef pcl::MultiLevelLayout< pcl::OrderedInterface<Face, std::list> > ug::FaceLayout |
typedef TElemSelector<Face> ug::FaceSelector |
typedef std::map<int, std::vector<AlgebraID> > ug::GlobalLayout |
typedef boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::property<boost::vertex_color_t, boost::default_color_type, boost::property<boost::vertex_degree_t, int> > > ug::Graph_t |
typedef geometry_traits<Hexahedron>::iterator ug::HexahedronIterator |
typedef IGeometry<1> ug::IGeometry1d |
typedef IGeometry<2> ug::IGeometry2d |
typedef IGeometry<3> ug::IGeometry3d |
using ug::IndexType = typedef unsigned short |
typedef double ug::lapack_double |
typedef float ug::lapack_float |
typedef int ug::lapack_ftnlen |
typedef int ug::lapack_int |
typedef multimap<number, SweepLineEdge*> ug::MapEdgeCuts |
typedef map<void *, MemTrackerStruct> ug::MemTrackerMap |
typedef geometry_traits<Octahedron>::iterator ug::OctahedronIterator |
typedef vector<string> ug::ParameterList |
typedef std::pair<byte, int> ug::ParentInfo |
Stores a tuple (type, index), identifying a parent.
typedef geometry_traits<Prism>::iterator ug::PrismIterator |
typedef geometry_traits<Pyramid>::iterator ug::PyramidIterator |
typedef geometry_traits<Quadrilateral>::iterator ug::QuadrilateralIterator |
typedef geometry_traits<RegularEdge>::iterator ug::RegularEdgeIterator |
typedef geometry_traits<RegularVertex>::iterator ug::RegularVertexIterator |
typedef std::vector<schur_slice_desc_type> ug::SchurSliceDescVector |
typedef SlicingData<SchurSliceDescVector, 2> ug::SchurSlicingData |
using ug::SegmentsFractExtrus = typedef std::vector<VecVertexOfFaceInfo> |
typedef SmartPtr<ElementCallback> ug::SPElementCallback |
typedef SmartPtr<IGeometry1d> ug::SPIGeometry1d |
typedef SmartPtr<IGeometry2d> ug::SPIGeometry2d |
typedef SmartPtr<IGeometry3d> ug::SPIGeometry3d |
typedef SmartPtr<MGHNodeAdjuster> ug::SPMGHNodeAdjuster |
typedef SmartPtr<PartitionMap> ug::SPPartitionMap |
Save the partition map to a file.
The resulting file will contain the grid on which the partition-map operates, together with subsets, each representing the process on which the subset will be sent.
typedef SmartPtr<RasterLayerDesc> ug::SPRasterLayerDesc |
typedef SmartPtr<RasterLayers> ug::SPRasterLayers |
typedef GridSubsetHandler ug::SubsetHandler |
typedef SweepLineEdgeList::iterator ug::SweepLineEdgeIter |
typedef list<SweepLineEdge> ug::SweepLineEdgeList |
typedef geometry_traits<Tetrahedron>::iterator ug::TetrahedronIterator |
typedef geometry_traits<Triangle>::iterator ug::TriangleIterator |
using ug::VecEdge = typedef std::vector<Edge*> |
using ug::VecExpandCrossFracInfo = typedef std::vector<ExpandCrossFracInfo> |
using ug::VecFace = typedef std::vector<Face*> |
using ug::VecVertexOfFaceInfo = typedef std::vector<VertexOfFaceInfo> |
using ug::VecVertFracTrip = typedef std::vector<VertFracTrip> |
typedef ElementStorage<Vertex> ug::VertexElementStorage |
This Iterator will be used as base-class for iterators of specialized geometric objects.
typedef pcl::MultiLevelLayout< pcl::OrderedInterface<Vertex, std::list> > ug::VertexLayout |
using ug::VertexOfFaceInfo = typedef VertexFractureTriple< std::pair<Edge*, Edge*>, Face*, std::pair<vector3,vector3> > |
typedef TElemSelector<Vertex> ug::VertexSelector |
using ug::VertFracTrip = typedef VertexFractureTriple<Edge*, Face*, vector3> |
typedef ElementStorage<Volume> ug::VolumeElementStorage |
typedef pcl::MultiLevelLayout< pcl::OrderedInterface<Volume, std::list> > ug::VolumeLayout |
typedef TElemSelector<Volume> ug::VolumeSelector |
typedef Base64FileWriter ug::VTKFileWriter |
enum ug::AnisotropyState |
enum ug::ArchiveType |
enum ug::ConstraintType |
enum ug::ConstraintTypes |
enum ug::DiscPart |
enum ug::ElemDiscType |
enum ug::eMatrixOrdering |
enum ug::eTransposeMode |
These numbers define where in the face-section-container a face will be stored.
The order of the constants must not be changed! Algorithms may exist that rely on it.
Enumerator | |
---|---|
CSFACE_NONE | |
CSFACE_TRIANGLE | |
CSFACE_QUADRILATERAL | |
CSFACE_CONSTRAINED_TRIANGLE | |
CSFACE_CONSTRAINED_QUADRILATERAL | |
CSFACE_CONSTRAINING_TRIANGLE | |
CSFACE_CONSTRAINING_QUADRILATERAL | |
CSFACE_USER |
enum ug::GridBaseObjectId |
constants which indicate the adaption type in a grid refinement message.
enum ug::GridObjectID |
Don't change the constants, since they are used i.e. in external files too. If you want to add constants, do so at the end of the enumeration.
The types of interface-entries. INT_H_MASTER and INT_H_SLAVE describe (horizontal) connections between nodes on one level in a grid-hierarchy. They are used to communicate data between neighbours.
INT_V_MASTER and INT_V_SLAVE describe (vertical) connections between nodes on different levels of a grid. They are used to communicate data between parents and children. They are only used for multigrids.
Note that the type parameter in DistributionInterfaceEntry is currently restricted to 4 bytes only!
developer note: Introducing INT_HORIZONTAL, INT_VERTICAL, INT_MASTER, INT_SLAVE and building or combinations of those would not make sense! Think about INT_H_MASTER | INT_V_SLAVE in this case (it would not be clear whether the master was in the H or in the V interface).
Enumerator | |
---|---|
INT_NONE | |
INT_H_MASTER | horizontal master node |
INT_H_SLAVE | horizontal slave node |
INT_V_MASTER | vertical master node |
INT_V_SLAVE | vertical slave node |
enum ug::InterfaceStates |
enum ug::LGBConstants |
enum ug::ObserverType |
enum ug::ProcessType |
enum ug::TraversalStates |
enum ug::VTKCellTypes |
UG_API void ug::AbortRun | ( | ) |
sets a flag, that the current run shall be aborted during the next call of TerminateAbortedRun()
References s_abortRun.
Referenced by ug::bridge::RegisterBridge_Misc().
|
inline |
void ug::AddAllFromInterface | ( | std::set< size_t > & | s, |
const IndexLayout::Interface & | interface | ||
) |
mark | a set to which all indices from the interface are added |
layout |
References s.
Referenced by AddAllFromLayout().
void ug::AddAllFromLayout | ( | std::set< size_t > & | s, |
const IndexLayout & | layout | ||
) |
mark | a set to which all indices from the interface are added |
layout |
References AddAllFromInterface(), pcl::SingleLevelLayout< TInterface >::begin(), pcl::SingleLevelLayout< TInterface >::end(), pcl::SingleLevelLayout< TInterface >::interface(), and s.
void ug::AddConnectionsBetweenSlaves | ( | pcl::InterfaceCommunicator< IndexLayout > & | communicator, |
IndexLayout & | masterLayout, | ||
IndexLayout & | slaveLayout, | ||
IndexLayout & | allToAllSend, | ||
IndexLayout & | allToAllReceive | ||
) |
adds connections between slave nodes to the interfaces/layouts when a master node has 2 slave nodes, this function adds a connection between these nodes
communicator | used InterfaceCommunicator |
masterLayout | master layout |
slaveLayout | slave layout |
allToAllSend | layout with slave-slave connections at the end of this function |
allToAllReceive | layout with slave-slave connections at the end of this function |
since we have slave->slave and slave<-slave connections, indices added to layouts are always added to allToAllSend AND allToAllReceive.
References pcl::SingleLevelLayout< TInterface >::begin(), ug::BinaryBuffer::buffer(), pcl::InterfaceCommunicator< TLayout >::communicate(), CommunicateConnections(), Deserialize(), pcl::SingleLevelLayout< TInterface >::end(), ug::BinaryBuffer::eof(), pcl::SingleLevelLayout< TInterface >::interface(), pcl::SingleLevelLayout< TInterface >::proc_id(), pcl::ProcRank(), PROFILE_FUNC_GROUP, pcl::OrderedInterface< TType, TContainer, TAlloc >::push_back(), pcl::InterfaceCommunicator< TLayout >::receive_raw(), pcl::InterfaceCommunicator< TLayout >::send_raw(), Serialize(), UG_ASSERT, and ug::BinaryBuffer::write_pos().
Referenced by CreateAllToAllFromMasterSlave().
bool ug::AddEntriesToIndexLayout_DomainDecomposition | ( | IndexLayout & | processLayoutOut, |
IndexLayout & | subdomainLayoutOut, | ||
DoFDistribution & | dofDistr, | ||
TLayout & | elemLayout, | ||
pcl::IDomainDecompositionInfo * | ddInfoIn | ||
) |
References pcl::OrderedInterface< TType, TContainer, TAlloc >::get_element(), ug::DoFDistribution::inner_algebra_indices(), pcl::SingleLevelLayout< TInterface >::interface(), pcl::IDomainDecompositionInfo::map_proc_id_to_subdomain_id(), and pcl::ProcRank().
Referenced by CreateIndexLayouts_DomainDecomposition().
bool ug::AddEntriesToLevelIndexLayout | ( | IndexLayout & | indexLayoutOut, |
DoFDistribution & | dofDistr, | ||
TLayout & | elemLayout, | ||
const std::map< int, std::vector< bool > > * | pIgnoreMap = NULL |
||
) |
bool ug::AddEntriesToSurfaceIndexLayout | ( | IndexLayout & | indexLayoutOut, |
DoFDistribution & | dofDistr, | ||
TLayout & | elemLayout, | ||
MultiGrid & | mg, | ||
DistributedGridManager & | dGrMgr | ||
) |
References pcl::OrderedInterface< TType, TContainer, TAlloc >::get_element(), ug::MultiGrid::has_children(), ug::DoFDistribution::inner_algebra_indices(), pcl::SingleLevelLayout< TInterface >::interface(), ug::DistributedGridManager::is_ghost(), and pcl::RemoveEmptyInterfaces().
Referenced by CreateSurfaceIndexLayout().
bool ug::AddExtraProcessEntriesToSubdomainLayout | ( | size_t | numIDs, |
IndexLayout & | processMasterLayoutIn, | ||
IndexLayout & | processSlaveLayoutIn, | ||
IndexLayout & | subdomainMasterLayoutInOut, | ||
IndexLayout & | subdomainSlaveLayoutInOut | ||
) |
References pcl::SingleLevelLayout< TInterface >::begin(), pcl::InterfaceCommunicator< TLayout >::communicate(), pcl::SingleLevelLayout< TInterface >::end(), FindPositionInInterfaces(), pcl::SingleLevelLayout< TInterface >::interface(), pcl::SingleLevelLayout< TInterface >::proc_id(), pcl::ProcRank(), pcl::OrderedInterface< TType, TContainer, TAlloc >::push_back(), pcl::InterfaceCommunicator< TLayout >::receive_data(), pcl::InterfaceCommunicator< TLayout >::send_data(), and UG_LOG.
void ug::AddFunctionValuesToGridCoordinatesP1 | ( | SmartPtr< TGridFunction > | spGridFct, |
const char * | cmp, | ||
size_t | coordInd | ||
) |
References AddFunctionValuesToGridCoordinatesP1().
void ug::AddFunctionValuesToGridCoordinatesP1 | ( | SmartPtr< TGridFunction > | spGridFct, |
size_t | fct, | ||
size_t | coordInd, | ||
const SubsetGroup & | ssGrp, | ||
number | timestep | ||
) |
References DoFRef(), ug::LFEID::LAGRANGE, ug::SubsetGroup::size(), and UG_COND_THROW.
Referenced by AddFunctionValuesToGridCoordinatesP1().
|
static |
Adds serializers for all registered global attachments.
Make sure that the same global attachments are attached to the given grid on all processes before calling this method. Use 'SynchronizeAttachedGlobalAttachments' to achieve this.
References name.
|
inline |
References IsInInterface().
void ug::AddLayoutFromGlobalLayout | ( | IndexLayout & | layout, |
GlobalLayout & | globalLayout, | ||
TGlobalToLocal & | globalToLocal, | ||
bool | bRemoveDoubles = true |
||
) |
References PROFILE_FUNC, and pcl::OrderedInterface< TType, TContainer, TAlloc >::push_back().
Referenced by CreateLayoutFromGlobalLayout().
|
inline |
Add a local matrix
The local matrix type must declare the following members:
mat | the whole local matrix type |
Referenced by AddLocalMatrix(), and SetLocalMatrix().
|
inline |
References AddLocalMatrix().
void ug::AddLocalMatrixToGlobal | ( | TMatrix & | mat, |
const LocalMatrix & | lmat | ||
) |
References BlockRef(), ug::LocalIndices::comp(), ug::LocalMatrix::get_col_indices(), ug::LocalMatrix::get_row_indices(), ug::LocalIndices::index(), ug::LocalMatrix::num_all_col_dof(), ug::LocalMatrix::num_all_col_fct(), ug::LocalMatrix::num_all_row_dof(), ug::LocalMatrix::num_all_row_fct(), and ug::LocalMatrix::value().
Referenced by ug::LocalToGlobalMapper< TAlgebra >::add_local_mat_to_global(), and ug::ActiveSet< TDomain, TAlgebra >::lagrange_mat_inv_elem().
void ug::AddLocalVector | ( | TVector & | vec, |
const LocalVector & | lvec | ||
) |
References BlockRef(), ug::LocalIndices::comp(), ug::LocalVector::get_indices(), ug::LocalIndices::index(), ug::LocalVector::num_all_dof(), ug::LocalVector::num_all_fct(), and ug::LocalVector::value().
Referenced by ug::LocalToGlobalMapper< TAlgebra >::add_local_vec_to_global(), and ug::DomainDiscretizationBase< TDomain, TAlgebra, TGlobAssembler >::calc_error().
|
inline |
References AddMult().
|
inline |
Referenced by AddMult(), AddMultiplyOf(), AssignMult(), CreateAsMultiplyOf(), FactorizeILUBeta(), and ug::DenseMatrix< TStorage >::operator*().
|
inline |
|
inline |
|
inline |
|
inline |
References AddMult().
|
static |
void ug::AdjustMeanValue | ( | SmartPtr< TGridFunction > | spGF, |
const std::string & | fcts | ||
) |
Subtracts the average of a given grid function (computed by taking into account the shape functions) from all the DoFs of this grid function. Typically, it should result in a grid function with the zero average.
TGridFunction | type of the grid function |
References AdjustMeanValue(), and TokenizeTrimString().
void ug::AdjustMeanValue | ( | SmartPtr< TGridFunction > | spGF, |
const std::string & | fcts, | ||
number | mean | ||
) |
Subtracts the average of a given grid function (computed by taking into account the shape functions), shifted by the value of 'mean', from all the DoFs of this grid function. Typically, it should result in a grid function with the average equal to 'mean'.
TGridFunction | type of the grid function |
References AdjustMeanValue(), and TokenizeTrimString().
void ug::AdjustMeanValue | ( | SmartPtr< TGridFunction > | spGF, |
const std::vector< std::string > & | vCmp | ||
) |
Subtracts the average of a given grid function (computed by taking into account the shape functions) from all the DoFs of this grid function. Typically, it should result in a grid function with the zero average.
TGridFunction | type of the grid function |
References AdjustMeanValue().
void ug::AdjustMeanValue | ( | SmartPtr< TGridFunction > | spGF, |
const std::vector< std::string > & | vCmp, | ||
number | mean | ||
) |
Subtracts the average of a given grid function (computed by taking into account the shape functions), shifted by the value of 'mean', from all the DoFs of this grid function. Typically, it should result in a grid function with the average equal to 'mean'.
TGridFunction | type of the grid function |
spGF | the grid function |
vCmp | the component to adjust the average for |
mean | the desired mean value |
References EDGE, FACE, Integral(), SmartPtr< T, FreePolicy >::invalid(), PROFILE_FUNC_GROUP, UG_THROW, VERTEX, and VOLUME.
Referenced by AdjustMeanValue(), and ug::AverageComponent< TDomain, TAlgebra >::post_process().
References ug::Selector::begin(), CollectEdges(), CollectFaces(), CollectVolumes(), ug::Selector::end(), and ug::ISelector::select().
Referenced by Refine().
AGeomObjID ug::aGeomObjID | ( | "globalID" | , |
false | |||
) |
void ug::AllGatherGrid | ( | Grid & | gridOut, |
Selector & | sel, | ||
GridDataSerializationHandler & | serializer, | ||
GridDataSerializationHandler & | deserializer, | ||
const pcl::ProcessCommunicator & | procCom = pcl::ProcessCommunicator() |
||
) |
AllGathers selected parts of a grid into 'gridOut'.
After the operation completes, 'gridOut' on will contain the selected grid parts of all processes in procCom on all processes in procCom. Note that double vertices may exist after this operation in 'gridOut'.
References pcl::ProcessCommunicator::allgather(), ug::Selector::clear(), ug::Grid::clear_geometry(), ug::GridDataSerializationHandler::deserialize(), Deserialize(), DeserializeGridElements(), ug::ISelector::enable_autoselection(), ug::Selector::get_grid_objects(), ug::ISelector::grid(), ug::GridDataSerializationHandler::read_infos(), SelectAssociatedGridObjects(), ug::GridDataSerializationHandler::serialize(), Serialize(), SerializeGridElements(), pcl::ProcessCommunicator::size(), UG_COND_THROW, and ug::GridDataSerializationHandler::write_infos().
Referenced by ug::ZRayTracer< TDomain >::ZRayTracer().
DebugID ug::APP | ( | "APP" | ) |
void ug::AppendCounterToString | ( | string & | str, |
string | indicator, | ||
int | counter, | ||
int | maxCounter | ||
) |
References NumberOfDigits(), and UG_ASSERT.
Referenced by ug::VTKOutput< TDim >::pvd_time_filename(), ug::VTKOutput< TDim >::pvtu_filename(), and ug::VTKOutput< TDim >::vtu_filename().
bool ug::AppendInterface | ( | TLayout & | layout, |
int | pidSource, | ||
int | pidAppendTo | ||
) |
References find().
Referenced by MergeInterfaces().
string ug::AppendSpacesToString | ( | string & | str, |
int | totalLength | ||
) |
Referenced by ug::bridge::PrintBuildConfiguration(), and ugshell_print_header().
void ug::ApplyConstrainedSmoothSubdivisionVolumesToTopLevel | ( | MultiGrid & | mg, |
MGSubsetHandler & | sh, | ||
MGSubsetHandler & | markSH, | ||
const char * | linearManifoldSubsets | ||
) |
References ApplySmoothSubdivisionVolumesToTopLevel(), and InitLinearManifoldSubsetHandler().
Referenced by ug::bridge::Refinement::Functionality::Common().
bool ug::ApplyLinearSolver | ( | SmartPtr< ILinearOperator< vector_type > > | A, |
vector_type & | u, | ||
vector_type & | b, | ||
SmartPtr< ILinearOperatorInverse< vector_type > > | solver | ||
) |
References PROFILE_BEGIN, PROFILE_BEGIN_GROUP, PROFILE_END_, and UG_LOG.
void ug::ApplySmoothManifoldPosToTopLevelAveragingScheme | ( | MultiGrid & | mg, |
TAPosition & | aPos, | ||
MGSubsetHandler & | markSH, | ||
MGSubsetHandler & | linearManifoldSH | ||
) |
Toplevel vertex repositioning function for subdivision surfaces refinement (Averaging scheme)
This function repositions all toplevel manifold vertices to their smoothed positions determined by the subdivision surfaces refinement.
mg | reference to MultiGrid |
aPos | reference to position attachment |
markSH | reference to SubsetHandler markSH containing marked (inner) boundary manifold |
linearManifoldSH | reference to user-specified linearManifoldSubsets SubsetHandler |
References ug::Grid::attach_to_vertices_dv(), ug::MultiGrid::begin(), CalculateNumManifoldFacesVertexAttachmentInTopLevel(), CalculateSmoothManifoldPosInTopLevelAveragingScheme(), pcl::InterfaceCommunicator< TLayout >::communicate(), ug::Grid::detach_from_vertices(), ug::Grid::distributed_grid_manager(), ug::MultiGrid::end(), pcl::InterfaceCommunicator< TLayout >::exchange_data(), ug::ISubsetHandler::get_subset_index(), ug::DistributedGridManager::grid_layout_map(), INT_V_MASTER, INT_V_SLAVE, ug::MultiGrid::top_level(), UG_THROW, VecScale(), and VecScaleAdd().
Referenced by ApplySmoothSubdivisionSurfacesToTopLevel(), and ApplySmoothSubdivisionVolumesToTopLevel().
void ug::ApplySmoothManifoldPosToTopLevelButterflyScheme | ( | MultiGrid & | mg, |
TAPosition & | aPos, | ||
MGSubsetHandler & | markSH, | ||
MGSubsetHandler & | linearManifoldSH | ||
) |
Toplevel vertex repositioning function for subdivision surfaces refinement (Butterfly scheme)
This function repositions all toplevel manifold vertices to their smoothed positions determined by the subdivision surfaces refinement.
mg | reference to MultiGrid |
aPos | reference to position attachment |
markSH | reference to SubsetHandler markSH containing marked (inner) boundary manifold |
linearManifoldSH | reference to user-specified linearManifoldSubsets SubsetHandler |
References pcl::ProcessCommunicator::allreduce(), ug::Grid::attach_to_edges_dv(), ug::Grid::attach_to_vertices_dv(), ug::MultiGrid::begin(), CalculateNumManifoldEdgesVertexAttachmentInParentLevel(), CalculateSmoothManifoldPosInParentLevelButterflyScheme(), pcl::InterfaceCommunicator< TLayout >::communicate(), ug::Grid::detach_from_edges(), ug::Grid::detach_from_vertices(), ug::Grid::distributed_grid_manager(), ug::MultiGrid::end(), pcl::InterfaceCommunicator< TLayout >::exchange_data(), ug::MultiGrid::get_parent(), ug::ISubsetHandler::get_subset_index(), ug::DistributedGridManager::grid_layout_map(), INT_V_MASTER, INT_V_SLAVE, ug::MultiGrid::num_levels(), pcl::NumProcs(), PCL_RO_MAX, ug::GridObject::reference_object_id(), ROID_EDGE, ug::MultiGrid::top_level(), and UG_THROW.
Referenced by ApplySmoothSubdivisionSurfacesToTopLevel(), and ApplySmoothSubdivisionVolumesToTopLevel().
void ug::ApplySmoothManifoldPosToTopLevelLoopScheme | ( | MultiGrid & | mg, |
TAPosition & | aPos, | ||
MGSubsetHandler & | markSH, | ||
MGSubsetHandler & | linearManifoldSH, | ||
bool | bCreaseSurf | ||
) |
Toplevel vertex repositioning function for subdivision surfaces refinement (by C. Loop, 1987)
This function repositions all toplevel manifold vertices to their smoothed positions determined by the subdivision surfaces refinement.
mg | reference to MultiGrid |
aPos | reference to position attachment |
markSH | reference to SubsetHandler markSH containing marked (inner) boundary manifold |
linearManifoldSH | reference to user-specified linearManifoldSubsets SubsetHandler |
bCreaseSurf | bool switch for crease surfaces in case of subdivision refinement by C. Loop, 1987 handling the crease polylines separately |
References pcl::ProcessCommunicator::allreduce(), ug::Grid::attach_to_edges_dv(), ug::Grid::attach_to_vertices_dv(), ug::MultiGrid::begin(), CalculateNumManifoldEdgesVertexAttachmentInParentLevel(), CalculateSmoothCreaseManifoldPosInParentLevelLoopScheme(), CalculateSmoothManifoldPosInParentLevelLoopScheme(), pcl::InterfaceCommunicator< TLayout >::communicate(), ug::Grid::detach_from_edges(), ug::Grid::detach_from_vertices(), ug::Grid::distributed_grid_manager(), ug::MultiGrid::end(), pcl::InterfaceCommunicator< TLayout >::exchange_data(), ug::MultiGrid::get_parent(), ug::ISubsetHandler::get_subset_index(), ug::DistributedGridManager::grid_layout_map(), INT_V_MASTER, INT_V_SLAVE, ug::MultiGrid::num_levels(), pcl::NumProcs(), PCL_RO_MAX, ug::GridObject::reference_object_id(), ROID_EDGE, ROID_VERTEX, ug::MultiGrid::top_level(), and UG_THROW.
Referenced by ApplySmoothSubdivisionSurfacesToTopLevel(), and ApplySmoothSubdivisionVolumesToTopLevel().
void ug::ApplySmoothSubdivisionSurfacesToTopLevel | ( | MultiGrid & | mg, |
TAPosition & | aPos, | ||
MGSubsetHandler & | sh, | ||
MGSubsetHandler & | markSH, | ||
const char * | linearManifoldSubsets, | ||
bool | bCreaseSurf | ||
) |
Wrapper procedures for smooth subdivision surfaces/volumes hierarchy creation.
These functions call the actual ApplySmoothSubdivisionVolumesToTopLevel procedure
mg | reference to MultiGrid |
aPos | reference to position attachment |
markSH | reference to SubsetHandler markSH containing marked (inner) boundary manifold |
linearManifoldSubsets | user-specified linearManifoldSubsets |
bConstrained | bool switch for constrained smooth subdivision volumes scheme |
bCreaseSurf | bool switch for crease surfaces in case of subdivision refinement by C. Loop, 1987 handling the boundary polylines separately |
References ApplySmoothSubdivisionSurfacesToTopLevel(), and InitLinearManifoldSubsetHandler().
void ug::ApplySmoothSubdivisionSurfacesToTopLevel | ( | MultiGrid & | mg, |
TAPosition & | aPos, | ||
MGSubsetHandler & | sh, | ||
MGSubsetHandler & | markSH, | ||
MGSubsetHandler & | linearManifoldSH, | ||
bool | bCreaseSurf | ||
) |
Function to create a smooth subdivision volumes hierarchy.
This function transforms a linearly refined hybrid tetra-/octahedral volume grid hierarchy into a hierarchy with smoothed boundary manifold (s. Schaefer et al, "Smooth subdivision of tetrahedral meshes", 2004)
mg | reference to MultiGrid |
aPos | reference to position attachment |
sh | reference to standard SubsetHandler |
markSH | reference to SubsetHandler containing marked (inner) boundary manifold |
linearManifoldSH | reference to user-specified linearManifoldSubsets SubsetHandler |
bCreaseSurf | bool switch for crease surfaces in case of subdivision refinement by C. Loop, 1987 handling the crease polylines separately |
References pcl::ProcessCommunicator::allreduce(), ApplySmoothManifoldPosToTopLevelAveragingScheme(), ApplySmoothManifoldPosToTopLevelButterflyScheme(), ApplySmoothManifoldPosToTopLevelLoopScheme(), g_boundaryRefinementRule, LINEAR, ug::MultiGrid::num_levels(), pcl::NumProcs(), PCL_RO_MAX, PROFILE_FUNC_GROUP, SUBDIV_SURF_AVERAGING_SCHEME, SUBDIV_SURF_BUTTERFLY_SCHEME, SUBDIV_SURF_LOOP_SCHEME, SUBDIV_VOL, and UG_THROW.
Referenced by ApplySmoothSubdivisionSurfacesToTopLevel().
template void ug::ApplySmoothSubdivisionSurfacesToTopLevel< APosition > | ( | MultiGrid & | mg, |
APosition & | aPos, | ||
MGSubsetHandler & | sh, | ||
MGSubsetHandler & | markSH, | ||
const char * | linearManifoldSubsets, | ||
bool | bCreaseSurf | ||
) |
template void ug::ApplySmoothSubdivisionSurfacesToTopLevel< APosition1 > | ( | MultiGrid & | mg, |
APosition1 & | aPos, | ||
MGSubsetHandler & | sh, | ||
MGSubsetHandler & | markSH, | ||
const char * | linearManifoldSubsets, | ||
bool | bCreaseSurf | ||
) |
template void ug::ApplySmoothSubdivisionSurfacesToTopLevel< APosition2 > | ( | MultiGrid & | mg, |
APosition2 & | aPos, | ||
MGSubsetHandler & | sh, | ||
MGSubsetHandler & | markSH, | ||
const char * | linearManifoldSubsets, | ||
bool | bCreaseSurf | ||
) |
void ug::ApplySmoothSubdivisionVolumesToTopLevel | ( | MultiGrid & | mg, |
MGSubsetHandler & | sh, | ||
MGSubsetHandler & | markSH, | ||
const char * | linearManifoldSubsets | ||
) |
void ug::ApplySmoothSubdivisionVolumesToTopLevel | ( | MultiGrid & | mg, |
MGSubsetHandler & | sh, | ||
MGSubsetHandler & | markSH, | ||
MGSubsetHandler & | linearManifoldSH, | ||
bool | bConstrained | ||
) |
Function to create a smooth subdivision volumes hierarchy.
This function transforms a linearly refined hybrid tetra-/octahedral volume grid hierarchy into a smoothed subdivision volumes hierarchy (s. Schaefer et al, "Smooth subdivision of tetrahedral meshes", 2004)
mg | reference to MultiGrid |
sh | reference to standard SubsetHandler |
markSH | reference to SubsetHandler containing marked (inner) boundary manifold |
linearManifoldSH | reference to user-specified linearManifoldSubsets SubsetHandler |
bConstrained | bool switch for constrained smooth subdivision volumes scheme |
References pcl::ProcessCommunicator::allreduce(), aPosition, ApplySmoothManifoldPosToTopLevelAveragingScheme(), ApplySmoothManifoldPosToTopLevelButterflyScheme(), ApplySmoothManifoldPosToTopLevelLoopScheme(), ApplySmoothVolumePosToTopLevel(), g_boundaryRefinementRule, ug::tet_rules::GetRefinementRule(), ug::tet_rules::HYBRID_TET_OCT, LINEAR, ug::MultiGrid::num_levels(), pcl::NumProcs(), PCL_RO_MAX, PROFILE_FUNC_GROUP, SUBDIV_SURF_AVERAGING_SCHEME, SUBDIV_SURF_BUTTERFLY_SCHEME, SUBDIV_SURF_LOOP_SCHEME, SUBDIV_VOL, and UG_THROW.
Referenced by ApplyConstrainedSmoothSubdivisionVolumesToTopLevel(), ApplySmoothSubdivisionVolumesToTopLevel(), ug::bridge::Refinement::Functionality::Common(), and ug::GlobalSubdivisionMultiGridRefiner< TAPosition >::smooth().
void ug::ApplySmoothVolumePosToTopLevel | ( | MultiGrid & | mg, |
MGSubsetHandler & | markSH, | ||
bool | bConstrained | ||
) |
Toplevel vertex repositioning function for subdivision volumes refinement.
This function repositions all toplevel inner vertices to their smoothed positions determined by the subdivision volumes refinement.
mg | reference to MultiGrid |
markSH | reference to SubsetHandler markSH containing marked (inner) boundary manifold |
bConstrained | bool switch for constrained smooth subdivision volumes scheme |
References aPosition, ug::Grid::attach_to_vertices_dv(), ug::MultiGrid::begin(), CalculateConstrainedSmoothVolumePosInTopLevel(), CalculateNumElemsVertexAttachmentInTopLevel(), CalculateSmoothVolumePosInTopLevel(), pcl::InterfaceCommunicator< TLayout >::communicate(), ug::Grid::detach_from_vertices(), ug::Grid::distributed_grid_manager(), ug::MultiGrid::end(), pcl::InterfaceCommunicator< TLayout >::exchange_data(), g_boundaryRefinementRule, ug::ISubsetHandler::get_subset_index(), ug::DistributedGridManager::grid_layout_map(), INT_V_MASTER, INT_V_SLAVE, SUBDIV_VOL, ug::MultiGrid::top_level(), UG_THROW, VecScale(), and VecScaleAdd().
Referenced by ApplySmoothSubdivisionVolumesToTopLevel().
bool ug::ArteExpandFracs3D::establishNewVertices< false, ArteExpandFracs3D::VrtxFracProptsStatus::oneFracSuDoAtt > | ( | Vertex *const & | oldVrt | ) |
bool ug::ArteExpandFracs3D::establishNewVertices< true, ArteExpandFracs3D::VrtxFracProptsStatus::oneFracSuDoAtt > | ( | Vertex *const & | oldVrt | ) |
References CalculateCenter(), UG_LOG, and UG_THROW.
number ug::AspectRatio | ( | FaceVertices * | f, |
TAAPos & | aaPos | ||
) |
Returns the aspect ratio of a face.
Depending on the number of nodes, either TriangleAspectRatio or QuadrilateralAspectRatio is called.
References ug::FaceVertices::num_vertices(), QuadrilateralAspectRatio(), TriangleAspectRatio(), and UG_THROW.
Referenced by AssignTetrahedronAttributesByAspectRatio(), GetAspectRatioHistogram(), and GetAspectRatioInfo().
References ug::VolumeVertices::num_vertices(), TetrahedronAspectRatio(), and UG_THROW.
void ug::AssembleInjectionByAverageOfChildren | ( | typename TAlgebra::matrix_type & | mat, |
const DoFDistribution & | coarseDD, | ||
const DoFDistribution & | fineDD | ||
) |
void ug::AssembleInjectionByAverageOfChildren | ( | typename TAlgebra::matrix_type & | mat, |
const DoFDistribution & | coarseDD, | ||
const DoFDistribution & | fineDD | ||
) |
References EDGE, FACE, ug::DoFDistributionInfoProvider::max_dofs(), ug::DoFDistribution::num_indices(), VERTEX, and VOLUME.
void ug::AssembleInjectionForP1Lagrange | ( | typename TAlgebra::matrix_type & | mat, |
const DoFDistribution & | coarseDD, | ||
const DoFDistribution & | fineDD | ||
) |
This functions assembles the interpolation matrix between to grid levels using only the RegularVertex degrees of freedom.
[out] | mat | Assembled interpolation matrix that interpolates u -> v |
[in] | approxSpace | Approximation Space |
[in] | coarseLevel | Coarse Level index |
[in] | fineLevel | Fine Level index |
References ug::MultiGrid::get_parent(), ug::DoFDistribution::inner_algebra_indices(), ug::LFEID::LAGRANGE, ug::DoFDistributionInfoProvider::local_finite_element_id(), ug::DoFDistribution::multi_grid(), ug::DoFDistributionInfoProvider::num_fct(), ug::DoFDistribution::num_indices(), ug::LFEID::order(), PROFILE_FUNC_GROUP, ug::LFEID::type(), and UG_THROW.
void ug::AssembleLinearOperatorRhsAndSolution | ( | AssembledLinearOperator< TAlgebra > & | op, |
typename TAlgebra::vector_type & | u, | ||
typename TAlgebra::vector_type & | b | ||
) |
help function to assemble a linear operator
This function initializes the operator, sets the vector b to the computed rhs and sets the dirichlet post processes for the vector u.
[out] | op | Operator |
[out] | u | Solution |
[out] | b | Rigth-Hand side vector |
TAlgebra | algebra type |
References ASS_PROFILE_BEGIN, ASS_PROFILE_END, ug::AssembledLinearOperator< TAlgebra >::init_op_and_rhs(), ug::AssembledLinearOperator< TAlgebra >::set_dirichlet_values(), and UG_CATCH_THROW.
void ug::AssignAssociatedLowerDimElemsToSubsets | ( | TSubsetHandlerDest & | sh, |
const TSubsetHandlerSrc & | srcIndHandler, | ||
const Edge & | |||
) |
helper with with dummy-param for compile-time function selection.
void ug::AssignAssociatedLowerDimElemsToSubsets | ( | TSubsetHandlerDest & | sh, |
const TSubsetHandlerSrc & | srcIndHandler, | ||
const Face & | |||
) |
helper with with dummy-param for compile-time function selection.
void ug::AssignAssociatedLowerDimElemsToSubsets | ( | TSubsetHandlerDest & | sh, |
const TSubsetHandlerSrc & | srcIndHandler, | ||
const Volume & | |||
) |
helper with with dummy-param for compile-time function selection.
|
static |
|
static |
UG_API void ug::AssignDefaultSubsetColors | ( | ISubsetHandler & | sh | ) |
assigns ug4's default subset colors
References ug::SubsetInfo::color, GetColorFromDefaultPalette(), ug::ISubsetHandler::num_subsets(), and ug::ISubsetHandler::subset_info().
Referenced by AssignSubsetColors().
void ug::assignFaceSubsetToClosedFace | ( | std::vector< Face * > & | faceVec, |
Grid & | grid, | ||
SubsetHandler & | sh | ||
) |
References ug::GridSubsetHandler::assign_subset(), ug::Grid::get_edge(), and ug::ISubsetHandler::get_subset_index().
Referenced by ExpandFractures2dArte().
|
static |
References ug::GridSubsetHandler::assign_subset(), ug::Grid::associated_edges_begin(), ug::Grid::associated_edges_end(), ug::GridSubsetHandler::begin(), ug::Grid::begin_marking(), ug::GridSubsetHandler::end(), ug::Grid::end_marking(), ug::ISubsetHandler::get_subset_index(), ug::Grid::is_marked(), ug::Grid::mark(), REM_CREASE, REM_FIXED, REM_NONE, and ug::EdgeVertices::vertex().
Referenced by AdjustEdgeLength().
|
static |
References ug::GridSubsetHandler::assign_subset(), ug::Grid::associated_edges_begin(), ug::Grid::associated_edges_end(), ug::GridSubsetHandler::begin(), ug::Grid::begin_marking(), ug::GridSubsetHandler::end(), ug::Grid::end_marking(), ug::ISubsetHandler::get_subset_index(), ug::Grid::is_marked(), ug::Grid::mark(), REM_CREASE, REM_FIXED, REM_NONE, and ug::EdgeVertices::vertex().
void ug::AssignIndices | ( | typename geometry_traits< TElem >::iterator | iterBegin, |
typename geometry_traits< TElem >::iterator | iterEnd, | ||
Grid::AttachmentAccessor< TElem, AInt > & | aaInt | ||
) |
|
inline |
References AssignMult().
|
inline |
Referenced by AddMultiplyOf(), AssignMult(), and CreateAsMultiplyOf().
|
inline |
References AddMult(), AssignMult(), and UG_ASSERT.
|
inline |
References alpha, and AssignMult().
|
inline |
References AddMult(), AssignMult(), and UG_ASSERT.
|
inline |
References AssignMult().
template void ug::AssignSidesToSubsets< Edge > | ( | ISubsetHandler & | , |
ISelector * | |||
) |
Referenced by AdjustSubsetsForSimulation().
template void ug::AssignSidesToSubsets< Face > | ( | ISubsetHandler & | , |
ISelector * | |||
) |
Referenced by AdjustSubsetsForSimulation().
template void ug::AssignSidesToSubsets< Volume > | ( | ISubsetHandler & | , |
ISelector * | |||
) |
Referenced by AdjustSubsetsForSimulation().
UG_API void ug::AssignSubsetColorsBlueToGreen | ( | ISubsetHandler & | sh, |
int | firstSi, | ||
int | numSi | ||
) |
UG_API void ug::AssignSubsetColorsRedToGreen | ( | ISubsetHandler & | sh, |
int | firstSi, | ||
int | numSi | ||
) |
|
static |
|
static |
bool ug::AssignSubsetsByQuality | ( | Grid & | grid, |
SubsetHandler & | sh, | ||
TIterator | elemsBegin, | ||
TIterator | elemsEnd, | ||
std::vector< number > | intervals | ||
) |
assigns a subset based on the quality of the given element.
Currently only faces are supported.
intervals | contains the intervals which define into which subset an element goes. Numbers have to be sorted, starting at 0 and ending at 1 (0 and 1 should be contained in intervals). |
References aPosition, ug::GridSubsetHandler::assign_subset(), and FaceQuality().
|
static |
bool ug::AssignTetrahedronAttributesByAspectRatio | ( | Grid & | grid, |
SubsetHandler & | shVolume, | ||
AInt & | aTetrahedronAspectRatioClass, | ||
vector< double > & | offsets, | ||
Grid::VertexAttachmentAccessor< APosition > & | aaPos | ||
) |
assigns tetrahedral elements of a grid to subsets respecting their aspect ratio
assigns tetrahedral elements of a grid to subsets respecting their aspect ratio
References AspectRatio(), ug::GridSubsetHandler::assign_subset(), ug::Grid::begin(), CalculateTetrahedronAspectRatio(), and ug::Grid::end().
bool ug::AssignTetrahedronAttributesByAspectRatio | ( | Grid & | grid, |
SubsetHandler & | shVolume, | ||
AInt & | aTetrahedronAspectRatioClass, | ||
vector< double > & | offsets, | ||
Grid::VertexAttachmentAccessor< APosition > & | aaPos | ||
) |
assigns attributes to tetrahedral elements of a grid respecting their aspect ratio
assigns tetrahedral elements of a grid to subsets respecting their aspect ratio
References AspectRatio(), ug::GridSubsetHandler::assign_subset(), ug::Grid::begin(), CalculateTetrahedronAspectRatio(), and ug::Grid::end().
|
static |
The method operates on selected entries only. Make sure that all elements of type TElem which are being sent to a process are selected.
If a selected element has no children and if it is a vertical master, it will be marked as vertical master again.
If a selected element has unselected children, then those children will be selected as vertical master.
This method only works correctly if called for the elements of highest dimension.
References ug::MGSelector::begin(), ug::DistributedGridManager::contains_status(), ug::ISelector::deselect(), ug::Grid::distributed_grid_manager(), ug::MGSelector::end(), ES_V_MASTER, ES_V_SLAVE, GDIST_PROFILE_FUNC, ug::MultiGrid::get_child(), ug::MultiGrid::get_parent(), ug::ISelector::get_selection_status(), ug::ISelector::is_selected(), IS_VMASTER, IS_VSLAVE, LG_DIST, ug::MGSelector::multi_grid(), ug::MultiGrid::num_children(), ug::MGSelector::num_levels(), ug::ISelector::select(), UG_ASSERT, and UG_DLOG.
bool ug::AttachAct | ( | Grid & | grid, |
const char * | filename, | ||
string | name | ||
) |
References ug::Grid::attach_to_volumes(), ug::UGError::get_msg(), GetAct(), ug::Grid::has_volume_attachment(), name, UG_LOGN, ug::Grid::volumes_begin(), and ug::Grid::volumes_end().
Referenced by LoadGridFromGRDECL().
void ug::AttachmentAllReduce | ( | Grid & | grid, |
AType | aValue, | ||
pcl::ReduceOperation | op | ||
) |
Syncronizes a given attachment using a given reduction operation. Note that the syncronization takes place only for the horizontal masters and slaves. Use e.g. like this:
see pcl_methods.h for more PCL_RO_... reduce operations.
References pcl::InterfaceCommunicator< TLayout >::communicate(), ug::Grid::distributed_grid_manager(), pcl::InterfaceCommunicator< TLayout >::exchange_data(), ug::DistributedGridManager::grid_layout_map(), INT_H_MASTER, and INT_H_SLAVE.
bool ug::AttachProperty | ( | Grid & | grid, |
const char * | filename, | ||
string | name | ||
) |
References ug::Grid::attach_to_volumes(), ug::UGError::get_msg(), GetProperty(), ug::Grid::has_volume_attachment(), name, UG_LOGN, ug::Grid::volumes_begin(), and ug::Grid::volumes_end().
Referenced by LoadGridFromGRDECL().
number ug::AverageFunctionDifference | ( | SmartPtr< GridFunction< TDomain, TAlgebra > > | spGridFct, |
std::string | subset, | ||
std::string | fct1, | ||
std::string | fct2 | ||
) |
Calculates the average of the pointwise difference of two functions on given subset.
Iterates over all vertices of given subset, calculates difference of fct1
and fct2
and computes arithmetic mean of the differences at all vertices (grid points).
fct1
and fct2
must both be defined on subset
! [in] | spGridFct | GridFunction holding functions fct1 and fct2 defined on subset subset |
[in] | subset | name of the subset to compare on |
[in] | fct1 | name of the first function |
[in] | fct2 | name of the second function |
fct1
and fct2
on all vertices of subset
References DoFRef(), and PROFILE_FUNC.
void ug::AveragePositions | ( | TPosition & | vOut, |
const TPosition * | vCornerCoords, | ||
size_t | num | ||
) |
averages positions by arithmetic mean
Arithmetic Mean of Positions returns the arithmetic mean of positions
[in] | vCornerCoords | positions |
[in] | num | number of positions |
[out] | vOut | arithmetic mean of positions |
Referenced by ug::FV1Geometry_gen< TElem, TWorldDim, TCondensed >::update(), ug::DimFV1Geometry< TDim, TWorldDim >::update(), ug::FV1IBGeometry< TElem, TWorldDim >::update(), ug::DimFV1IBGeometry< TDim, TWorldDim >::update(), ug::DimCRFVGeometry< TDim, TWorldDim >::update(), ug::CRFVGeometry< TElem, TWorldDim >::update(), ug::HFV1ManifoldGeometry< TElem, TWorldDim >::update(), ug::HCRFVGeometry< TElem, TWorldDim >::update(), ug::HFV1Geometry< TElem, TWorldDim >::update(), ug::DimHFV1Geometry< TDim, TWorldDim >::update(), ug::DimFV1Geometry< TDim, TWorldDim >::update_boundary_faces(), ug::FV1IBGeometry< TElem, TWorldDim >::update_boundary_faces(), ug::DimFV1IBGeometry< TDim, TWorldDim >::update_boundary_faces(), ug::DimCRFVGeometry< TDim, TWorldDim >::update_geometric_data(), ug::DimCRFVGeometry< TDim, TWorldDim >::update_hanging(), ug::DimFV1Geometry< TDim, TWorldDim >::update_local(), ug::FV1Geometry_gen< TElem, TWorldDim, TCondensed >::update_local_data(), ug::FV1IBGeometry< TElem, TWorldDim >::update_local_data(), ug::DimFV1IBGeometry< TDim, TWorldDim >::update_local_data(), ug::DimCRFVGeometry< TDim, TWorldDim >::update_local_data(), ug::CRFVGeometry< TElem, TWorldDim >::update_local_data(), ug::HCRFVGeometry< TElem, TWorldDim >::update_local_data(), ug::VTKOutput< TDim >::write_cell_data_elementwise(), and ug::VTKOutput< TDim >::write_cell_values_elementwise().
void ug::backward_gs_step | ( | Vector_type & | c, |
const Matrix_type & | A, | ||
const Vector_type & | d, | ||
const size_t | i, | ||
const number | relaxFactor | ||
) |
References InverseMatMult(), MatMultAdd(), and s.
Referenced by ug::ProjBackwardGaussSeidel< TDomain, TAlgebra >::step(), and ug::ProjSymmetricGaussSeidel< TDomain, TAlgebra >::step().
void ug::baseName | ( | std::string & | nameOut, |
const std::string & | nameIn | ||
) |
References GetPathSeparator().
Referenced by ug::bridge::ClassCastProvider::cast_to_base_class(), ug::bridge::IExportedClass::check_consistency(), ExportGridToTETGEN(), ug::VTKOutput< TDim >::pvd_filename(), ug::VTKOutput< TDim >::pvd_time_filename(), ug::VTKOutput< TDim >::pvtu_filename(), and ug::VTKOutput< TDim >::vtu_filename().
|
static |
References p.
Referenced by TriCubeIntersection().
|
static |
References p.
Referenced by TriCubeIntersection().
|
inline |
Referenced by Deserialize().
bool ug::BlockMatrixFiniteAndNotTooBig | ( | TBlock & | m, |
double | tooBigValue = 1e24 |
||
) |
References BlockRef(), GetCols(), and GetRows().
Referenced by ug::ILUTPreconditioner< TAlgebra >::preprocess_mat2().
void ug::BlockMatrixToDoubleMatrix | ( | DenseMatrix< VariableArray2< double > > & | Ad, |
TMatrix & | Ab | ||
) |
References BlockRef().
Referenced by GetSliceDenseInverse().
|
inline |
References BlockMaxNorm().
number ug::BlockMaxNorm | ( | const T & | t | ) |
Referenced by BlockMaxNorm(), and ug::Vector< TValueType >::maxnorm().
number ug::BlockNorm | ( | const T & | t | ) |
|
inline |
References BlockNorm2().
Referenced by AddMultiplyOf(), ug::ILUTPreconditioner< TAlgebra >::applyLU(), ug::SchurComplementOperator< TAlgebra >::compute_matrix(), CreateAsMultiplyOf(), ug::PILUTPreconditioner< TAlgebra >::eliminate_row(), FactorizeILU(), FactorizeILUSorted(), ug::StrongNegativeConnectionsByBlockNorm::find(), invert_U(), ug::ILUTPreconditioner< TAlgebra >::multi_apply(), ug::PILUTPreconditioner< TAlgebra >::preprocess(), ug::ILUTPreconditioner< TAlgebra >::preprocess_mat2(), and ug::PILUTPreconditioner< TAlgebra >::step().
|
inline |
References BlockNorm2().
|
inline |
References BlockNorm2().
number ug::BlockNorm2 | ( | const T & | t | ) |
|
inline |
References UG_ASSERT.
|
inline |
|
inline |
|
inline |
|
inline |
Referenced by ug::ActiveSet< TDomain, TAlgebra >::active_index_elem(), ug::LocalToGlobalMapperNLGS< TAlgebra >::add_local_mat_to_global(), ug::LocalToGlobalMapperNLGS< TAlgebra >::add_local_vec_to_global(), AddLocalMatrixToGlobal(), AddLocalVector(), ug::ObstacleInNormalDir< TDomain, TAlgebra >::adjust_defect_to_constraint(), ug::ScalarLowerObstacle< TDomain, TAlgebra >::adjust_defect_to_constraint(), ug::ScalarUpperObstacle< TDomain, TAlgebra >::adjust_defect_to_constraint(), ug::ScalarLowerObstacle< TDomain, TAlgebra >::adjust_sol_and_cor(), ug::ScalarUpperObstacle< TDomain, TAlgebra >::adjust_sol_and_cor(), ug::ObstacleInNormalDir< TDomain, TAlgebra >::adjust_sol_and_cor_elem(), BlockMatrixFiniteAndNotTooBig(), BlockMatrixToDoubleMatrix(), BlockVectorFiniteAndNotTooBig(), ug::AnalyzingSolver< M, X, Y >::check(), ug::ComPol_MatDistributeDiag< TAlgebra >::collect(), ug::SchurComplementOperator< TAlgebra >::compute_matrix(), DoFRef(), ug::IExternalSolver< TAlgebra >::get_vector(), ug::ILUTScalarPreconditioner< TAlgebra >::get_vector(), GetBlockGSCorrection(), GetBlockGSCorrectionILUT(), GetDoubleFromSparseBlock(), GetLocalVector(), GetSliceSparse(), IsDirichletRow(), MatAddNonDirichlet(), MatExtractDiagOnLayout(), MatWriteDiagOnLayout(), ScalarMatrixAdapter< AT, ST >::operator()(), ScalarSubMatrixAdapter< AT, ST, R, C >::operator()(), ug::ScalarSubVectorAdapter< InVT, ST >::operator[](), ScalarVectorAdapter< AT, ST >::operator[](), ug::ConstScalarSubVectorAdapter< InVT, ST >::operator[](), ug::IProjGaussSeidel< TDomain, TAlgebra >::project_correction(), ug::AssemblingTuner< TAlgebra >::set_dirichlet_val(), ug::ScalarSubVectorAdapter< InVT, ST >::set_random(), ug::Vector< TValueType >::set_random(), ug::IExternalSolver< TAlgebra >::set_vector(), ug::ILUTScalarPreconditioner< TAlgebra >::set_vector(), SetCol(), SetDirichletRow(), SetRow(), ug::LU< TAlgebra >::solve_dense(), SplitAddRow_Symmetric(), ug::GridFunctionVectorWriter< TGridFunction, TVector >::update(), ScalarMatrixAdapter< AT, ST >::row_iterator::value(), ScalarSubMatrixAdapter< AT, ST, R, C >::row_iterator::value(), ScalarMatrixAdapter< AT, ST >::const_row_iterator::value(), and ScalarSubMatrixAdapter< AT, ST, R, C >::const_row_iterator::value().
|
inline |
Referenced by Serialize().
bool ug::BlockVectorFiniteAndNotTooBig | ( | TBlock & | v, |
double | tooBigValue = 1e24 |
||
) |
References BlockRef(), and GetSize().
Referenced by IsFiniteAndNotTooBig().
void ug::BlurField | ( | Field< T > & | field, |
number | alpha, | ||
size_t | numIterations, | ||
const T & | noDataValue | ||
) |
Smoothens the field by adjusting the value of each pixel towards the average of its neighbours.
The value type T has to support operators += and *= and = 0
References alpha, ug::Field< T >::at(), ug::Field< T >::height(), and ug::Field< T >::width().
Referenced by ug::Heightfield::blur(), and ug::RasterLayers::blur_layers().
|
static |
References compute_position_and_velocity_in_section(), ug::NeuriteProjector::BPProjectionHelper::end, PI, ug::NeuriteProjector::quadrature_points(), ug::NeuriteProjector::BPProjectionHelper::sec_start, ug::MathVector< N, T >::size(), ug::NeuriteProjector::BPProjectionHelper::start, UG_LOGN, VecDot(), VecNormSquared(), VecScale(), VecScaleAdd(), VecScaleAppend(), and VecSubtract().
Referenced by newton_for_bp_projection().
|
static |
References ug::NeuriteProjector::average_pos_from_parent(), compute_radius_in_section(), ug::RefinementProjector::geometry(), ug::NeuriteProjector::neurite(), ug::IGeometry< dim >::pos(), pos_in_neurite(), ug::IVertexGroup::size(), UG_COND_THROW, VecDistanceSq(), VecDot(), VecScaleAdd(), VecSubtract(), ug::IVertexGroup::vertex(), and ug::NeuriteProjector::Neurite::vSec.
Referenced by pos_in_bp().
void ug::BroadcastGrid | ( | Grid & | gridOut, |
Selector & | sel, | ||
GridDataSerializationHandler & | serializer, | ||
GridDataSerializationHandler & | deserializer, | ||
int | root, | ||
const pcl::ProcessCommunicator & | procCom = pcl::ProcessCommunicator() |
||
) |
Broadcasts the specified Selection from 'root' to all processes in procCom.
Selected elements and associated attachments are broadcasted from 'root' to all processes in procCom (including 'root').
serializer | Has to operate on 'sel.grid()'. It is responsible to serialize e.g. attachments, subset-handlers or selectors. |
deserializer | Has to operate on 'gridOut'. It has to contain exactly the same components as 'serializer', except that all components have to operate on 'gridOut', too. |
References pcl::ProcessCommunicator::broadcast(), ug::Grid::clear_geometry(), ug::GridDataSerializationHandler::deserialize(), Deserialize(), DeserializeGridElements(), ug::Grid::get_grid_objects(), ug::Selector::get_grid_objects(), ug::ISelector::grid(), pcl::ProcRank(), ug::GridDataSerializationHandler::read_infos(), SelectAssociatedGridObjects(), ug::GridDataSerializationHandler::serialize(), Serialize(), SerializeGridElements(), UG_COND_THROW, and ug::GridDataSerializationHandler::write_infos().
Referenced by ug::OverlyingSubsetFinder< TDomain >::OverlyingSubsetFinder().
void ug::BroadcastVectorFromOne | ( | HorizontalAlgebraLayouts & | agglomerationLayout, |
ParallelVector< T > & | vec, | ||
const ParallelVector< T > & | collectedVec, | ||
ParallelStorageType | type | ||
) |
void ug::BroadcastVectorFromOne | ( | IndexLayout & | agglomeratedMaster, |
IndexLayout & | agglomeratedSlave, | ||
pcl::InterfaceCommunicator< IndexLayout > & | com, | ||
ParallelVector< T > & | vec, | ||
const ParallelVector< T > & | collectedVec, | ||
ParallelStorageType | type, | ||
bool | bRoot | ||
) |
broadcasts the vector collectedVec to the distributed vec
agglomeratedMaster | master agglomeration layout. only nonempty if bRoot=true |
agglomeratedSlave | slave agglomeration layout. only nonempty if bRoot=false |
com | |
vec | (output) the distributed vec |
collectedVec | (input) collectedVec |
type | can be PST_ADDITIVE or PST_CONSISTENT |
bRoot |
!! WRONG !!! SetLayoutValues(&vec, vec.layouts()->slave(), 0.0); //!!!
References pcl::InterfaceCommunicator< TLayout >::communicate(), ug::ParallelVector< TVector >::get_storage_type(), ug::ParallelVector< TVector >::has_storage_type(), PROFILE_FUNC_GROUP, PST_ADDITIVE, PST_CONSISTENT, pcl::InterfaceCommunicator< TLayout >::receive_data(), pcl::InterfaceCommunicator< TLayout >::send_data(), ug::ParallelVector< TVector >::set_storage_type(), UG_CATCH_THROW, UG_COND_THROW, and UG_THROW.
void ug::BuildDomainDecompositionLayouts | ( | IndexLayout & | subdomMastersOut, |
IndexLayout & | subdomSlavesOut, | ||
IndexLayout & | processMastersOut, | ||
IndexLayout & | processSlavesOut, | ||
IndexLayout & | deltaNbrMastersOut, | ||
IndexLayout & | deltaNbrSlavesOut, | ||
IndexLayout & | crossPointMastersOut, | ||
IndexLayout & | crossPointSlavesOut, | ||
const IndexLayout & | standardMasters, | ||
const IndexLayout & | standardSlaves, | ||
int | highestReferencedIndex, | ||
pcl::IDomainDecompositionInfo & | ddinfo | ||
) |
Given standard master and slave index layouts (as created e.g. by ug::CreateIndexLayout), this method constructs layouts as required by domain decomposition methods such as the Feti solver.
Note that the created layouts are horizontal layouts which allow to communicate between neighbours of the same subdomain (process-layouts), between neighbours in different subdomains (subdom-layouts) and between neighbours in the same subdomain, which lie in a subdomain layout (deltaNbr-layouts).
References pcl::SingleLevelLayout< TInterface >::begin(), pcl::InterfaceCommunicator< TLayout >::communicate(), CommunicateConnections(), CopyInterfaceEntrysToDomainDecompositionLayouts(), pcl::SingleLevelLayout< TInterface >::end(), pcl::IDomainDecompositionInfo::map_proc_id_to_subdomain_id(), pcl::SingleLevelLayout< TInterface >::proc_id(), pcl::ProcRank(), PROFILE_FUNC_GROUP, pcl::InterfaceCommunicator< TLayout >::receive_data(), and pcl::InterfaceCommunicator< TLayout >::send_data().
Referenced by ug::FetiLayouts< TAlgebra >::create_layouts().
int ug::BuildOneToManyLayout | ( | IndexLayout & | masterLayoutOut, |
IndexLayout & | slaveLayoutOut, | ||
int | rootProcID, | ||
IndexLayout & | masterLayout, | ||
IndexLayout & | slaveLayout, | ||
pcl::ProcessCommunicator | procComm, | ||
std::vector< int > * | pNewMasterIDsOut = NULL |
||
) |
given a layout which defines relations between neighbours, this method creates a layout which connect the elements in the given layouts with newly created elements on a root process and establishes a OneToMany connection.
All newly created elements will be contained in the masterInterfaceOut on rootProc. The associated vector-indices are assigned so that the work with a mxm matrix, where m is the returned number of newly created elements.
pNewMasterIDsOut | (out)an optional vector to which the associated new element ids for each element in the given masterLayout and slaveLayout will be written. If not large enough it will be resized to the highest referenced index and will contain -1 in each entry which is not referenced by masterLayout or slaveLayout. |
References pcl::CollectUniqueElements(), pcl::InterfaceCommunicator< TLayout >::communicate(), pcl::SingleLevelLayout< TInterface >::empty(), pcl::ProcessCommunicator::gather(), pcl::ProcessCommunicator::gatherv(), pcl::ProcessCommunicator::get_proc_id(), GetHighestReferencedIndex(), PCL_DT_INT, pcl::ProcRank(), PROFILE_FUNC_GROUP, pcl::OrderedInterface< TType, TContainer, TAlloc >::push_back(), pcl::InterfaceCommunicator< TLayout >::receive_data(), pcl::InterfaceCommunicator< TLayout >::send_data(), and pcl::ProcessCommunicator::size().
Referenced by ug::PrimalSubassembledMatrixInverse< TAlgebra >::init().
void ug::CalcTotalMem | ( | const Shiny::ProfileNode * | p | ) |
References p, selfmem, and totalmem.
Referenced by UpdateTotalMem().
void ug::CalculateAngles | ( | vector< number > & | vAnglesOut, |
Grid & | grid, | ||
Face * | f, | ||
TAAPosVRT & | aaPos | ||
) |
Face.
in the current implementation this method requires, that all edges are created for all faces. TODO: improve this!
References CollectAssociatedSides(), ug::Grid::enable_options(), GRIDOPT_AUTOGENERATE_SIDES, LOG, ug::FaceVertices::num_vertices(), ug::Grid::option_is_enabled(), PI, VecDot(), VecNormalize(), VecSubtract(), ug::EdgeVertices::vertex(), and ug::FaceVertices::vertex().
number ug::CalculateAngles | ( | vector< number > & | vAnglesOut, |
Grid & | grid, | ||
TElem * | elem, | ||
TAAPosVRT & | aaPos | ||
) |
An unimplemented version, so that a compile error occurs if no overload exists.
void ug::CalculateAngles | ( | vector< number > & | vAnglesOut, |
Grid & | grid, | ||
Volume * | v, | ||
TAAPosVRT & | aaPos | ||
) |
in the current implementation this method requires, that all edges are created for all faces. TODO: improve this!
References CollectAssociatedSides(), ug::Grid::enable_options(), ug::Grid::get_edge(), GRIDOPT_AUTOGENERATE_SIDES, LOG, ug::Volume::num_edges(), ug::FaceVertices::num_vertices(), ug::Grid::option_is_enabled(), PI, VecCross(), VecDot(), VecNormalize(), VecSubtract(), ug::EdgeVertices::vertex(), and ug::FaceVertices::vertex().
number ug::CalculateAspectRatio | ( | Grid & | grid, |
Face * | face, | ||
TAAPosVRT & | aaPos | ||
) |
CalculateAspectRatio for faces.
References CalculateAspectRatio(), ug::Face::reference_object_id(), ROID_QUADRILATERAL, ROID_TRIANGLE, and UG_THROW.
number ug::CalculateAspectRatio | ( | Grid & | grid, |
Hexahedron * | hex, | ||
TAAPosVRT & | aaPos | ||
) |
References CalculateHexahedronAspectRatio().
number ug::CalculateAspectRatio | ( | Grid & | grid, |
Pyramid * | pyr, | ||
TAAPosVRT & | aaPos | ||
) |
References CalculatePyramidAspectRatio().
number ug::CalculateAspectRatio | ( | Grid & | grid, |
Quadrilateral * | quad, | ||
TAAPosVRT & | aaPos | ||
) |
number ug::CalculateAspectRatio | ( | Grid & | grid, |
TElem * | elem, | ||
TAAPosVRT & | aaPos | ||
) |
An unimplemented version, so that a compile error occurs if no overload exists.
number ug::CalculateAspectRatio | ( | Grid & | grid, |
Tetrahedron * | tet, | ||
TAAPosVRT & | aaPos | ||
) |
References CalculateTetrahedronAspectRatio().
number ug::CalculateAspectRatio | ( | Grid & | grid, |
Triangle * | tri, | ||
TAAPosVRT & | aaPos | ||
) |
Triangles and Constrained Triangles.
References CalculateMinTriangleHeight(), CollectAssociated(), EdgeLength(), and FindLongestEdge().
number ug::CalculateAspectRatio | ( | Grid & | grid, |
Volume * | vol, | ||
TAAPosVRT & | aaPos | ||
) |
References ug::Volume::reference_object_id(), ROID_HEXAHEDRON, ROID_PYRAMID, ROID_TETRAHEDRON, and UG_THROW.
Referenced by CalculateAspectRatio(), FindElementWithLargestAspectRatio(), and FindElementWithSmallestAspectRatio().
number ug::CalculateAverageCurvature | ( | Grid & | grid, |
SubsetHandler & | shMarks, | ||
Edge * | e, | ||
TAAPosVRT & | aaPos | ||
) |
References CalculateMinCurvature(), GPLOTPOINT, and ug::EdgeVertices::vertex().
Referenced by CalculateLengthFac().
AABox<typename TAAPos::ValueType> ug::CalculateBoundingBox | ( | TElem * | e, |
TAAPos | aaPos | ||
) |
calculates the smallest axis aligned box that contains the given element
AABox<typename TAAPos::ValueType> ug::CalculateBoundingBox | ( | Vertex * | e, |
TAAPos | aaPos | ||
) |
calculates the smallest axis aligned box that contains the given vertex
Referenced by CalculateCenter(), ExportGridToTIKZ(), ug::FVSingularSourcesAndSinks< dim, TPointData, TLineData >::line_iterator< TElem, TAAPos, TFVGeom >::line_iterator(), PartitionElements_RegularGrid(), and ug::FVSingularSourcesAndSinks< dim, TPointData, TLineData >::point_iterator< TElem, TAAPos, TFVGeom >::point_iterator().
Sphere<typename TAAPos::ValueType> ug::CalculateBoundingSphere | ( | FaceVertices * | face, |
TAAPos | aaPos | ||
) |
References CalculateCenter(), ug::FaceVertices::num_vertices(), s, VecDistanceSq(), and ug::FaceVertices::vertex().
void ug::CalculateConstrainedSmoothVolumePosInTopLevel | ( | MultiGrid & | mg, |
MGSubsetHandler & | markSH, | ||
APosition & | aSmoothVolPos_toc | ||
) |
Toplevel vertex smoothing function for subdivision volumes refinement.
This function calculates the smoothed positions of all toplevel vertices determined by the constrained subdivision volumes refinement.
mg | reference to MultiGrid |
markSH | reference to SubsetHandler markSH containing marked (inner) boundary manifold |
aSmoothVolPos_toc | reference to aSmoothVolPos_toc |
References aPosition, ug::MultiGrid::begin(), ug::Grid::distributed_grid_manager(), ug::MultiGrid::end(), g_boundaryRefinementRule, ug::Volume::get_opposing_object(), ug::ISubsetHandler::get_subset_index(), GetVertexIndex(), ug::DistributedGridManager::is_ghost(), ug::VolumeVertices::num_vertices(), p, PCL_RO_SUM, ug::Volume::reference_object_id(), ROID_OCTAHEDRON, ROID_TETRAHEDRON, SUBDIV_VOL, ug::MultiGrid::top_level(), UG_THROW, VecAdd(), VecScaleAppend(), VecSet(), and ug::VolumeVertices::vertex().
Referenced by ApplySmoothVolumePosToTopLevel().
TAAPosVRT::ValueType ug::CalculateCreaseNormal | ( | Grid & | grid, |
Face * | f, | ||
Vertex * | vrt, | ||
Grid::edge_traits::callback | funcIsCreaseEdge, | ||
TAAPosVRT & | aaPos | ||
) |
returns true if the vertex lies on a surface.
This method uses Grid::mark.
This method tries to find a closed surface around the vertex. Note that it returns true, even if the vertex lies on a boundary edge at the same time (this can happen if surfaces intersect each other).
Requires the option FACEOPT_AUTOGENERATE_EDGES. calculates the normal of the crease vertex vrt on the side of f This algorithm uses grid::mark. f has to contain vrt. vrt has to have at least two associated crease edges.
Note that the resulting normal is not normalized. This is important, since rounding errors could else lead to problems with normals which have a length of nearly 0.
This algorithm requires the option FACEOPT_AUTOGENERATE_EDGES. The option is automatically enabled if required.
References ug::Grid::begin_marking(), CalculateCenter(), CollectEdges(), CollectFaces(), DropAPerpendicular(), EdgeContains(), ug::Grid::enable_options(), ug::Grid::end_marking(), FACEOPT_AUTOGENERATE_EDGES, ug::Grid::is_marked(), ug::Grid::mark(), ug::Grid::option_is_enabled(), p, UG_LOG, VecAdd(), VecNormalize(), VecSet(), VecSubtract(), and ug::EdgeVertices::vertex().
Referenced by ExpandFractures2dArte().
TAAPosVRT::ValueType ug::CalculateCreaseNormal | ( | Grid & | grid, |
Volume * | vol, | ||
Vertex * | vrt, | ||
Grid::face_traits::callback | funcIsCreaseFace, | ||
TAAPosVRT & | aaPos | ||
) |
calculates the normal of the crease vertex vrt on the side of vol
This algorithm uses grid::mark. vol has to contain vrt. vrt has to have at least two associated crease faces.
Note that the resulting normal is not normalized. This is important, since rounding errors could else lead to problems with normals which have a length of nearly 0.
This algorithm requires the option VOLOPT_AUTOGENERATE_FACES. The option is automatically enabled if required.
References ug::Grid::begin_marking(), CalculateNormal(), CollectVolumes(), ug::Grid::enable_options(), ug::Grid::end_marking(), ug::Volume::face_desc(), FaceContains(), ug::Grid::get_side(), ug::Grid::is_marked(), ug::Grid::mark(), ug::Volume::num_sides(), ug::Grid::option_is_enabled(), UG_LOG, VecSet(), VecSubtract(), and VOLOPT_AUTOGENERATE_FACES.
Referenced by ExpandFractures2d(), and ExpandFractures3d().
number ug::CalculateLengthFac | ( | Grid & | grid, |
SubsetHandler & | shMarks, | ||
Edge * | e, | ||
TAAPosVRT & | aaPos | ||
) |
References CalculateAverageCurvature(), and GPLOTPOINT.
Referenced by PerformCollapses(), and PerformSplits().
number ug::CalculateMaxAngle | ( | Grid & | grid, |
Face * | f, | ||
TAAPosVRT & | aaPos | ||
) |
Face (Triangles and Quadrilaterals)
in the current implementation this method requires, that all edges are created for all faces. TODO: improve this!
References CollectAssociatedSides(), ug::Grid::enable_options(), GRIDOPT_AUTOGENERATE_SIDES, LOG, ug::FaceVertices::num_vertices(), ug::Grid::option_is_enabled(), PI, VecDot(), VecNormalize(), VecSubtract(), ug::EdgeVertices::vertex(), and ug::FaceVertices::vertex().
number ug::CalculateMaxAngle | ( | Grid & | grid, |
Prism * | prism, | ||
TAAPosVRT & | aaPos | ||
) |
References CalculateMaxDihedral().
number ug::CalculateMaxAngle | ( | Grid & | grid, |
Pyramid * | pyr, | ||
TAAPosVRT & | aaPos | ||
) |
References CalculateMaxDihedral().
number ug::CalculateMaxAngle | ( | Grid & | grid, |
TElem * | elem, | ||
TAAPosVRT & | aaPos | ||
) |
An unimplemented version, so that a compile error occurs if no overload exists.
number ug::CalculateMaxAngle | ( | Grid & | grid, |
Tetrahedron * | tet, | ||
TAAPosVRT & | aaPos | ||
) |
References CalculateMaxDihedral().
number ug::CalculateMaxDihedral | ( | Grid & | grid, |
Prism * | prism, | ||
TAAPosVRT & | aaPos | ||
) |
References CalculateMaxDihedral().
number ug::CalculateMaxDihedral | ( | Grid & | grid, |
Pyramid * | pyr, | ||
TAAPosVRT & | aaPos | ||
) |
References CalculateMaxDihedral().
number ug::CalculateMaxDihedral | ( | Grid & | grid, |
TElem * | elem, | ||
TAAPosVRT & | aaPos | ||
) |
An unimplemented version, so that a compile error occurs if no overload exists.
number ug::CalculateMaxDihedral | ( | Grid & | grid, |
Tetrahedron * | tet, | ||
TAAPosVRT & | aaPos | ||
) |
References CalculateMaxDihedral().
number ug::CalculateMaxDihedral | ( | Grid & | grid, |
Volume * | v, | ||
TAAPosVRT & | aaPos | ||
) |
in the current implementation this method requires, that all edges are created for all faces. TODO: improve this!
References CollectAssociatedSides(), ug::Grid::enable_options(), ug::Grid::get_edge(), GRIDOPT_AUTOGENERATE_SIDES, LOG, ug::Volume::num_edges(), ug::FaceVertices::num_vertices(), ug::Grid::option_is_enabled(), PI, VecCross(), VecDot(), VecNormalize(), VecSubtract(), ug::EdgeVertices::vertex(), and ug::FaceVertices::vertex().
Referenced by CalculateMaxAngle(), and CalculateMaxDihedral().
number ug::CalculateMinAngle | ( | Grid & | grid, |
Face * | f, | ||
TAAPosVRT & | aaPos | ||
) |
Face (Triangles and Quadrilaterals)
in the current implementation this method requires, that all edges are created for all faces. TODO: improve this!
References CollectAssociatedSides(), ug::Grid::enable_options(), GRIDOPT_AUTOGENERATE_SIDES, LOG, ug::FaceVertices::num_vertices(), ug::Grid::option_is_enabled(), PI, VecDot(), VecNormalize(), VecSubtract(), ug::EdgeVertices::vertex(), and ug::FaceVertices::vertex().
number ug::CalculateMinAngle | ( | Grid & | grid, |
Hexahedron * | hex, | ||
TAAPosVRT & | aaPos | ||
) |
References CalculateMinDihedral().
number ug::CalculateMinAngle | ( | Grid & | grid, |
Prism * | prism, | ||
TAAPosVRT & | aaPos | ||
) |
References CalculateMinDihedral().
number ug::CalculateMinAngle | ( | Grid & | grid, |
Pyramid * | pyr, | ||
TAAPosVRT & | aaPos | ||
) |
References CalculateMinDihedral().
number ug::CalculateMinAngle | ( | Grid & | grid, |
TElem * | elem, | ||
TAAPosVRT & | aaPos | ||
) |
An unimplemented version, so that a compile error occurs if no overload exists.
number ug::CalculateMinAngle | ( | Grid & | grid, |
Tetrahedron * | tet, | ||
TAAPosVRT & | aaPos | ||
) |
References CalculateMinDihedral().
number ug::CalculateMinCurvature | ( | Grid & | grid, |
SubsetHandler & | shMarks, | ||
Vertex * | vrt, | ||
TAAPosVRT & | aaPos | ||
) |
References ug::Grid::associated_faces_begin(), ug::Grid::associated_faces_end(), CalculateNormal(), GPLOTPOINT, VecAdd(), VecDot(), and VecNormalize().
Referenced by CalculateAverageCurvature().
number ug::CalculateMinDihedral | ( | Grid & | grid, |
Hexahedron * | hex, | ||
TAAPosVRT & | aaPos | ||
) |
References CalculateMinDihedral().
number ug::CalculateMinDihedral | ( | Grid & | grid, |
Prism * | prism, | ||
TAAPosVRT & | aaPos | ||
) |
References CalculateMinDihedral().
number ug::CalculateMinDihedral | ( | Grid & | grid, |
Pyramid * | pyr, | ||
TAAPosVRT & | aaPos | ||
) |
References CalculateMinDihedral().
number ug::CalculateMinDihedral | ( | Grid & | grid, |
TElem * | elem, | ||
TAAPosVRT & | aaPos | ||
) |
An unimplemented version, so that a compile error occurs if no overload exists.
number ug::CalculateMinDihedral | ( | Grid & | grid, |
Tetrahedron * | tet, | ||
TAAPosVRT & | aaPos | ||
) |
References CalculateMinDihedral().
number ug::CalculateMinDihedral | ( | Grid & | grid, |
Volume * | v, | ||
TAAPosVRT & | aaPos | ||
) |
in the current implementation this method requires, that all edges are created for all faces. TODO: improve this!
References CollectAssociatedSides(), ug::Grid::enable_options(), ug::Grid::get_edge(), GRIDOPT_AUTOGENERATE_SIDES, LOG, ug::Volume::num_edges(), ug::FaceVertices::num_vertices(), ug::Grid::option_is_enabled(), PI, VecCross(), VecDot(), VecNormalize(), VecSubtract(), ug::EdgeVertices::vertex(), and ug::FaceVertices::vertex().
Referenced by CalculateMinAngle(), and CalculateMinDihedral().
References DistancePointToRay(), ug::FaceVertices::num_vertices(), UG_ASSERT, VecSubtract(), and ug::FaceVertices::vertex().
Referenced by CalculateAspectRatio().
|
inline |
References VecNormalize(), VecSubtract(), and ug::EdgeVertices::vertex().
|
inline |
References CalculateNormal().
number ug::CalculateNormalDot | ( | TriangleDescriptor & | td1, |
TriangleDescriptor & | td2, | ||
TVertexPositionAccessor & | aaPos | ||
) |
References CalculateTriangleNormal(), VecDot(), and ug::TriangleDescriptor::vertex().
|
static |
References CalculateTriangleNormal(), VecDot(), and ug::TriangleDescriptor::vertex().
void ug::CalculateNumElemsVertexAttachmentInTopLevel | ( | MultiGrid & | mg, |
AInt & | aNumElems_toc, | ||
AInt & | aNumElems_prism, | ||
AInt & | aNumElems_hex | ||
) |
Function for calculating the number of associated volumes of all toplevel vertices.
This function calculates the number of associated volumes for all toplevel vertices.
mg | reference to MultiGrid |
aNumElems_toc | reference to aNumElems_toc |
aNumElems_prism | reference to aNumElems_prism |
aNumElems_hex | reference to aNumElems_hex |
References ug::MultiGrid::begin(), pcl::InterfaceCommunicator< TLayout >::communicate(), ug::Grid::distributed_grid_manager(), ug::MultiGrid::end(), pcl::InterfaceCommunicator< TLayout >::exchange_data(), ug::DistributedGridManager::grid_layout_map(), INT_V_MASTER, INT_V_SLAVE, ug::DistributedGridManager::is_ghost(), ug::VolumeVertices::num_vertices(), PCL_RO_SUM, ug::Volume::reference_object_id(), ROID_HEXAHEDRON, ROID_OCTAHEDRON, ROID_PRISM, ROID_TETRAHEDRON, ug::MultiGrid::top_level(), UG_THROW, and ug::VolumeVertices::vertex().
Referenced by ApplySmoothVolumePosToTopLevel(), and CheckValences().
void ug::CalculateNumManifoldEdgesVertexAttachmentInParentLevel | ( | MultiGrid & | mg, |
MGSubsetHandler & | markSH, | ||
AInt & | aNumManifoldEdges, | ||
bool | bCreaseSurf | ||
) |
Function for calculating the number of associated manifold edges of all parent level vertices.
This function calculates the number of associated manifold edges for all parent level vertices.
mg | reference to MultiGrid |
markSH | reference to SubsetHandler markSH containing marked (inner) boundary manifold |
aNumManifoldEdges | reference to aNumManifoldEdges |
bCreaseSurf | bool switch for crease surfaces in case of subdivision refinement by C. Loop, 1987 handling the boundary polylines separately |
References pcl::ProcessCommunicator::allreduce(), ug::MultiGrid::begin(), pcl::InterfaceCommunicator< TLayout >::communicate(), ug::DistributedGridManager::contains_status(), ug::Grid::distributed_grid_manager(), ug::MultiGrid::end(), ES_H_SLAVE, pcl::InterfaceCommunicator< TLayout >::exchange_data(), ug::ISubsetHandler::get_subset_index(), ug::DistributedGridManager::grid_layout_map(), INT_V_MASTER, INT_V_SLAVE, ug::DistributedGridManager::is_ghost(), ug::MultiGrid::num_levels(), pcl::NumProcs(), PCL_RO_MAX, PCL_RO_SUM, ug::MultiGrid::top_level(), UG_THROW, and ug::EdgeVertices::vertex().
Referenced by ApplySmoothManifoldPosToTopLevelButterflyScheme(), and ApplySmoothManifoldPosToTopLevelLoopScheme().
void ug::CalculateNumManifoldFacesVertexAttachmentInTopLevel | ( | MultiGrid & | mg, |
MGSubsetHandler & | markSH, | ||
AInt & | aNumManifoldFaces_tri, | ||
AInt & | aNumManifoldFaces_quad | ||
) |
Function for calculating the number of associated manifold faces of all toplevel manifold vertices.
This function calculates the number of of associated manifold faces (triangles and quadrilaterals) for all toplevel vertices.
mg | reference to MultiGrid |
markSH | reference to SubsetHandler markSH containing marked (inner) boundary manifold |
aNumManifoldFaces_tri | reference to aNumManifoldFaces_tri |
aNumManifoldFaces_quad | reference to aNumManifoldFaces_quad |
References ug::MultiGrid::begin(), pcl::InterfaceCommunicator< TLayout >::communicate(), ug::Grid::distributed_grid_manager(), ug::MultiGrid::end(), pcl::InterfaceCommunicator< TLayout >::exchange_data(), ug::ISubsetHandler::get_subset_index(), ug::DistributedGridManager::grid_layout_map(), INT_V_MASTER, INT_V_SLAVE, ug::DistributedGridManager::is_ghost(), ug::FaceVertices::num_vertices(), PCL_RO_SUM, ug::Face::reference_object_id(), ROID_QUADRILATERAL, ROID_TRIANGLE, ug::MultiGrid::top_level(), UG_THROW, and ug::FaceVertices::vertex().
Referenced by ApplySmoothManifoldPosToTopLevelAveragingScheme().
void ug::CalculatePolychainEdgeNormals | ( | vector2 * | edgeNormalsOut, |
vector2 * | polyChain, | ||
size_t | polyChainSize, | ||
bool | bOuterNormals | ||
) |
Make sure that edgeNormalsOut has the same size as poly-chain. The poly-chain is treated as a closed poly-chain where an edge between the last and the first entry exists.
References VecDot(), VecNormalize(), and VecSubtract().
Referenced by TriangleFill().
number ug::CalculateRightBendVal | ( | vector2 & | dirOut, |
number & | normDotOut, | ||
SweepLineEdge & | e, | ||
SweepLineVertex * | firstVrt, | ||
vector2 | lastDir, | ||
bool | lastDirNormalized = false |
||
) |
returns a value between -1 and 1, determining the magnitude of the right bend.
(-1, 0): left bend, 0: no bend, (0, 1): right bend
References ug::SweepLineEdge::direction(), ug::SweepLineEdge::m_v1, VecDot(), VecNormalize(), and VecScale().
Referenced by CreateSweepLineStructs(), and TriangleFill_SweepLine().
void ug::CalculateSmoothCreaseManifoldPosInParentLevelLoopScheme | ( | MultiGrid & | mg, |
TAPosition & | aPos, | ||
MGSubsetHandler & | markSH, | ||
MGSubsetHandler & | linearManifoldSH, | ||
TAPosition & | aSmoothBndPosEvenVrt, | ||
TAPosition & | aSmoothBndPosOddVrt, | ||
AInt & | aNumManifoldEdges | ||
) |
Parent level vertex smoothing function for subdivision crease surfaces refinement (by C. Loop, 1987)
This function calculates the smoothed positions of all parent level vertices determined by the subdivision surfaces refinement for crease surfaces handling the crease polylines separately
mg | reference to MultiGrid |
aPos | reference to position attachment |
markSH | reference to SubsetHandler markSH containing marked (inner) boundary manifold |
linearManifoldSH | reference to user-specified linearManifoldSubsets SubsetHandler |
aSmoothBndPosEvenVrt | reference to aSmoothBndPosEvenVrt |
aSmoothBndPosOddVrt | reference to aSmoothBndPosOddVrt |
aNumManifoldEdges | reference to aNumManifoldEdges |
References pcl::ProcessCommunicator::allreduce(), ug::Grid::associated_edges_begin(), ug::Grid::associated_edges_end(), ug::MultiGrid::begin(), CollectAssociated(), ug::DistributedGridManager::contains_status(), ug::Grid::distributed_grid_manager(), ElementDebugInfo(), ug::MultiGrid::end(), ES_H_SLAVE, ug::ISubsetHandler::get_subset_index(), GetConnectedVertex(), ug::SubdivRules_PLoop::inst(), ug::DistributedGridManager::is_ghost(), ug::MultiGrid::num_levels(), boost::num_vertices(), pcl::NumProcs(), p, PCL_RO_MAX, PCL_RO_SUM, ug::SubdivRules_PLoop::ref_even_inner_center_weight(), ug::SubdivRules_PLoop::ref_even_inner_nbr_weight(), ug::MultiGrid::top_level(), UG_THROW, VecAdd(), VecScaleAppend(), and VecSet().
Referenced by ApplySmoothManifoldPosToTopLevelLoopScheme().
void ug::CalculateSmoothManifoldPosInParentLevelButterflyScheme | ( | MultiGrid & | mg, |
TAPosition & | aPos, | ||
MGSubsetHandler & | markSH, | ||
MGSubsetHandler & | linearManifoldSH, | ||
TAPosition & | aSmoothBndPosOddVrt, | ||
AInt & | aNumManifoldEdges | ||
) |
Parent level vertex smoothing function for subdivision surfaces refinement (Butterfly scheme)
This function calculates the smoothed positions of all parent level vertices determined by the subdivision surfaces refinement.
mg | reference to MultiGrid |
aPos | reference to position attachment |
markSH | reference to SubsetHandler markSH containing marked (inner) boundary manifold |
linearManifoldSH | reference to user-specified linearManifoldSubsets SubsetHandler |
aSmoothBndPosOddVrt | reference to aSmoothBndPosOddVrt |
aNumManifoldEdges | reference to aNumManifoldEdges |
References pcl::ProcessCommunicator::allreduce(), ug::MultiGrid::begin(), CollectAssociated(), ug::DistributedGridManager::contains_status(), ug::Grid::distributed_grid_manager(), EDGE, ElementDebugInfo(), ug::MultiGrid::end(), ES_H_SLAVE, ug::Grid::get_edge(), ug::Face::get_opposing_object(), ug::Edge::get_opposing_side(), ug::ISubsetHandler::get_subset_index(), GetConnectedVertex(), GetEdgeIndex(), GetNeighbours(), ug::DistributedGridManager::is_ghost(), ug::MultiGrid::num_levels(), boost::num_vertices(), pcl::NumProcs(), p, PCL_RO_MAX, PCL_RO_SUM, PI, ug::MultiGrid::top_level(), UG_LOG, UG_THROW, VecAdd(), VecScaleAppend(), VecSet(), and ug::EdgeVertices::vertex().
Referenced by ApplySmoothManifoldPosToTopLevelButterflyScheme().
void ug::CalculateSmoothManifoldPosInParentLevelLoopScheme | ( | MultiGrid & | mg, |
TAPosition & | aPos, | ||
MGSubsetHandler & | markSH, | ||
MGSubsetHandler & | linearManifoldSH, | ||
TAPosition & | aSmoothBndPosEvenVrt, | ||
TAPosition & | aSmoothBndPosOddVrt, | ||
AInt & | aNumManifoldEdges | ||
) |
Parent level vertex smoothing function for subdivision surfaces refinement (by C. Loop, 1987)
This function calculates the smoothed positions of all parent level vertices determined by the subdivision surfaces refinement.
mg | reference to MultiGrid |
aPos | reference to position attachment |
markSH | reference to SubsetHandler markSH containing marked (inner) boundary manifold |
linearManifoldSH | reference to user-specified linearManifoldSubsets SubsetHandler |
aSmoothBndPosEvenVrt | reference to aSmoothBndPosEvenVrt |
aSmoothBndPosOddVrt | reference to aSmoothBndPosOddVrt |
aNumManifoldEdges | reference to aNumManifoldEdges |
References pcl::ProcessCommunicator::allreduce(), ug::Grid::associated_edges_begin(), ug::Grid::associated_edges_end(), ug::MultiGrid::begin(), CollectAssociated(), ug::DistributedGridManager::contains_status(), ug::Grid::distributed_grid_manager(), ElementDebugInfo(), ug::MultiGrid::end(), ES_H_SLAVE, ug::ISubsetHandler::get_subset_index(), GetConnectedVertex(), ug::SubdivRules_PLoop::inst(), ug::DistributedGridManager::is_ghost(), ug::MultiGrid::num_levels(), boost::num_vertices(), pcl::NumProcs(), p, PCL_RO_MAX, PCL_RO_SUM, ug::SubdivRules_PLoop::ref_even_inner_center_weight(), ug::SubdivRules_PLoop::ref_even_inner_nbr_weight(), ug::MultiGrid::top_level(), UG_THROW, VecAdd(), VecScaleAppend(), and VecSet().
Referenced by ApplySmoothManifoldPosToTopLevelLoopScheme().
void ug::CalculateSmoothManifoldPosInTopLevelAveragingScheme | ( | MultiGrid & | mg, |
TAPosition & | aPos, | ||
MGSubsetHandler & | markSH, | ||
MGSubsetHandler & | linearManifoldSH, | ||
TAPosition & | aSmoothBndPos_tri, | ||
TAPosition & | aSmoothBndPos_quad | ||
) |
Toplevel vertex smoothing function for subdivision surfaces refinement (Averaging scheme)
This function calculates the smoothed positions of all toplevel vertices determined by the subdivision surfaces refinement.
mg | reference to MultiGrid |
aPos | reference to position attachment |
markSH | reference to SubsetHandler markSH containing marked (inner) boundary manifold |
linearManifoldSH | reference to user-specified linearManifoldSubsets SubsetHandler |
aSmoothBndPos_tri | reference to aSmoothBndPos_tri |
aSmoothBndPos_quad | reference to aSmoothBndPos_quad |
References ug::MultiGrid::begin(), ug::Grid::distributed_grid_manager(), ug::MultiGrid::end(), ug::ISubsetHandler::get_subset_index(), ug::DistributedGridManager::is_ghost(), ug::FaceVertices::num_vertices(), p, PCL_RO_SUM, ug::Face::reference_object_id(), ROID_QUADRILATERAL, ROID_TRIANGLE, ug::MultiGrid::top_level(), UG_THROW, VecAdd(), VecScaleAppend(), VecSet(), and ug::FaceVertices::vertex().
Referenced by ApplySmoothManifoldPosToTopLevelAveragingScheme().
void ug::CalculateSmoothVolumePosInTopLevel | ( | MultiGrid & | mg, |
MGSubsetHandler & | markSH, | ||
APosition & | aSmoothVolPos_toc, | ||
APosition & | aSmoothVolPos_prism, | ||
APosition & | aSmoothVolPos_hex | ||
) |
Toplevel vertex smoothing function for subdivision volumes refinement.
This function calculates the smoothed positions of all toplevel vertices determined by the subdivision volumes refinement.
mg | reference to MultiGrid |
markSH | reference to SubsetHandler markSH containing marked (inner) boundary manifold |
aSmoothVolPos_toc | reference to aSmoothVolPos_toc |
aSmoothVolPos_prism | reference to aSmoothVolPos_prism |
aSmoothVolPos_hex | reference to aSmoothVolPos_hex |
References aPosition, ug::MultiGrid::begin(), ug::Grid::distributed_grid_manager(), ug::MultiGrid::end(), g_boundaryRefinementRule, ug::Volume::get_opposing_object(), ug::ISubsetHandler::get_subset_index(), GetVertexIndex(), ug::DistributedGridManager::is_ghost(), ug::VolumeVertices::num_vertices(), p, PCL_RO_SUM, ug::Volume::reference_object_id(), ROID_HEXAHEDRON, ROID_OCTAHEDRON, ROID_PRISM, ROID_TETRAHEDRON, SUBDIV_VOL, ug::MultiGrid::top_level(), UG_THROW, VecAdd(), VecScaleAppend(), VecSet(), and ug::VolumeVertices::vertex().
Referenced by ApplySmoothVolumePosToTopLevel().
void ug::CalculateTriangleNormal | ( | SimpleGrid & | sg, |
int | triIndex | ||
) |
caculates the normal of the given triangle and stores it in sg.triangleNormals[triIndex]
Make sure that sg.triangleNormas and sg.triangles have the right sizes.
References ug::SimpleGrid::triangleNormals, ug::SimpleGrid::triangles, and ug::SimpleGrid::vertices.
Referenced by CalculateTriangleNormals(), and SwapEdge().
void ug::CalculateTriangleNormals | ( | SimpleGrid & | sg | ) |
resizes sg.triangleNormals and calculates them
References CalculateTriangleNormal(), ug::SimpleGrid::triangleNormals, and ug::SimpleGrid::triangles.
Referenced by CollapseEdge(), ObtainSimpleGrid(), ObtainSimpleGrid_CollapseEdge(), and TryCollapse().
number ug::CalculateVolToRMSFaceAreaRatio | ( | Grid & | grid, |
Hexahedron * | hex, | ||
TAAPosVRT & | aaPos | ||
) |
References CalculateHexahedronVolToRMSFaceAreaRatio().
number ug::CalculateVolToRMSFaceAreaRatio | ( | Grid & | grid, |
TElem * | elem, | ||
TAAPosVRT & | aaPos | ||
) |
An unimplemented version, so that a compile error occurs if no overload exists.
number ug::CalculateVolToRMSFaceAreaRatio | ( | Grid & | grid, |
Tetrahedron * | tet, | ||
TAAPosVRT & | aaPos | ||
) |
References CalculateTetrahedronVolToRMSFaceAreaRatio().
number ug::CalculateVolToRMSFaceAreaRatio | ( | Grid & | grid, |
Volume * | vol, | ||
TAAPosVRT & | aaPos | ||
) |
References ug::Volume::reference_object_id(), ROID_HEXAHEDRON, ROID_TETRAHEDRON, and UG_THROW.
Referenced by FindElementWithLargestVolToRMSFaceAreaRatio(), and FindElementWithSmallestVolToRMSFaceAreaRatio().
void ug::cgetrf_ | ( | lapack_int * | m, |
lapack_int * | n, | ||
std::complex< lapack_float > * | pColMajorMatrix, | ||
lapack_int * | lda, | ||
lapack_int * | ipiv, | ||
lapack_int * | info | ||
) |
Referenced by getrf().
void ug::cgetrs_ | ( | char * | trans, |
lapack_int * | n, | ||
lapack_int * | nrhs, | ||
const std::complex< lapack_float > * | pColMajorMatrix, | ||
lapack_int * | lda, | ||
const lapack_int * | ipiv, | ||
std::complex< lapack_float > * | b, | ||
lapack_int * | ldb, | ||
lapack_int * | info | ||
) |
returns the values of the Chebyshev polynomials of the first kind
The polynomials are orthogonal on \([-1, 1]\) w.r.t. the scalar product \( \int_{-1}^1 \phi (x) \cdot \psi (x) \frac{1}{\sqrt {1 - x^2}} \, dx \) They satisfy the recursion \(T_0 (x) = 1\), \(T_1 (1) = x\), \(T_k (x) = 2 x P_{k-1} (x) - P_{k-2} (x)\). The corresponding norm of \(T_k\) is \(\tfrac{\pi}{2}\) for \(k > 0\) and \(\pi\) for \(k = 0\).
k | index of the polynomial, \(k \ge 0\) |
x | argument of the polynomial |
Referenced by NormalizedChebyshev1Poly(), and ug::bridge::RegisterBridge_OrthoPoly().
returns the values of the Chebyshev polynomials of the second kind
The polynomials are orthogonal on \([-1, 1]\) w.r.t. the scalar product \( \int_{-1}^1 \phi (x) \cdot \psi (x) \sqrt {1 - x^2} \, dx \) They satisfy the recursion \(U_0 (x) = 1\), \(U_1 (1) = 2 x\), \(U_k (x) = 2 x U_{k-1} (x) - U_{k-2} (x)\). The corresponding norm of \(T_k\) is \(\tfrac{\pi}{2}\).
k | index of the polynomial, \(k \ge 0\) |
x | argument of the polynomial |
Referenced by NormalizedChebyshev2Poly(), and ug::bridge::RegisterBridge_OrthoPoly().
|
inline |
References RemoveWhitespaceFromString(), s, UG_LOG, and UG_THROW.
Referenced by ug::SideAndElemErrEstData< TDomain >::SideAndElemErrEstData().
bool ug::CheckDoFElem | ( | ConstSmartPtr< TDomain > | domain, |
ConstSmartPtr< DoFDistribution > | dd, | ||
std::vector< MathVector< TDomain::dim > > & | vPos | ||
) |
bool ug::CheckDoFPositions | ( | const TFunction & | u | ) |
Checks that DoF Positions equal wheather they are extracted by a macroelement or a subelement.
References CheckDoFPositions().
bool ug::CheckDoFPositions | ( | ConstSmartPtr< TDomain > | domain, |
ConstSmartPtr< DoFDistribution > | dd | ||
) |
Checks that DoF Positions equal wheather they are extracted by a macroelement or a subelement.
References EDGE, FACE, VERTEX, and VOLUME.
Referenced by CheckDoFPositions().
bool ug::CheckEnoughTimePassedToNow | ( | ProfileCall & | pc, |
Shiny::tick_t | tnow | ||
) |
References g_ShinyCallLoggingMaxFreq.
Referenced by ShinyCallLoggingEnd().
bool ug::CheckForUnconnectedSides | ( | Grid & | grid | ) |
Logs all unconnected sides to UG_ERR_LOG and returns true if an unconnected side was found.
References ug::Grid::num().
Referenced by ug::bridge::RegisterGridBridge_Debug().
|
static |
References ug::Grid::begin(), CollectUnconnectedSides(), ElementDebugInfo(), ug::Grid::end(), UG_ERR_LOG, and UG_LOG.
bool ug::CheckGFforNaN | ( | const TGridFunction * | u, |
const char * | fct_names | ||
) |
Checks values of a grid function at given elements (like vertices) for nan and inf
This version takes symbolic data.
TGridFunction | the grid function type |
TBaseElem | the given element type (like 'Vertex') |
u | the grid function |
fct_names | names of the functions |
References ug::FunctionGroup::add(), TokenizeString(), and UG_LOG.
bool ug::CheckGFforNaN | ( | const TGridFunction * | u, |
const FunctionGroup & | fctGroup | ||
) |
Checks values of a grid function at given elements (like vertices) for nan and inf
This version takes a function group.
TGridFunction | the grid function type |
TBaseElem | the given element type (like 'Vertex') |
u | the grid function |
fctGroup | names of the functions |
References ug::FunctionGroup::size(), and UG_LOG.
bool ug::CheckGFforNaN | ( | const TGridFunction * | u, |
size_t | fct | ||
) |
bool ug::CheckGFValuesWithinBounds | ( | ConstSmartPtr< TGridFunction > | u, |
const char * | fctNames, | ||
number | lowerBnd, | ||
number | upperBnd | ||
) |
u | the grid function |
fctNames | the functions to be checked |
References ug::FunctionGroup::add(), CheckGFValuesWithinBounds(), ug::FunctionGroup::size(), TokenizeTrimString(), and UG_CATCH_THROW.
bool ug::CheckGFValuesWithinBounds | ( | ConstSmartPtr< TGridFunction > | u, |
size_t | cmp, | ||
number | lowerBnd, | ||
number | upperBnd | ||
) |
u | the grid function |
cmp | the function component to be checked |
References pcl::ProcessCommunicator::allreduce(), DoFRef(), ElementDebugInfo(), pcl::NumProcs(), PCL_RO_BAND, and UG_LOG_ALL_PROCS.
Referenced by CheckGFValuesWithinBounds().
bool ug::CheckGFValuesWithinBounds | ( | ConstSmartPtr< TGridFunction > | u, |
size_t | cmp, | ||
number | lowerBnd, | ||
number | upperBnd | ||
) |
u | the grid function |
cmp | the function component to be checked |
void ug::CheckHangingNodeConstrainingFace | ( | bool | isConsistent, |
Grid & | g, | ||
T | iter, | ||
T | end | ||
) |
References ug::Grid::associated_elements(), FAILED_CHECK, and ug::PointerConstArray< TPtr >::size().
Referenced by CheckHangingNodeConsistency().
References CheckPoint(), INSIDE, and OUTSIDE.
Referenced by TriCubeIntersection().
bool ug::CheckLocalParentTypes | ( | MultiGrid & | mg | ) |
bool ug::CheckLuaCallbackName | ( | const char * | name | ) |
returns true if callback exists
References ug::script::GetDefaultLuaState(), and name.
|
static |
bool ug::CheckOrientation | ( | Volume * | vol, |
TAAPosVRT & | aaPosVRT | ||
) |
returns true if the volume is oriented so that all sides point to this outside.
Please note that special cases may exist in which the current implementation may not return the correct result. This could be true for badly shaped Hexahedrons or for degenerated elements (elements which have a side-face, which has no height and thus resembles a line-segment).
The current implementation checks if all face-normals point away from the geometrical center.
References CalculateCenter(), CalculateNormal(), ug::Volume::face_desc(), ug::Volume::num_faces(), VecDot(), and VecSubtract().
Referenced by ExtrusionHelper_CheckOrientation(), and FixOrientation().
bool ug::CheckPermutationBijective | ( | const std::vector< size_t > & | perm | ) |
References UG_COND_THROW.
Referenced by ComputeCuthillMcKeeOrder().
|
static |
References alpha, FacePlane(), and LERP.
Referenced by CheckLine().
void ug::checksub | ( | const CPUAlgebra::matrix_type & | A | ) |
References alpha, dabs(), DistributionPercentage(), MatrixTranspose(), reset_floats(), s, and UG_LOG.
Referenced by ug::AnalyzingSolver< M, X, Y >::check().
void ug::CheckValences | ( | MultiGrid & | mg, |
MGSubsetHandler & | markSH, | ||
const char * | filename | ||
) |
Function for checking the number of associated volumes of all edges.
This function calculates the number of associated volumes for all edges.
mg | reference to MultiGrid |
sh | reference to SubsetHandler |
sh | filename specification for output |
References ug::GridSubsetHandler::assign_subset(), ug::Grid::associated_elements(), ug::Grid::attach_to_edges_dv(), ug::Grid::attach_to_vertices_dv(), ug::MultiGrid::begin(), CalculateNumElemsVertexAttachmentInTopLevel(), ug::Grid::detach_from_edges(), ug::Grid::detach_from_vertices(), ug::MultiGrid::end(), ug::ISubsetHandler::get_subset_index(), SaveGridToFile(), ug::PointerConstArray< TPtr >::size(), and ug::MultiGrid::top_level().
Referenced by ug::bridge::Refinement::Functionality::Common().
UG_API void ug::ClearAbortRunFlag | ( | ) |
bool ug::CloneVector | ( | ParallelVector< TVector > & | dest, |
const ParallelVector< TVector > & | src | ||
) |
void ug::CloneVector | ( | Vector< TValueType > & | dest, |
const Vector< TValueType > & | src | ||
) |
References ug::Vector< TValueType >::resize(), and ug::Vector< TValueType >::size().
Referenced by CloneVector(), EnergyNorm(), EnergyProd(), and MultiEnergyProd().
AnisotropyState ug::close_sides_of_anisotropic_elem | ( | Edge * | elem, |
Grid & | grid, | ||
const TAAPos & | aaPos, | ||
number | thresholdRatio, | ||
std::vector< Vertex * > & | sidesOut | ||
) |
References ISOTROPIC.
Referenced by long_edges_of_anisotropic_elem().
AnisotropyState ug::close_sides_of_anisotropic_elem | ( | Face * | elem, |
Grid & | grid, | ||
const TAAPos & | aaPos, | ||
number | thresholdRatio, | ||
std::vector< Edge * > & | sidesOut | ||
) |
References ug::Grid::associated_elements_sorted(), is_anisotropic(), ISOTROPIC, QUAD_SHORTX, and QUAD_SHORTY.
AnisotropyState ug::close_sides_of_anisotropic_elem | ( | Volume * | elem, |
Grid & | grid, | ||
const TAAPos & | aaPos, | ||
number | thresholdRatio, | ||
std::vector< Face * > & | sidesOut | ||
) |
References ug::Grid::get_side(), HEX_SHORTX, HEX_SHORTXY, HEX_SHORTXZ, HEX_SHORTY, HEX_SHORTYZ, HEX_SHORTZ, is_anisotropic(), ISOTROPIC, PRISM_FLAT, and PRISM_LONG.
template void ug::CloseSelection< MGSelector > | ( | MGSelector & | sel | ) |
template void ug::CloseSelection< Selector > | ( | Selector & | sel | ) |
|
inline |
Referenced by ug::InverseLinker< dim >::eval_and_deriv().
|
inline |
References ug::SweepLineVertex::vrtPtr.
Referenced by CreateSweepLineStructs(), and TriangleFill_SweepLine().
|
static |
Referenced by ug::NeuriteProjector::prepare_quadrature().
bool ug::CollapseEdge | ( | SimpleGrid & | sg | ) |
collapses the edge between the first two vertices of the SimpleGrid. sh has to fullfill the requirements stated in ug::ObtainSimpleGrid. two triangles will be removed.
A new vertex will be added at the end of the list. Its normal and position will be interpolated from the end-points of the edge. The first two vertices in sg (the endpoints of the collapsed edge) remain unused.
The manipulated grid is no longer suited for swap, split or collapse operations.
References CalculateTriangleNormals(), ug::SimpleGrid::triangles, VecAdd(), VecNormalize(), VecScale(), ug::SimpleGrid::vertexNormals, and ug::SimpleGrid::vertices.
|
static |
collects all vertices in *.ng file order in a selector
References ug::TElemSelector< TBaseElem >::begin(), ug::TElemSelector< TBaseElem >::end(), and ug::ISelector::select().
Referenced by ExportGridToUG().
|
inline |
Collects all edges (= 2) which exist in the given face and which share the given vertex.
This method uses Grid::mark
References ug::Grid::associated_edges_begin(), ug::Grid::associated_edges_end(), ug::Grid::begin_marking(), ug::Grid::end_marking(), ug::Grid::is_marked(), ug::Grid::mark(), ug::FaceVertices::num_vertices(), UG_ASSERT, ug::EdgeVertices::vertex(), and ug::FaceVertices::vertex().
|
inline |
Collects all faces (= 2) which exist in the given volume and which share the given edge.
This method uses Grid::mark
References ug::Grid::begin_marking(), CollectAssociated(), ug::Grid::end_marking(), FaceContains(), ug::Grid::is_marked(), ug::Grid::mark(), ug::FaceVertices::num_vertices(), ug::VolumeVertices::num_vertices(), UG_ASSERT, ug::FaceVertices::vertex(), and ug::VolumeVertices::vertex().
Referenced by CalculateAngles(), CalculateMaxAngle(), CalculateMaxDihedral(), CalculateMinAngle(), and CalculateMinDihedral().
void ug::CollectConstraining | ( | std::vector< Vertex * > & | vConstrainingVrt, |
const Grid & | grid, | ||
ConstrainedVertex * | hgVrt, | ||
bool | bClearContainer | ||
) |
returns the vertices of the object constraining a hanging vertex
References ug::ConstrainingEdge::constrained_edge(), ug::ConstrainingFace::constrained_face(), EDGE, ElementDebugInfo(), FACE, ug::ConstrainedVertex::get_constraining_object(), ug::ConstrainedVertex::get_parent_base_object_id(), GetConnectedVertex(), ug::GridObject::is_constrained(), ug::ConstrainingEdge::num_constrained_edges(), ug::ConstrainingFace::num_constrained_faces(), ug::FaceVertices::num_vertices(), ug::PointerConstArray< TPtr >::size(), UG_THROW, and ug::FaceVertices::vertex().
Referenced by get_algebra_indices().
void ug::CollectCornerCoordinates | ( | std::vector< typename TAAPos::ValueType > & | vCornerCoordsOut, |
TElem * | elem, | ||
const TAAPos & | aaPos, | ||
bool | clearContainer | ||
) |
References GetVertex(), and NumVertices().
void ug::CollectIErrEstData | ( | std::vector< IErrEstData< TDomain > * > & | vErrEstData, |
const T & | vElemDisc | ||
) |
|
static |
collects inner-vertices in a selector
References ug::TElemSelector< TBaseElem >::begin(), ug::ISelector::deselect(), ug::TElemSelector< TBaseElem >::end(), ug::ISelector::select(), ug::Grid::vertices_begin(), and ug::Grid::vertices_end().
Referenced by ExportGridToUG().
|
static |
collects lines in a selector
References CollectFaces(), ug::Grid::edges_begin(), ug::Grid::edges_end(), ug::ISubsetHandler::get_subset_index(), and ug::ISelector::select().
Referenced by ExportGridToUG().
void ug::CollectMatrixOnOneProc | ( | const matrix_type & | A, |
matrix_type & | collectedA, | ||
IndexLayout & | masterLayout, | ||
IndexLayout & | slaveLayout | ||
) |
A | (input) the distributed parallel matrix A |
collectedA | (output) the collected matrix A on pid = proc_id(0) |
masterLayout | the agglomeration master layout (only defined on pid = proc_id(0)) |
slaveLayout | the agglomeration slave layout (only defined on pid != proc_id(0)) |
References pcl::SingleLevelLayout< TInterface >::clear(), pcl::ProcessCommunicator::get_proc_id(), ug::ParallelMatrix< TMatrix >::layouts(), LIB_ALG_AMG, pcl::ProcRank(), PROFILE_FUNC_GROUP, ReceiveMatrix(), SendMatrix(), pcl::ProcessCommunicator::size(), UG_CATCH_THROW, and UG_DLOG.
Referenced by ug::AgglomeratingBase< TBase, TAlgebra >::init_mat().
void ug::collectStretchedElementIndices | ( | ConstSmartPtr< TDomain > | domain, |
ConstSmartPtr< DoFDistribution > | dd, | ||
std::vector< size_t > & | indarray, | ||
number | alpha | ||
) |
References alpha, CollectEdgesSorted(), ConstSmartPtr< T, FreePolicy >::get(), InnerDoFPosition(), UG_ASSERT, and VecDistance().
|
static |
collects surface-vertices in a selector
References ug::Grid::faces_begin(), ug::Grid::faces_end(), ug::ISubsetHandler::get_subset_index(), ug::FaceVertices::num_vertices(), ug::ISelector::select(), and ug::FaceVertices::vertex().
Referenced by ExportGridToUG().
void ug::CollectSurfaceViewElements | ( | ISubsetHandler & | surfaceViewOut, |
DistributedGridManager & | distGridMgr, | ||
MultiGridSubsetHandler & | mgsh, | ||
bool | clearContainer | ||
) |
References ug::ISubsetHandler::assign_subset(), ug::MultiGridSubsetHandler::begin(), ug::ISubsetHandler::clear(), ug::MultiGridSubsetHandler::end(), ug::DistributedGridManager::get_assigned_grid(), ug::MultiGrid::has_children(), ug::DistributedGridManager::is_ghost(), ug::MultiGridSubsetHandler::num_levels(), and ug::ISubsetHandler::num_subsets().
void ug::CollectSurfaceViewElements | ( | ISubsetHandler & | surfaceViewOut, |
MultiGrid & | mg, | ||
MGSubsetHandler & | mgsh, | ||
bool | clearContainer = true |
||
) |
iterates over the multi-grid and assigns all surface-elements to surfaceViewOut.
References ug::ISubsetHandler::assign_subset(), ug::MultiGridSubsetHandler::begin(), ug::ISubsetHandler::clear(), ug::MultiGridSubsetHandler::end(), ug::MultiGrid::has_children(), ug::MultiGridSubsetHandler::num_levels(), and ug::ISubsetHandler::num_subsets().
size_t ug::CollectUnconnectedSides | ( | std::vector< typename TSideIterator::value_type > & | elemsOut, |
Grid & | grid, | ||
TSideIterator | begin, | ||
TSideIterator | end | ||
) |
Writes all elements between 'begin' and 'end' which are not sides of elements in 'grid' to 'elemsOut'. This method only makes sense if called on a sequence of vertices, edges, or faces.
References ug::Grid::associated_elements(), and ug::PointerConstArray< TPtr >::size().
Referenced by CheckForUnconnectedSidesIMPL().
|
static |
Referenced by LoadGridFromART().
void ug::ColorControlVolume | ( | ISubsetHandler & | shOut | ) |
int ug::ColorProcessorGraph | ( | pcl::InterfaceCommunicator< IndexLayout > & | com, |
std::set< int > & | pids, | ||
std::vector< int > & | processesWithLowerColor, | ||
std::vector< int > & | processesWithHigherColor | ||
) |
void ug::ColorSubControlVolume | ( | ISubsetHandler & | shOut | ) |
void ug::ColorSubControlVolumeFaces | ( | ISubsetHandler & | shOut | ) |
References oprNodeType::op, nodeType::opr, nodeType::type, and typeOpr.
void ug::CommunicateConnections | ( | vector< vector< int > > & | connectionsToProcsOut, |
vector< vector< int > > & | connectionsToSubDomsOut, | ||
const IndexLayout & | masterLayout, | ||
const IndexLayout & | slaveLayout, | ||
int | highestReferencedIndex, | ||
pcl::IDomainDecompositionInfo & | ddinfo | ||
) |
References pcl::SingleLevelLayout< TInterface >::begin(), pcl::InterfaceCommunicator< TLayout >::communicate(), pcl::SingleLevelLayout< TInterface >::end(), pcl::IDomainDecompositionInfo::map_proc_id_to_subdomain_id(), pcl::ProcRank(), PROFILE_FUNC_GROUP, pcl::InterfaceCommunicator< TLayout >::receive_data(), pcl::InterfaceCommunicator< TLayout >::send_data(), and ug::ComPol_VecCopy< TVector >::set_vector().
Referenced by AddConnectionsBetweenSlaves(), and BuildDomainDecompositionLayouts().
bool ug::ComparePosDim | ( | const std::pair< MathVector< dim >, size_t > & | p1, |
const std::pair< MathVector< dim >, size_t > & | p2 | ||
) |
bool ug::ComparePosDim< 1, 0 > | ( | const std::pair< MathVector< 1 >, size_t > & | p1, |
const std::pair< MathVector< 1 >, size_t > & | p2 | ||
) |
bool ug::ComparePosDim< 2, 0 > | ( | const std::pair< MathVector< 2 >, size_t > & | p1, |
const std::pair< MathVector< 2 >, size_t > & | p2 | ||
) |
bool ug::ComparePosDim< 2, 1 > | ( | const std::pair< MathVector< 2 >, size_t > & | p1, |
const std::pair< MathVector< 2 >, size_t > & | p2 | ||
) |
bool ug::ComparePosDim< 3, 0 > | ( | const std::pair< MathVector< 3 >, size_t > & | p1, |
const std::pair< MathVector< 3 >, size_t > & | p2 | ||
) |
bool ug::ComparePosDim< 3, 1 > | ( | const std::pair< MathVector< 3 >, size_t > & | p1, |
const std::pair< MathVector< 3 >, size_t > & | p2 | ||
) |
bool ug::ComparePosDim< 3, 2 > | ( | const std::pair< MathVector< 3 >, size_t > & | p1, |
const std::pair< MathVector< 3 >, size_t > & | p2 | ||
) |
bool ug::ComparePosDimDec | ( | const std::pair< MathVector< dim >, size_t > & | p1, |
const std::pair< MathVector< dim >, size_t > & | p2 | ||
) |
bool ug::ComparePosDimDec< 1, 0 > | ( | const std::pair< MathVector< 1 >, size_t > & | p1, |
const std::pair< MathVector< 1 >, size_t > & | p2 | ||
) |
bool ug::ComparePosDimDec< 2, 0 > | ( | const std::pair< MathVector< 2 >, size_t > & | p1, |
const std::pair< MathVector< 2 >, size_t > & | p2 | ||
) |
bool ug::ComparePosDimDec< 2, 1 > | ( | const std::pair< MathVector< 2 >, size_t > & | p1, |
const std::pair< MathVector< 2 >, size_t > & | p2 | ||
) |
bool ug::ComparePosDimDec< 3, 0 > | ( | const std::pair< MathVector< 3 >, size_t > & | p1, |
const std::pair< MathVector< 3 >, size_t > & | p2 | ||
) |
bool ug::ComparePosDimDec< 3, 1 > | ( | const std::pair< MathVector< 3 >, size_t > & | p1, |
const std::pair< MathVector< 3 >, size_t > & | p2 | ||
) |
bool ug::ComparePosDimDec< 3, 2 > | ( | const std::pair< MathVector< 3 >, size_t > & | p1, |
const std::pair< MathVector< 3 >, size_t > & | p2 | ||
) |
bool ug::ComparePosDimYDir | ( | const std::pair< MathVector< dim >, size_t > & | p1, |
const std::pair< MathVector< dim >, size_t > & | p2 | ||
) |
bool ug::ComparePosDimYDir< 1 > | ( | const std::pair< MathVector< 1 >, size_t > & | p1, |
const std::pair< MathVector< 1 >, size_t > & | p2 | ||
) |
bool ug::ComparePosDimYDir< 2 > | ( | const std::pair< MathVector< 2 >, size_t > & | p1, |
const std::pair< MathVector< 2 >, size_t > & | p2 | ||
) |
bool ug::ComparePosDimYDir< 3 > | ( | const std::pair< MathVector< 3 >, size_t > & | p1, |
const std::pair< MathVector< 3 >, size_t > & | p2 | ||
) |
bool ug::ComparePosDimZDir | ( | const std::pair< MathVector< dim >, size_t > & | p1, |
const std::pair< MathVector< dim >, size_t > & | p2 | ||
) |
bool ug::ComparePosDimZDir< 1 > | ( | const std::pair< MathVector< 1 >, size_t > & | p1, |
const std::pair< MathVector< 1 >, size_t > & | p2 | ||
) |
bool ug::ComparePosDimZDir< 2 > | ( | const std::pair< MathVector< 2 >, size_t > & | p1, |
const std::pair< MathVector< 2 >, size_t > & | p2 | ||
) |
bool ug::ComparePosDimZDir< 3 > | ( | const std::pair< MathVector< 3 >, size_t > & | p1, |
const std::pair< MathVector< 3 >, size_t > & | p2 | ||
) |
bool ug::CompareScalar | ( | const std::pair< number, size_t > & | p1, |
const std::pair< number, size_t > & | p2 | ||
) |
Referenced by ug::DirectionalOrdering< TAlgebra, TDomain, O_t >::compute().
|
inlinestatic |
References PI, VecNormalize(), VecProd(), and VecScaleAdd().
Referenced by ug::NeuriteProjector::average_params(), and pos_in_bp().
|
static |
|
inlinestatic |
References VecCross(), VecNormalize(), VecProd(), and VecScaleAdd().
Referenced by ug::NeuriteProjector::average_params(), pos_in_bp(), and pos_in_neurite().
|
static |
References s.
Referenced by ug::NeuriteProjector::average_params(), bp_defect_and_gradient(), pos_in_bp(), and pos_in_neurite().
|
static |
References s.
Referenced by bp_newton_start_pos().
number ug::ComputeAvg | ( | MultiGrid::AttachmentAccessor< TElem, ug::Attachment< number > > & | aaError2, |
ConstSmartPtr< DoFDistribution > | dd, | ||
number & | min, | ||
number & | max, | ||
number & | sum, | ||
number & | errSq, | ||
size_t & | numElem, | ||
number & | minLocal, | ||
number & | maxLocal, | ||
number & | sumLocal, | ||
size_t & | numElemLocal | ||
) |
helper function that computes min/max and total of error indicators
[out] | min | minimal eta_i |
[out] | max | maximal eta_i |
[out] | sum | sum of eta_i |
[out] | errSq | sum of eta_i^2 |
[out] | numElem | number of elements |
References pcl::ProcessCommunicator::allreduce(), pcl::NumProcs(), PCL_RO_MAX, PCL_RO_MIN, PCL_RO_SUM, UG_LOG, and UG_THROW.
Referenced by ug::VarianceMarkingEta< TDomain >::mark().
|
static |
[in] | i | indicates that bf corresponds to i'th corner of ref elem |
References dim.
Referenced by ug::DimFV1Geometry< TDim, TWorldDim >::update_boundary_faces(), ug::FV1IBGeometry< TElem, TWorldDim >::update_boundary_faces(), ug::DimFV1IBGeometry< TDim, TWorldDim >::update_boundary_faces(), ug::FVGeometry< TOrder, TElem, TWorldDim, TQuadOrder >::update_boundary_faces(), and ug::DimFVGeometry< TWorldDim, TDim >::update_boundary_faces().
|
static |
[in] | i | indicates that scvf corresponds to i'th corner of ref elem |
References dim, ROID_PYRAMID, and UG_THROW.
void ug::ComputeCuthillMcKeeOrder | ( | std::vector< size_t > & | vNewIndex, |
std::vector< std::vector< size_t > > & | vvNeighbour, | ||
bool | bReverse = true , |
||
bool | bPreserveConsec = true |
||
) |
returns an array describing the needed index mapping for Cuthill-McKee ordering
This function computes an index mapping that transforms an index-graph by a Cuthill-McKee ordering. For each index, a vector of all adjacent indices must be passed.
There are two intended ways of this function to work, depending on the flag bPreserveConsec: If set to true (default), the function expects vvNeighbor to contain adjacency information sorted by associated geometric object, i.e.: Geometric object 0 DoF 0 DoF 1 DoF 2 ... Geometric object 1 DoF 0 DoF 1 DoF 2 ... ...
None of the first indices of any geometric object must be unconnected! Only the first DoF index of any geometric object must be given neighbor information! This is required to guarantee that DoF indices associated to a geometric object stay consecutive.
If set to false, indices without any adjacency information given in vvNeighbour will be sorted to the end. Nothing is preserved. This is applicable if vvNeighbour contains the final non-zero entries of a sparse matrix to be re-ordered, e.g., as a pre-processing step for ILU(-T) pre-conditioning.
On exit, the index field vNewIndex is filled with the index mapping: newInd = vNewIndex[oldInd]
[out] | vNewIndex | vector returning new index for old index |
[in] | vvNeighbour | vector of adjacent indices for each index |
[in] | bReverse | flag if "reverse Cuthill-McKee" is used |
[in] | bPreserveConsec | flag indicating whether ordering is done for DofDistribution |
References CheckPermutationBijective(), findBlockSize(), PROFILE_FUNC, UG_ASSERT, and UG_THROW.
Referenced by ug::NativeCuthillMcKeeOrdering< TAlgebra, O_t >::compute(), GetCuthillMcKeeOrder(), and OrderCuthillMcKee().
void ug::computeDiamondPointXCrossType | ( | ExpandCrossFracInfo & | expCFIBeforeFracEdg, |
ExpandCrossFracInfo & | expCFIAfterFracEdg, | ||
Vertex *const & | crossPt, | ||
Grid::VertexAttachmentAccessor< APosition > & | aaPos, | ||
SubsetHandler & | sh, | ||
Grid & | grid, | ||
IndexType const & | diamantSubsNum, | ||
vector3 & | distVecNewVrt2SCrossPt, | ||
bool | useTrianglesInDiamonds = false |
||
) |
References ug::GridSubsetHandler::assign_subset(), ug::Grid::create(), ug::ISubsetHandler::get_subset_index(), ug::VertexFractureTriple< ECKENTYP, GESICHTSTYP, SENKRECHTENTYP >::getEdge(), ug::VertexFractureTriple< ECKENTYP, GESICHTSTYP, SENKRECHTENTYP >::getFace(), ug::VertexFractureTriple< ECKENTYP, GESICHTSTYP, SENKRECHTENTYP >::getNormal(), ug::VertexFractureTriple< ECKENTYP, GESICHTSTYP, SENKRECHTENTYP >::setNewNormal(), UG_LOG, UG_THROW, VecAdd(), VecLength(), VecScale(), VecSubtract(), and ug::EdgeVertices::vertex().
Referenced by ExpandFractures2dArte().
void ug::ComputeDifferenceOnDelta | ( | TVector & | diff, |
const TVector & | u, | ||
IndexLayout & | dualMasterLayoutIn, | ||
IndexLayout & | dualSlaveLayoutIn, | ||
IndexLayout & | dualNbrMasterLayoutIn, | ||
IndexLayout & | dualNbrSlaveLayoutIn | ||
) |
Application of the "jump operator" \(B_{\Delta}\).
This function applies \(B_{\Delta}\) to \(u_{\Delta}\). It computes the difference (the "jump") between the double-valued unknowns \(u_{\Delta}\) and communicate the results so that the difference vector is stored consistently afterwards.
Note: This computation is only unique up to the sign of the difference. Thus, we can freely decide it, but have then to stay with the choice.
[out] | diff | destination vector for differences computed on "Dual layout" |
[in] | u | vector \(u_{\Delta}\) |
[in] | dualMasterLayoutIn | dual master layout to operate on |
[in] | dualSlaveLayoutIn | dual slave layout to operate on |
[in] | dualNbrMasterLayoutIn | dual master layout to operate on |
[in] | dualNbrSlaveLayoutIn | dual slave layout to operate on |
References VecCopy(), and VecSubtractOneSlaveFromMaster().
Referenced by ug::FETISolver< TAlgebra >::apply_F(), ug::FETISolver< TAlgebra >::apply_M_inverse(), and ug::FETISolver< TAlgebra >::compute_d().
void ug::ComputeDifferenceOnDeltaTransposed | ( | TVector & | f, |
const TVector & | diff, | ||
const std::vector< IndexLayout::Element > & | vDualMasterIndex, | ||
const std::vector< IndexLayout::Element > & | vDualSlaveIndex, | ||
const std::vector< IndexLayout::Element > & | vDualNbrSlaveIndex | ||
) |
'ComputeDifferenceOnDeltaTransposed()': Apply \(B_{\Delta}^T\)
This function applies \(B_{\Delta}^T\) to a difference vector \(d\), (lying in the same space as \(\lambda\)). \(d\) is supposed to be stored consistently.
For the application of \(B_{\Delta}\) and the chosen scaling factors see the documentation of 'ComputeDifferenceOnDelta()'.
[out] | f | vector \(f_{\Delta}\) living on "Dual layout" |
[in] | diff | difference vector on "Dual layout" |
[in] | vDualMasterIndex | dual master layout to operate on |
[in] | vDualSlaveIndex | dual slave layout to operate on |
[in] | vDualNbrSlaveIndex | dual nbr slave layout to operate on |
References VecScaleAssign().
Referenced by ug::FETISolver< TAlgebra >::apply_F(), ug::FETISolver< TAlgebra >::apply_M_inverse(), and ug::FETISolver< TAlgebra >::apply_return_defect().
void ug::ComputeDirectionYOrder | ( | std::vector< std::pair< MathVector< dim >, size_t > > & | vPos, |
std::vector< size_t > & | indY | ||
) |
void ug::ComputeDirectionZOrder | ( | std::vector< std::pair< MathVector< dim >, size_t > > & | vPos, |
std::vector< size_t > & | indZ | ||
) |
|
inline |
References VecAppend(), VecElemProd(), VecScale(), and VecSubtract().
|
inline |
Extension of an element (in a given dimension)
References VecElemProd().
Referenced by ElementExtensionsSq< 1 >(), ElementExtensionsSq< 2 >(), and ElementExtensionsSq< 3 >().
void ug::ComputeGradientCrouzeixRaviart | ( | TFunction & | u, |
size_t | fct, | ||
MultiGrid::AttachmentAccessor< typename TFunction::element_type, ug::Attachment< number > > & | aaError | ||
) |
References CollectCornerCoordinates(), ug::LFEID::CROUZEIX_RAVIART, dim, DoFRef(), ug::LocalShapeFunctionSet< TDim, TShape, TGrad >::grads(), ug::DimReferenceMapping< TDim, TWorldDim >::jacobian_transposed_inverse(), MatVecMult(), ug::LocalDoFSet::num_sh(), ug::DimReferenceMapping< TDim, TWorldDim >::update(), VecSet(), and VecTwoNorm().
Referenced by MarkForAdaption_AbsoluteGradientIndicator(), MarkForAdaption_AbsoluteGradientJumpIndicator(), MarkForAdaption_GradientIndicator(), and MarkForAdaption_GradientJumpIndicator().
void ug::computeGradientJump | ( | TFunction & | u, |
MultiGrid::AttachmentAccessor< typename TFunction::element_type, ug::Attachment< number > > & | aaGrad, | ||
MultiGrid::AttachmentAccessor< typename TFunction::element_type, ug::Attachment< number > > & | aaError | ||
) |
void ug::ComputeGradientLagrange1 | ( | TFunction & | u, |
size_t | fct, | ||
MultiGrid::AttachmentAccessor< typename TFunction::element_type, ug::Attachment< number > > & | aaError | ||
) |
References CollectCornerCoordinates(), dim, DoFRef(), ug::LocalShapeFunctionSet< TDim, TShape, TGrad >::grads(), ug::DimReferenceMapping< TDim, TWorldDim >::jacobian_transposed_inverse(), ug::LFEID::LAGRANGE, MatVecMult(), ug::LocalDoFSet::num_sh(), ug::DimReferenceMapping< TDim, TWorldDim >::update(), VecSet(), and VecTwoNorm().
Referenced by MarkForAdaption_AbsoluteGradientIndicator(), MarkForAdaption_AbsoluteGradientJumpIndicator(), MarkForAdaption_GradientIndicator(), and MarkForAdaption_GradientJumpIndicator().
void ug::ComputeGradientPiecewiseConstant | ( | TFunction & | u, |
size_t | fct, | ||
MultiGrid::AttachmentAccessor< typename TFunction::element_type, ug::Attachment< number > > & | aaError | ||
) |
References CollectCornerCoordinates(), dim, DoFRef(), ug::ReferenceElement::id(), ug::ReferenceElement::num(), s, and VecTwoNorm().
Referenced by MarkForAdaption_AbsoluteGradientIndicator(), MarkForAdaption_AbsoluteGradientJumpIndicator(), MarkForAdaption_GradientIndicator(), and MarkForAdaption_GradientJumpIndicator().
void ug::ComputeLexicographicOrder | ( | std::vector< size_t > & | vNewIndex, |
std::vector< std::pair< MathVector< dim >, size_t > > & | vPos, | ||
size_t | orderDim, | ||
bool | increasing | ||
) |
References UG_THROW.
|
static |
dim | dimension of coordinates |
TRefElem | Reference element type |
maxMid | Maximum number of elements for all dimensions |
The octahedral reference element contains an implicit interior substructure that is constructed by several geometric objects, i.e. imaginary subfaces (8 triangles), subedges (2) and subvolumes (4 tetrahedra) resulting from the division into 4 subtetrahedra alongside inner edge 3->1. The dual fv1 geometry consists of the original hexahedral SCVs in each of the 4 subtetrahedra. Therefore, add the following additional corresponding midpoints:
References dim, and ROID_OCTAHEDRON.
Referenced by ug::DimFVGeometry< TWorldDim, TDim >::update_local().
|
static |
dim | dimension of coordinates |
TRefElem | Reference element type |
maxMid | Maximum number of elements for all dimensions |
References dim, ROID_PYRAMID, UG_THROW, and VecScaleAdd().
void ug::ComputeMinMax | ( | MultiGrid::AttachmentAccessor< TElem, ug::Attachment< number > > & | aaError, |
ConstSmartPtr< DoFDistribution > | dd, | ||
number & | min, | ||
number & | max, | ||
number & | totalErr, | ||
size_t & | numElem, | ||
number & | minLocal, | ||
number & | maxLocal, | ||
number & | totalErrLocal, | ||
size_t & | numElemLocal | ||
) |
helper function that computes min/max and total of error indicators
[out] | min | minimal eta_i^2 |
[out] | max | maximal eta_i^2 |
[out] | totalErr | sum of eta_i^2 |
[out] | numElem | number of elements |
References pcl::ProcessCommunicator::allreduce(), pcl::NumProcs(), PCL_RO_MAX, PCL_RO_MIN, PCL_RO_SUM, and UG_LOG.
Referenced by ComputeMinMaxTotal(), ug::MeanValueMarking< TDomain >::mark(), ug::VarianceMarking< TDomain >::mark(), ug::MaximumMarking< TDomain >::mark(), ug::APosterioriCoarsening< TDomain >::mark(), and ug::EquilibrationMarkingStrategy< TDomain >::mark().
void ug::ComputeMinMaxTotal | ( | MultiGrid::AttachmentAccessor< TElem, ug::Attachment< number > > & | aaError2, |
ConstSmartPtr< DoFDistribution > | dd, | ||
number & | min, | ||
number & | max, | ||
number & | totalErr, | ||
size_t & | numElem | ||
) |
helper function that computes min/max and total of error indicators
References ComputeMinMax().
Referenced by ug::GlobalMarking< TDomain >::mark(), MarkElements(), MarkElementsForCoarsening(), and MarkElementsForRefinement().
void ug::ComputeMultiIndicesOfSubElement | ( | std::vector< MathVector< dim, int > > * | vvMultiIndex, |
bool * | vIsBndElem, | ||
std::vector< int > * | vElemBndSide, | ||
std::vector< size_t > * | vIndex, | ||
ReferenceObjectID | roid, | ||
int | p | ||
) |
void ug::ComputeMultiIndicesOfSubElement< 1 > | ( | std::vector< MathVector< 1, int > > * | vvMultiIndex, |
bool * | vIsBndElem, | ||
std::vector< int > * | vElemBndSide, | ||
std::vector< size_t > * | vIndex, | ||
ReferenceObjectID | roid, | ||
int | p | ||
) |
References ug::FlexLagrangeLSFS< ReferenceEdge >::index(), p, ROID_EDGE, s, and UG_THROW.
void ug::ComputeMultiIndicesOfSubElement< 2 > | ( | std::vector< MathVector< 2, int > > * | vvMultiIndex, |
bool * | vIsBndElem, | ||
std::vector< int > * | vElemBndSide, | ||
std::vector< size_t > * | vIndex, | ||
ReferenceObjectID | roid, | ||
int | p | ||
) |
void ug::ComputeMultiIndicesOfSubElement< 3 > | ( | std::vector< MathVector< 3, int > > * | vvMultiIndex, |
bool * | vIsBndElem, | ||
std::vector< int > * | vElemBndSide, | ||
std::vector< size_t > * | vIndex, | ||
ReferenceObjectID | roid, | ||
int | p | ||
) |
void ug::ComputeOrientationOffset | ( | std::vector< size_t > & | vOrientOffset, |
Face * | face, | ||
Edge * | edge, | ||
size_t | nrEdge, | ||
const LFEID & | lfeid | ||
) |
returns the orientation offsets if required
If more than on DoF is located on a geometric sub-element for some Local finite element space, the DoF order must be orientated sometimes in order to ensure continuity of the spaces (only spaces with some continuity requirement place dofs on sub elements). This can only be the case when the sub-element is of lower dimension than the LFE-Space.
This function computes the orientation offsets if required. I.e. if orientation is needed, the size of the output-vector will be equal to the number of dofs on the subelement and contain the numbers {0, ..., numDoFsOnSub-1} in the order the dofs must be sorted. If no orientation is required, the vector is returned empty
vOrientOffset | orientation offset (or empty if no orientation required) |
Elem | the element |
SubElem | the sub-element where dofs are to be oriented |
nrSub | the number of the sub-element in reference element counting |
lfeid | the local finite element space |
References ComputeOrientationOffsetGeneric().
void ug::ComputeOrientationOffset | ( | std::vector< size_t > & | vOrientOffset, |
GridObject * | Elem, | ||
GridObject * | SubElem, | ||
size_t | nrSub, | ||
const LFEID & | lfeid | ||
) |
returns the orientation offsets if required
If more than on DoF is located on a geometric sub-element for some Local finite element space, the DoF order must be orientated sometimes in order to ensure continuity of the spaces (only spaces with some continuity requirement place dofs on sub elements). This can only be the case when the sub-element is of lower dimension than the LFE-Space.
This function computes the orientation offsets if required. I.e. if orientation is needed, the size of the output-vector will be equal to the number of dofs on the subelement and contain the numbers {0, ..., numDoFsOnSub-1} in the order the dofs must be sorted. If no orientation is required, the vector is returned empty
vOrientOffset | orientation offset (or empty if no orientation required) |
Elem | the element |
SubElem | the sub-element where dofs are to be oriented |
nrSub | the number of the sub-element in reference element counting |
lfeid | the local finite element space |
void ug::ComputeOrientationOffset | ( | std::vector< size_t > & | vOrientOffset, |
Volume * | vol, | ||
Edge * | edge, | ||
size_t | nrEdge, | ||
const LFEID & | lfeid | ||
) |
returns the orientation offsets if required
If more than on DoF is located on a geometric sub-element for some Local finite element space, the DoF order must be orientated sometimes in order to ensure continuity of the spaces (only spaces with some continuity requirement place dofs on sub elements). This can only be the case when the sub-element is of lower dimension than the LFE-Space.
This function computes the orientation offsets if required. I.e. if orientation is needed, the size of the output-vector will be equal to the number of dofs on the subelement and contain the numbers {0, ..., numDoFsOnSub-1} in the order the dofs must be sorted. If no orientation is required, the vector is returned empty
vOrientOffset | orientation offset (or empty if no orientation required) |
Elem | the element |
SubElem | the sub-element where dofs are to be oriented |
nrSub | the number of the sub-element in reference element counting |
lfeid | the local finite element space |
References ComputeOrientationOffsetGeneric().
void ug::ComputeOrientationOffset | ( | std::vector< size_t > & | vOrientOffset, |
Volume * | vol, | ||
Face * | face, | ||
size_t | nrFace, | ||
const LFEID & | lfeid | ||
) |
returns the orientation offsets if required
If more than on DoF is located on a geometric sub-element for some Local finite element space, the DoF order must be orientated sometimes in order to ensure continuity of the spaces (only spaces with some continuity requirement place dofs on sub elements). This can only be the case when the sub-element is of lower dimension than the LFE-Space.
This function computes the orientation offsets if required. I.e. if orientation is needed, the size of the output-vector will be equal to the number of dofs on the subelement and contain the numbers {0, ..., numDoFsOnSub-1} in the order the dofs must be sorted. If no orientation is required, the vector is returned empty
vOrientOffset | orientation offset (or empty if no orientation required) |
Elem | the element |
SubElem | the sub-element where dofs are to be oriented |
nrSub | the number of the sub-element in reference element counting |
lfeid | the local finite element space |
References ComputeOrientationOffsetGeneric().
Referenced by ug::AdaptionSurfaceGridFunction< TDomain >::ValueAccessor::access_closure(), ug::DoFDistribution::constrained_edge_dof_indices(), ug::DoFDistribution::constrained_face_dof_indices(), ug::DoFDistribution::dof_indices(), and ug::DoFDistribution::indices().
void ug::ComputeOrientationOffsetGeneric | ( | std::vector< size_t > & | vOrientOffset, |
TBaseElem * | elem, | ||
TSubBaseElem * | sub, | ||
size_t | nrSub, | ||
const LFEID & | lfeid | ||
) |
References ComputeOrientationOffsetLagrange(), dim, ug::LFEID::dim(), ug::LFEID::LAGRANGE, ug::LFEID::order(), and ug::LFEID::type().
Referenced by ComputeOrientationOffset().
void ug::ComputeOrientationOffsetLagrange | ( | std::vector< size_t > & | vOrientOffset, |
EdgeDescriptor & | ed, | ||
EdgeVertices * | edge, | ||
const size_t | p | ||
) |
References OrientationMatches(), and p.
Referenced by ComputeOrientationOffsetGeneric(), and ComputeOrientationOffsetLagrange().
void ug::ComputeOrientationOffsetLagrange | ( | std::vector< size_t > & | vOrientOffset, |
Face * | face, | ||
Edge * | edge, | ||
size_t | nrEdge, | ||
const size_t | p | ||
) |
References ComputeOrientationOffsetLagrange(), ug::Face::edge_desc(), and p.
void ug::ComputeOrientationOffsetLagrange | ( | std::vector< size_t > & | vOrientOffset, |
GridObject * | volume, | ||
GridObject * | face, | ||
size_t | nrFace, | ||
const size_t | p | ||
) |
References UG_THROW.
void ug::ComputeOrientationOffsetLagrange | ( | std::vector< size_t > & | vOrientOffset, |
Volume * | vol, | ||
Edge * | edge, | ||
size_t | nrEdge, | ||
const size_t | p | ||
) |
References ComputeOrientationOffsetLagrange(), ug::Volume::edge_desc(), and p.
|
static |
[in] | i | indicates that scvf corresponds to i'th edge of ref elem |
References dim, ROID_OCTAHEDRON, ROID_PYRAMID, ug::fv1_traits_ReferenceOctahedron::scvf_mid_id(), and ug::fv1_traits_ReferencePyramid::scvf_mid_id().
Referenced by ug::DimFV1Geometry< TDim, TWorldDim >::update_local(), ug::DimFVGeometry< TWorldDim, TDim >::update_local(), ug::FV1Geometry_gen< TElem, TWorldDim, TCondensed >::update_local_data(), ug::FV1IBGeometry< TElem, TWorldDim >::update_local_data(), ug::DimFV1IBGeometry< TDim, TWorldDim >::update_local_data(), and ug::FVGeometry< TOrder, TElem, TWorldDim, TQuadOrder >::update_local_data().
|
static |
[in] | i | indicates that scvf corresponds to i'th edge of ref elem |
References dim, ROID_PYRAMID, and UG_THROW.
|
static |
[in] | i | indicates that scv corresponds to i'th corner of ref elem |
References dim, ROID_OCTAHEDRON, ROID_PYRAMID, ug::fv1_traits_ReferenceOctahedron::scv_mid_id(), ug::fv1_traits_ReferencePyramid::scv_mid_id(), and UG_THROW.
Referenced by ug::DimFV1Geometry< TDim, TWorldDim >::update_local(), ug::DimFVGeometry< TWorldDim, TDim >::update_local(), ug::FV1Geometry_gen< TElem, TWorldDim, TCondensed >::update_local_data(), ug::FV1IBGeometry< TElem, TWorldDim >::update_local_data(), ug::DimFV1IBGeometry< TDim, TWorldDim >::update_local_data(), and ug::FVGeometry< TOrder, TElem, TWorldDim, TQuadOrder >::update_local_data().
|
static |
[in] | i | indicates that scvf corresponds to i'th corner of ref elem |
References dim, ROID_PYRAMID, and UG_THROW.
UG_API std::string ug::ConfigShift | ( | std::string | s | ) |
returns a "shifted" string one-line strings are not shifted two line strings are shifted like this: input: "MyLine1\nMyLine2\n" Output: "\n | MyLine1\n | MyLine2" note that they get an additional
at the beginning, and doubled
and
at the end are removed, so you can use ConfigShift like this
Depending on comp1.config_string(), this results in "MySubcomponent1 = sub1 ... " or "MySubcomponent =\n | sub1.1\n | sub1.2 ..."
[in] | s |
string ug::ConfigShift | ( | string | s | ) |
References ConfigShiftRotation(), IsShiftChar(), and s.
Referenced by ug::PINVIT< TAlgebra >::config_string(), ug::SchurInverseWithOperator< TAlgebra >::config_string(), ug::SchurInverseWithFullMatrix< TAlgebra >::config_string(), ug::SchurInverseWithAGammaGamma< TAlgebra >::config_string(), ug::SchurInverseWithAutoFullMatrix< TAlgebra >::config_string(), ug::SchurPrecond< TAlgebra >::config_string(), ug::AssembledMultiGridCycle< TDomain, TAlgebra >::config_string(), ug::NestedIterationSolver< TDomain, TAlgebra >::config_string(), ug::NewtonSolver< TAlgebra >::config_string(), ug::NLGaussSeidelSolver< TDomain, TAlgebra >::config_string(), ug::NLJacobiSolver< TAlgebra >::config_string(), ug::IPreconditionedLinearOperatorInverse< X >::config_string_preconditioner_convergence_check(), operator<<(), and OstreamShift().
char ug::ConfigShiftRotation | ( | char | c | ) |
References shiftCharacters, and shiftCharactersLength.
Referenced by ConfigShift().
void ug::ConstructDualGraph | ( | std::vector< TIndexType > & | adjacencyMapStructureOut, |
std::vector< TIndexType > & | adjacencyMapOut, | ||
Grid & | grid, | ||
Attachment< TIndexType > * | paIndex = NULL , |
||
TGeomBaseObj ** | pGeomObjsOut = NULL , |
||
NeighborhoodType | nbhType = NHT_DEFAULT , |
||
const GridObjectCollection * | pgoc = NULL |
||
) |
The created dual graph is described in the following form. the adjacency-map-structure holds for each node an index to where associated nodes are written in the adjacency-map. The adjacency-map holds indices to the adjacent elements for a node. The indices in the adjacency-map are ordered so that first all adjacent nodes of the first node appear, then the adjacent nodes of the second node and so forth.
Let n be the number of nodes in the graph, m be the number of edges. Then adjacencyMapStructureOut will contain n+1 entries (the last one is a convenience entry), and adjacencyMapOut will contain 2m entries (edges are always bidirectional).
please note that you'll find all entries belonging to node i in the entries adjacencyMapStructureOut[i] to (but not including) adjacencyMapStructureOut[i+1] of the adjacencyMapOut.
TIndexType has to be compatible with int.
If you are interested in a list of the TGeomBaseObj in the order corresponding to adjacencyMapStructureOut, you may pass a pointer to an array of TGeomBaseObj-pointers through pGeomObjsOut. Make sure, that this array has the size of grid.num<TGeomBaseObj>().
If you are interested in the indices assigned to each element, then pass a pointer to an TIndexType attachment to paIndex.
TGeomBaseObj can be either Vertex, Edge, Face or Volume
Through pgoc you can specify a subset of the grid which shall be put into the graph. If pgoc == NULL (by default), the whole grid is used.
If you pass a multi-grid to this method, elements will be indexed for level 0 first, then for level 1 and so on.
References ug::Grid::attach_to_dv(), ug::GridObjectCollection::begin(), CollectNeighbors(), ug::Grid::detach_from(), ug::GridObjectCollection::end(), ug::Grid::get_grid_objects(), ug::Grid::has_attachment(), ug::GridObjectCollection::num(), and ug::GridObjectCollection::num_levels().
void ug::ConstructDualGraphMG | ( | std::vector< TIndexType > & | adjacencyMapStructureOut, |
std::vector< TIndexType > & | adjacencyMapOut, | ||
std::vector< TIndexType > * | pEdgeWeightsOut, | ||
MultiGrid & | mg, | ||
size_t | baseLevel = 0 , |
||
int | hWeight = 1 , |
||
int | vWeight = 1 , |
||
Attachment< TIndexType > * | paIndex = NULL , |
||
TGeomBaseObj ** | pGeomObjsOut = NULL , |
||
NeighborhoodType | nbhType = NHT_DEFAULT |
||
) |
The created dual graph ist described in the following form. the adjacency-map-structure holds for each node an index to where associated nodes are written in the adjacency-map. The adjacency-map holds indices to the adjacent elements for a node. The indices in the adjaceny-map are ordered so that first all adjacent nodes of the first node appear, then the adjacent nodes of the second node and so forth.
Let n be the number of nodes in the graph, m be the number of edges. Then adjacencyMapStructureOut will contain n+1 entries (the last one is a convenience entry), and adjacencyMapOut will contain 2m entries (edges are always bidirectional).
please note that you'll find all entries belonging to node i in the entries adjacencyMapStructureOut[i] to (but not including) adjacencyMapStructureOut[i+1] of the adjacencyMapOut.
TIndexType has to be compatible with int.
If you are interested in a list of the TGeomBaseObj in the order corresponding to adjacencyMapStructureOut, you may pass a pointer to an array of TGeomBaseObj-pointers through pGeomObjsOut. Make sure, that this array has the size of grid.num<TGeomBaseObj>().
If you are interested in the indices assigned to each element, then pass a pointer to an TIndexType attachment to paIndex.
pEdgeWgtsOut may be specified with NULL. If it is given, then the weight for each entry in adacencyMapOut will be written to pEdgeWgtsOut. vWeight for each vertical connection (parents / children) and hWeigth for each horizontal connection (neighbors).
TGeomBaseObj can be either Vertex, Edge, Face or Volume
Elements will be indexed for level 0 first, then for level 1 and so on.
References ug::Grid::attach_to(), ug::MultiGrid::begin(), CollectNeighbors(), ug::Grid::detach_from(), ug::MultiGrid::end(), ug::MultiGrid::get_child(), ug::MultiGrid::get_parent(), ug::Grid::has_attachment(), ug::MultiGrid::num(), ug::MultiGrid::num_children(), and ug::MultiGrid::num_levels().
void ug::ConstructDualGraphMGLevel | ( | std::vector< TIndexType > & | adjacencyMapStructureOut, |
std::vector< TIndexType > & | adjacencyMapOut, | ||
MultiGrid & | mg, | ||
size_t | level, | ||
Attachment< TIndexType > * | paIndex = NULL , |
||
TGeomBaseObj ** | pGeomObjsOut = NULL , |
||
NeighborhoodType | nbhType = NHT_DEFAULT , |
||
DualGraphNeighborCollector< TGeomBaseObj > * | neighborCollector = NULL |
||
) |
This method creates a dual graph for the given level only.
The i-th element of the given level will be the i-th node in the generated adjacency structure.
The created dual graph ist described in the following form. the adjacency-map-structure holds for each node an index to where associated nodes are written in the adjacency-map. The adjacency-map holds indices to the adjacent elements for a node. The indices in the adjaceny-map are ordered so that first all adjacent nodes of the first node appear, then the adjacent nodes of the second node and so forth.
Note that the elements are processed one level after another.
Let n be the number of nodes in the graph, m be the number of edges. Then adjacencyMapStructureOut will contain n+1 entries (the last one is a convenience entry), and adjacencyMapOut will contain 2m entries (edges are always bidirectional).
please note that you'll find all entries belonging to node i in the entries adjacencyMapStructureOut[i] to (but not including) adjacencyMapStructureOut[i+1] of the adjacencyMapOut.
TIndexType has to be compatible with int.
If you are interested in a list of the TGeomBaseObj in the order corresponding to adjacencyMapStructureOut, you may pass a pointer to an array of TGeomBaseObj-pointers through pGeomObjsOut. Make sure, that this array has the size of grid.num<TGeomBaseObj>(level).
If you are interested in the indices assigned to each element, then pass a pointer to an TIndexType attachment to paIndex.
TGeomBaseObj can be either Vertex, Edge, Face or Volume
References ug::Grid::attach_to(), ug::MultiGrid::begin(), CollectNeighbors(), ug::Grid::detach_from(), ug::MultiGrid::end(), ug::Grid::has_attachment(), and ug::MultiGrid::num().
void ug::ConstructGridOfSCV | ( | ISubsetHandler & | shOut, |
const SurfaceView & | surfView, | ||
const Grid::VertexAttachmentAccessor< Attachment< MathVector< TWorldDim > > > & | aaPos, | ||
Grid::VertexAttachmentAccessor< Attachment< MathVector< TWorldDim > > > & | aaPosOut, | ||
int | si | ||
) |
void ug::ConstructGridOfSCV | ( | ISubsetHandler & | shOut, |
const SurfaceView & | surfView, | ||
const Grid::VertexAttachmentAccessor< Attachment< MathVector< TWorldDim > > > & | aaPos, | ||
Grid::VertexAttachmentAccessor< Attachment< MathVector< TWorldDim > > > & | aaPosOut, | ||
int | si, | ||
int | siDim | ||
) |
void ug::ConstructGridOfSCVF | ( | ISubsetHandler & | shOut, |
const SurfaceView & | surfView, | ||
const Grid::VertexAttachmentAccessor< Attachment< MathVector< TWorldDim > > > & | aaPos, | ||
Grid::VertexAttachmentAccessor< Attachment< MathVector< TWorldDim > > > & | aaPosOut, | ||
int | si | ||
) |
void ug::ConstructGridOfSCVF | ( | ISubsetHandler & | shOut, |
const SurfaceView & | surfView, | ||
const Grid::VertexAttachmentAccessor< Attachment< MathVector< TWorldDim > > > & | aaPos, | ||
Grid::VertexAttachmentAccessor< Attachment< MathVector< TWorldDim > > > & | aaPosOut, | ||
int | si, | ||
int | siDim | ||
) |
void ug::ConstructParallelDualGraphMGLevel | ( | std::vector< TIndexType > & | adjacencyMapStructureOut, |
std::vector< TIndexType > & | adjacencyMapOut, | ||
std::vector< TIndexType > & | nodeOffsetMapOut, | ||
MultiGrid & | mg, | ||
size_t | level, | ||
pcl::ProcessCommunicator | procCom, | ||
Attachment< TIndexType > * | paIndex = NULL , |
||
TGeomBaseObj ** | pGeomObjsOut = NULL , |
||
NeighborhoodType | nbhType = NHT_DEFAULT |
||
) |
DEPRECIATED! Use the ParallelDualGraph class instead!
This method creates a parallel dual graph for the given level only. Please refer to the parmetis documentation for a detailed overview over the resulting parallel graph structure.
The created dual graph ist described in the following form. The adjacency-map-structure holds for each node an index to where associated nodes are written in the adjacency-map.
The adjacency-map holds indices to the adjacent elements for a node. The indices in the adjaceny-map are ordered so that first all adjacent nodes of the first node appear, then the adjacent nodes of the second node and so forth. Note that those indices relate to the global index of the connected node.
The node-offset-map holds for each process the smallest global node index on that process. Note that all node indices on a process are consecutive. The node-offset-map holds numProcs+1 entries. The last one holds #numGlobalInds+1. The number of nodes on a process is thus given by (nodeOffsetMap[pInd] - nodeOffsetMap[pInd+1]).
Let n be the number of nodes in the graph, m be the number of edges. Then adjacencyMapStructureOut will contain n+1 entries (the last one is a convenience entry), and adjacencyMapOut will contain 2m entries (edges are always bidirectional).
please note that you'll find all entries belonging to node i in the entries adjacencyMapStructureOut[i] to (but not including) adjacencyMapStructureOut[i+1] of the adjacencyMapOut.
TIndexType has to be compatible with int.
If you are interested in a list of the TGeomBaseObj in the order corresponding to adjacencyMapStructureOut, you may pass a pointer to an array of TGeomBaseObj-pointers through pGeomObjsOut. Make sure, that this array has the size of grid.num<TGeomBaseObj>(level). It may however not be completely filled, since ghosts are ignored in the dual graph.
If you are interested in the indices assigned to each element, then pass a pointer to an TIndexType attachment to paIndex.
TGeomBaseObj can be either Vertex, Edge, Face or Volume and should represent the elements of highest dimension in a given grid.
References pcl::ProcessCommunicator::allgather(), ug::Grid::attach_to(), ug::MultiGrid::begin(), CollectNeighbors(), ug::Grid::detach_from(), ug::Grid::distributed_grid_manager(), ug::MultiGrid::end(), GDIST_PROFILE_FUNC, pcl::ProcessCommunicator::get_local_proc_id(), ug::Grid::has_attachment(), ug::DistributedGridManager::is_ghost(), PCL_DT_INT, and pcl::ProcessCommunicator::size().
bool ug::Contains | ( | const string & | str, |
const string & | search | ||
) |
Referenced by IsValidRegistryIdentifier().
|
static |
References ug::DistributedGridManager::is_interface_element().
Referenced by ug::ParallelHNodeAdjuster::ref_marks_changed().
|
static |
temporary method, which will be removed when debugging is done.
References pcl::ProcRank(), SaveCoarsenMarksToFile(), and UG_LOG.
Referenced by ug::HangingNodeRefiner_MultiGrid::collect_objects_for_coarsen().
LFEID ug::ConvertStringToLFEID | ( | const char * | type, |
int | dim | ||
) |
returns the LFEID for a combination of Space and order
returns the LFEID
References ug::LFEID::CROUZEIX_RAVIART, dim, ug::LFEID::LAGRANGE, ug::LFEID::NEDELEC, ug::LFEID::NONE, ug::LFEID::PIECEWISE_CONSTANT, and UG_THROW.
LFEID ug::ConvertStringToLFEID | ( | const char * | type, |
int | dim, | ||
int | order | ||
) |
returns the LFEID for a combination of Space and order
References ug::LFEID::CROUZEIX_RAVIART, ug::LFEID::DG, dim, ug::LFEID::LAGRANGE, ug::LFEID::MINI, ug::LFEID::NEDELEC, ug::LFEID::NONE, ug::LFEID::PIECEWISE_CONSTANT, and UG_THROW.
Referenced by ug::IApproximationSpace::add().
|
static |
References ug::MidID::dim, and ug::MidID::id.
|
static |
References ug::MidID::dim, and ug::MidID::id.
template void ug::CopyGrid | ( | Grid & | , |
Grid & | , | ||
ISubsetHandler & | , | ||
ISubsetHandler & | , | ||
APosition1 | |||
) |
template void ug::CopyGrid | ( | Grid & | , |
Grid & | , | ||
ISubsetHandler & | , | ||
ISubsetHandler & | , | ||
APosition2 | |||
) |
template void ug::CopyGrid | ( | Grid & | , |
Grid & | , | ||
ISubsetHandler & | , | ||
ISubsetHandler & | , | ||
APosition3 | |||
) |
void ug::CopyGrid | ( | Grid & | srcGrid, |
Grid & | destGrid, | ||
ISubsetHandler & | srcSH, | ||
ISubsetHandler & | destSH, | ||
TAPos | aPos | ||
) |
Copies a grid to a separate grid.
Extracts the grid from a given Grid with a given SubsetHandler and copies it to a new grid. Position data is read from aPos. Note: To copy a grid w/o subset information can use Grid's copy constructor
[in] | srcGrid | the grid to be copied |
[out] | destGrid | the copied grid |
[in] | srcSh | the SubsetHandler for the srcGrid |
[out] | destSh | the SubsetHandler for the destGrid |
References ug::ISubsetHandler::assign_subset(), ug::Grid::attach_to_vertices(), ug::GridObjectCollection::begin(), ug::Grid::create_by_cloning(), ug::Grid::detach_from_vertices(), ug::GridObjectCollection::end(), ug::Grid::get_grid_objects(), ug::ISubsetHandler::get_subset_index(), ug::ISubsetHandler::num_subsets(), and ug::ISubsetHandler::subset_info().
void ug::CopyGridElements | ( | Grid & | srcGrid, |
Grid & | destGrid, | ||
ISubsetHandler & | srcSH, | ||
ISubsetHandler & | destSH, | ||
Attachment< Vertex * > & | aNewVrt | ||
) |
Copy grid elements of type TElem from srcGrid to destGrid.
References ug::ISubsetHandler::assign_subset(), ug::GridObjectCollection::begin(), ug::Grid::create_by_cloning(), ug::GridObjectCollection::end(), ug::Grid::get_grid_objects(), ug::ISubsetHandler::get_subset_index(), ug::CustomVertexGroup::resize(), and ug::CustomVertexGroup::set_vertex().
void ug::CopyGridLevel | ( | MultiGrid & | srcMG, |
Grid & | destGrid, | ||
ISubsetHandler & | srcSH, | ||
ISubsetHandler & | destSH, | ||
int | lvl, | ||
TAPos | aPos | ||
) |
Copies a grid level to a separate grid.
Extracts a specified level from a given MultiGrid with a given SubsetHandler and copies it to a new grid. Position data is read from aPos.
References ug::ISubsetHandler::assign_subset(), ug::Grid::attach_to_vertices(), ug::GridObjectCollection::begin(), ug::Grid::create_by_cloning(), ug::Grid::detach_from_vertices(), ug::GridObjectCollection::end(), ug::MultiGrid::get_grid_objects(), ug::ISubsetHandler::get_subset_index(), ug::ISubsetHandler::num_subsets(), and ug::ISubsetHandler::subset_info().
Referenced by SaveGridLevel().
void ug::CopyGridLevelElements | ( | MultiGrid & | srcMG, |
Grid & | destGrid, | ||
ISubsetHandler & | srcSH, | ||
ISubsetHandler & | destSH, | ||
int | lvl, | ||
AVertex & | aNewVrt | ||
) |
|
static |
Please note that this method only handles elements with flags >=0, -1 and -2.
References pcl::SingleLevelLayout< TInterface >::begin(), pcl::SingleLevelLayout< TInterface >::end(), pcl::OrderedInterface< TType, TContainer, TAlloc >::get_element(), pcl::SingleLevelLayout< TInterface >::interface(), pcl::IDomainDecompositionInfo::map_proc_id_to_subdomain_id(), pcl::SingleLevelLayout< TInterface >::proc_id(), pcl::ProcRank(), and PROFILE_FUNC_GROUP.
Referenced by BuildDomainDecompositionLayouts().
void ug::CopyOffDiagEntries | ( | const TMatrixType & | A, |
size_t | i, | ||
TRowType & | row, | ||
bool | enforceNew = false |
||
) |
Referenced by CreateStrongConnectionGraphForSystems().
|
inline |
Make sure that aNewVrt is attached to srcSel.grid() and contains a pointer to a valid vertex in destGrid for each selected vertex in srcGrid. Also make sure that all vertices belonging to a selected element have been selected, too.
References ug::Selector::begin(), ug::Grid::create_by_cloning(), ug::Selector::end(), ug::ISelector::grid(), ug::CustomVertexGroup::resize(), and ug::CustomVertexGroup::set_vertex().
void ug::CopySelectionStatus | ( | Selector & | selOut, |
Grid & | gridOut, | ||
Selector & | selIn, | ||
Grid & | gridIn | ||
) |
Make sure that elements in gridOut directly correspond to elements in gridIn
References ug::Grid::begin(), ug::Grid::end(), ug::ISelector::is_selected(), and ug::ISelector::select().
|
static |
Make sure that elements in gridOut directly correspond to elements in gridIn
References ug::Grid::begin(), ug::Grid::end(), ug::ISelector::is_selected(), and ug::ISelector::select().
|
static |
Helper method that copies subset-indices based on the subset-dimension property of each element. Subsets are only assigned to previously unassigned elements.
References ug::ISubsetHandler::assign_subset(), ug::Grid::associated_elements(), dim, ug::ISubsetHandler::get_subset_index(), ug::ISubsetHandler::grid(), ug::ISubsetHandler::num_subsets(), ug::PointerConstArray< TPtr >::size(), and UG_COND_THROW.
Referenced by CopySubsetIndicesToSides().
|
static |
References ug::ISubsetHandler::assign_subset(), and ug::ISubsetHandler::get_subset_index().
Referenced by ug::ISubsetHandler::assign_subset_handler().
std::string ug::CPPString | ( | const DenseMatrix< TStorage > & | A, |
const char * | name | ||
) |
References name, and NonzeroString().
Referenced by SolveDeficit().
void ug::CreateAllToAllFromMasterSlave | ( | pcl::InterfaceCommunicator< IndexLayout > & | communicator, |
IndexLayout & | OLCoarseningSendLayout, | ||
IndexLayout & | OLCoarseningReceiveLayout, | ||
IndexLayout & | OL1MasterLayout, | ||
IndexLayout & | OL1SlaveLayout | ||
) |
References AddConnectionsBetweenSlaves(), pcl::AddLayout(), and PROFILE_FUNC_GROUP.
void ug::CreateControlVolumeDomain | ( | TDomain & | domOut, |
const TDomain & | domIn, | ||
const SurfaceView & | surfView, | ||
int | si = -1 |
||
) |
Creates a grid consisting of the sub-control-volume faces w.r.t to a given domain.
domOut | domain to be filled |
domIn | original domain |
si | subset used (-1 for whole domain) |
References UG_THROW.
void ug::createDiamondFacesXCrossType | ( | ExpandCrossFracInfo & | expCFIBeforeFracEdg, |
ExpandCrossFracInfo & | expCFIAfterFracEdg, | ||
std::vector< Face * > & | newDiamFaceVec, | ||
SubsetHandler & | sh, | ||
Grid & | grid, | ||
IndexType | diamantSubsNum, | ||
Vertex *& | crossPt, | ||
bool | isFreeTEnd = false |
||
) |
References ug::GridSubsetHandler::assign_subset(), ug::Grid::create(), ug::VertexFractureTriple< ECKENTYP, GESICHTSTYP, SENKRECHTENTYP >::getFace(), ug::VertexFractureTriple< ECKENTYP, GESICHTSTYP, SENKRECHTENTYP >::getNewNormal(), ug::VertexFractureTriple< ECKENTYP, GESICHTSTYP, SENKRECHTENTYP >::getNormal(), message(), ug::FaceVertices::num_vertices(), UG_LOG, UG_THROW, and ug::FaceVertices::vertex().
Referenced by ExpandFractures2dArte().
References CreateEdge(), ug::Vertex::get_hash_value(), and UG_ASSERT.
References ug::Grid::create(), ug::Grid::get_edge(), and UG_LOG.
Referenced by CreateEdge().
References ug::Grid::create(), ug::Grid::get_face(), ug::FaceDescriptor::set_vertex(), UG_ASSERT, and UG_LOG.
Referenced by CreatePlane().
void ug::CreateFunctionIndexMapping | ( | FunctionIndexMapping & | map, |
const FunctionGroup & | grpFrom, | ||
ConstSmartPtr< FunctionPattern > | fctPattern | ||
) |
Creates a function index mapping that maps all local indices from the one Function Group to the corresponding indices in a function pattern. Make sure that the Function Group is contained function pattern - otherwise an exception is thrown.
References ug::FunctionGroup::add_all().
void ug::CreateFunctionIndexMapping | ( | FunctionIndexMapping & | map, |
const FunctionGroup & | grpFrom, | ||
const FunctionGroup & | grpTo | ||
) |
Creates a function index mapping that maps all local indices from the one Function Group to the other. Make sure that the first Function Group is contained in the second and both function groups are based on the same function pattern - otherwise an exception is thrown.
References ug::FunctionIndexMapping::clear(), ug::FunctionGroup::contains(), ug::FunctionGroup::function_pattern(), ug::FunctionGroup::local_index(), ug::FunctionIndexMapping::push_back(), ug::FunctionGroup::size(), and UG_THROW.
Referenced by ug::DependentUserData< TData, dim >::extract_fct_grp(), and ug::StdDataLinker< TImpl, TData, dim >::set_function_pattern().
void ug::CreateGlobalLayout | ( | GlobalLayout & | globalLayout, |
const IndexLayout & | layout, | ||
const TLocalToGlobal & | localToGlobal | ||
) |
void UG_API ug::CreateGridFromField | ( | Grid & | grid, |
const Field< number > & | field, | ||
const vector2 & | cellSize, | ||
const vector2 & | offset, | ||
number | noDataValue, | ||
Grid::VertexAttachmentAccessor< APosition > | aaPos | ||
) |
References ug::Field< T >::at(), ug::Grid::create(), ug::Field< T >::fill_all(), ug::Field< T >::height(), and ug::Field< T >::width().
Referenced by CreateGridFromField(), LoadGridFromASC(), and MeshLayers().
void UG_API ug::CreateGridFromField | ( | Grid & | grid, |
const Heightfield & | hfield, | ||
Grid::VertexAttachmentAccessor< APosition > | aaPos | ||
) |
void UG_API ug::CreateGridFromFieldBoundary | ( | Grid & | grid, |
const Field< number > & | field, | ||
const vector2 & | cellSize, | ||
const vector2 & | offset, | ||
number | noDataValue, | ||
Grid::VertexAttachmentAccessor< APosition > | aaPos | ||
) |
References ug::Field< T >::at(), ug::Grid::create(), ug::Field< T >::fill_all(), ug::Field< T >::height(), and ug::Field< T >::width().
Referenced by CreateGridFromFieldBoundary(), and MeshLayerBoundaries().
void UG_API ug::CreateGridFromFieldBoundary | ( | Grid & | grid, |
const Heightfield & | hfield, | ||
Grid::VertexAttachmentAccessor< APosition > | aaPos | ||
) |
void ug::CreateGridOfControlVolumes | ( | ISubsetHandler & | shOut, |
TAAPosition & | aaPosOut, | ||
TAPosition & | aPosOut, | ||
const ISubsetHandler & | sh, | ||
const TAAPosition & | aaPos, | ||
const SurfaceView & | surfView, | ||
int | si = -1 |
||
) |
void ug::CreateGridOfSubControlVolumeFaces | ( | ISubsetHandler & | shOut, |
TAAPosition & | aaPosOut, | ||
const ISubsetHandler & | sh, | ||
const TAAPosition & | aaPos, | ||
const SurfaceView & | surfView, | ||
int | si = -1 |
||
) |
References dim, DimensionOfSubset(), ug::ISubsetHandler::num_subsets(), and UG_THROW.
void ug::CreateGridOfSubControlVolumes | ( | ISubsetHandler & | shOut, |
TAAPosition & | aaPosOut, | ||
const ISubsetHandler & | sh, | ||
const TAAPosition & | aaPos, | ||
const SurfaceView & | surfView, | ||
int | si = -1 |
||
) |
References dim, DimensionOfSubset(), ug::ISubsetHandler::num_subsets(), and UG_THROW.
Hexahedron * ug::CreateHexahedronFromPrisms | ( | Grid & | grid, |
Prism * | p0, | ||
Prism * | p1 | ||
) |
Creates a hexahedron from two prisms which share a quadrilateral side.
This method uses Grid::mark
References ug::Grid::begin_marking(), ug::Grid::create(), ug::Grid::end_marking(), ug::prism_rules::FACE_VRT_INDS, ug::Grid::get_face(), GetFaceIndex(), ug::Grid::is_marked(), ug::Grid::mark(), ug::prism_rules::QUADS, ug::prism_rules::TRIS, and ug::Prism::vertices().
bool ug::CreateIndexLayouts_DomainDecomposition | ( | IndexLayout & | processLayoutOut, |
IndexLayout & | subdomainLayoutOut, | ||
DoFDistribution & | dofDistr, | ||
GridLayoutMap & | layoutMap, | ||
int | keyType, | ||
int | level, | ||
pcl::IDomainDecompositionInfo * | ddInfoIn | ||
) |
|
inline |
References AddLayoutFromGlobalLayout(), and pcl::SingleLevelLayout< TInterface >::clear().
|
static |
Based on the list of target processes given by DistInfoSupplier, layouts and interfaces are generated in the given GridLayoutMap.
References ug::MultiGrid::begin(), ug::MultiGrid::clear_child_connections(), ElementDebugInfo(), ug::MultiGrid::end(), GDIST_PROFILE_FUNC, ug::DistInfoSupplier::get(), ug::DistInfoSupplier::get_debug_info(), ug::GridLayoutMap::get_layout(), ug::MultiGrid::has_children(), ug::GridLayoutMap::has_layout(), HAS_PARENT, INT_H_MASTER, INT_H_SLAVE, INT_V_MASTER, INT_V_SLAVE, ug::TargetProcInfo::interfaceState, IS_DUMMY, IS_NORMAL, IS_VMASTER, IS_VSLAVE, LG_DIST, ug::MultiGrid::num_levels(), pcl::NumProcs(), ug::TargetProcInfo::procID, pcl::ProcRank(), UG_ASSERT, and UG_DLOG.
bool ug::CreateLevelIndexLayout | ( | IndexLayout & | layoutOut, |
DoFDistribution & | dofDistr, | ||
GridLayoutMap & | layoutMap, | ||
int | keyType, | ||
int | level | ||
) |
creates the index layout for a level given a GridLayoutMap
This function creates the Index layout based on a GridLayout. All elements of the GridLayoutMap are loop on grid level and the indices attached to the grid elements are added to the interface. Since the ordering of the grid elements in the interfaces is assumed to be correct, also the ordering in the index layouts are correct.
[out] | layoutOut | the created index layout |
[in] | dofDistr | the DoF Distribution |
[in] | layoutMap | the grid layout map |
[in] | keyType | key type (e.g. slave or master) |
[in] | level | level, where layouts should be build |
References AddEntriesToLevelIndexLayout(), pcl::SingleLevelLayout< TInterface >::clear(), EDGE, FACE, ug::GridLayoutMap::get_layout(), ug::GridLayoutMap::has_layout(), ug::DoFDistributionInfoProvider::max_dofs(), VERTEX, and VOLUME.
number ug::CreateListOfElemWeights | ( | Grid::AttachmentAccessor< TElem, ug::Attachment< number > > & | aaError, |
typename DoFDistribution::traits< TElem >::const_iterator | iterBegin, | ||
const typename DoFDistribution::traits< TElem >::const_iterator | iterEnd, | ||
std::vector< double > & | etaSq | ||
) |
SmartPtr< AlgebraLayouts > ug::CreateLocalAlgebraLayouts | ( | ) |
References p, and pcl::PCD_LOCAL.
Referenced by ug::ILUTScalarPreconditioner< TAlgebra >::apply_double(), ug::AgglomeratingBase< TBase, TAlgebra >::init_mat(), ug::IExternalSolver< TAlgebra >::mat_preprocess(), ug::ILUTScalarPreconditioner< TAlgebra >::preprocess(), and ug::ILUTScalarPreconditioner< TAlgebra >::solve().
void ug::createNewFacesForExtXCrossFracs | ( | ExpandCrossFracInfo const & | ecf, |
std::vector< Face * > & | newFracFaceVec, | ||
bool & | boundAtShiftVrtEdg, | ||
SubsetHandler & | sh, | ||
Grid & | grid, | ||
Vertex *const & | crossPt, | ||
std::vector< IndexType > const & | subdomList | ||
) |
References ug::GridSubsetHandler::assign_subset(), ug::Grid::create(), ug::ISubsetHandler::get_subset_index(), ug::VertexFractureTriple< ECKENTYP, GESICHTSTYP, SENKRECHTENTYP >::getEdge(), ug::VertexFractureTriple< ECKENTYP, GESICHTSTYP, SENKRECHTENTYP >::getFace(), ug::VertexFractureTriple< ECKENTYP, GESICHTSTYP, SENKRECHTENTYP >::getNewNormal(), ug::VertexFractureTriple< ECKENTYP, GESICHTSTYP, SENKRECHTENTYP >::getNormal(), ug::FaceVertices::num_vertices(), UG_LOG, UG_THROW, and ug::FaceVertices::vertex().
Referenced by ExpandFractures2dArte().
void ug::CreateOverlap | ( | TMatrix & | matInOut | ) |
Adds coefficients and connections to create an overlapping matrix.
The overlap is realized by first adding new entries to processes with H-Master interfaces so that the full matrix can be stored with each H-Master. New entries are appended at the end of the matrix.
For the new entries a new H-Master-Overlap interface is created and for associated entries connected to H-Slave nodes a new H-Slave-Overlap interface is created.
For each H-Slave entry we make the matrix row partially consistent, so that all existing connections which connect two slave entries have the same value as the associated connection between respective masters.
H-Masters contain the full matrix row once the method is done.
Rows of H-Master-Overlap entries are DirichletRows (a_ii=1, a_ij=0 for i!=j).
The methods replaces the AlgebraLayout in matInOut with a new one which contains master_overlap and slave_overlap interfaces.
matInOut | An additive parallel square matrix without overlap. |
References GenerateGlobalAlgebraIDs(), ug::ComPol_MatCreateOverlap< TMatrix >::post_process(), and PROFILE_FUNC_GROUP.
Referenced by ug::GaussSeidelBase< TAlgebra >::preprocess(), ug::ILU< TAlgebra >::preprocess(), and ug::SequentialSubspaceCorrection< TDomain, TAlgebra >::preprocess().
void ug::CreatePlane | ( | Grid & | grid, |
const TPosition & | upLeft, | ||
const TPosition & | upRight, | ||
const TPosition & | lowLeft, | ||
const TPosition & | lowRight, | ||
Grid::VertexAttachmentAccessor< Attachment< TPosition > > &aaPos bool | fill | ||
) |
References ug::Grid::create(), CreateFace(), and fill().
|
static |
References ug::Grid::create(), ug::Grid::get_edge(), PointFaceTest(), UG_LOG, VecAdd(), and VecScale().
Referenced by LoadGridFromART().
SPProcessHierarchy ug::CreateProcessHierarchy | ( | size_t * | numElemsOnLvl, |
size_t | numLvls, | ||
size_t | minNumElemsPerProcPerLvl, | ||
size_t | maxNumRedistProcs, | ||
size_t | maxNumProcs, | ||
int | minDistLvl, | ||
int | maxLvlsWithoutRedist | ||
) |
Creates a process-hierarchy that fullfills the given conditions.
References create().
SPProcessHierarchy ug::CreateProcessHierarchy | ( | TDomain & | dom, |
size_t | minNumElemsPerProcPerLvl, | ||
size_t | maxNumRedistProcs, | ||
size_t | maxNumProcs, | ||
int | minDistLvl, | ||
int | maxLevelsWithoutRedist | ||
) |
Creates a process-hierarchy that fullfills the given conditions.
Referenced by CreateProcessHierarchy().
SPProcessHierarchy ug::CreateProcessHierarchy | ( | TDomain & | dom, |
size_t | minNumElemsPerProcPerLvl, | ||
size_t | maxNumRedistProcs, | ||
size_t | maxNumProcs, | ||
int | minDistLvl, | ||
int | maxLevelsWithoutRedist, | ||
IRefiner * | refiner | ||
) |
|
static |
References ug::Grid::begin_marking(), ug::Grid::create(), ug::Grid::end_marking(), ug::Grid::is_marked(), ug::Grid::mark(), PointFaceTest(), and UG_LOG.
Referenced by LoadGridFromART().
UG_API Quadrilateral * ug::CreateQuadrilateral | ( | Grid & | g, |
Face * | tri1, | ||
Face * | tri2 | ||
) |
Creates a new quadrilateral from the specified triangles in the specified grid.
The two triangles have to share exactly 2 vertices.
References CreateQuadrilateral_NoRegistration(), and ug::Grid::register_element().
UG_API Quadrilateral * ug::CreateQuadrilateral_NoRegistration | ( | Grid & | g, |
Face * | tri1, | ||
Face * | tri2 | ||
) |
Creates a new quadrilateral from the specified triangles but doesn't register it at the grid.
Ownership of the returned quadrilateral is transferred to the caller. The two triangles have to share exactly 2 vertices.
References GetConnectedVertex(), GetConnectingEdge(), GetVertexIndex(), ug::FaceVertices::num_vertices(), UG_COND_THROW, and ug::FaceVertices::vertex().
Referenced by CreateQuadrilateral(), and ReplaceByQuadrilateral().
void ug::CreateSCV | ( | const TElem & | elem, |
TFVGeom< TElem, TWorldDim > & | geo, | ||
ISubsetHandler & | shOut, | ||
Grid::VertexAttachmentAccessor< Attachment< MathVector< TWorldDim > > > & | aaPosOut | ||
) |
void ug::CreateSCVF | ( | const TElem & | elem, |
TFVGeom< TElem, TWorldDim > & | geo, | ||
ISubsetHandler & | shOut, | ||
Grid::VertexAttachmentAccessor< Attachment< MathVector< TWorldDim > > > & | aaPosOut | ||
) |
References ug::Grid::clear(), ug::Grid::create(), dim, ug::ISubsetHandler::grid(), and UG_THROW.
number ug::CreateSortedListOfElems | ( | Grid::AttachmentAccessor< TElem, ug::Attachment< number > > & | aaError, |
typename DoFDistribution::traits< TElem >::const_iterator | iterBegin, | ||
const typename DoFDistribution::traits< TElem >::const_iterator | iterEnd, | ||
std::vector< std::pair< double, TElem * > > & | etaSqList | ||
) |
void ug::CreateStrongConnectionGraphForSystems | ( | const matrix_type & | A, |
cgraph & | graph, | ||
double | theta | ||
) |
void ug::CreateSubControlVolumeDomain | ( | TDomain & | domOut, |
const TDomain & | domIn, | ||
const SurfaceView & | surfView, | ||
int | si = -1 |
||
) |
Creates a grid consisting of the sub-control-volume w.r.t to a given domain.
domOut | domain to be filled |
domIn | original domain |
si | subset used (-1 for whole domain) |
References UG_THROW.
void ug::CreateSubControlVolumeFaceDomain | ( | TDomain & | domOut, |
const TDomain & | domIn, | ||
const SurfaceView & | surfView, | ||
int | si = -1 |
||
) |
Creates a grid consisting of the sub-control-volume faces w.r.t to a given domain.
domOut | domain to be filled |
domIn | original domain |
si | subset used (-1 for whole domain) |
References UG_THROW.
void ug::CreateSubsetGroups | ( | std::vector< SubsetGroup > & | vSSGrp, |
SubsetGroup & | unionSSGrp, | ||
std::vector< TElemIn * > | vElemDisc, | ||
ConstSmartPtr< ISubsetHandler > | pSH | ||
) |
This function create the union of subsets on which the Element Discretizations work.
[out] | ssGrp | Union of Subsets |
[in] | vElemDisc | Vector of element discs, defined for subsets |
[in] | clearGroup | flag if group should be cleared |
References ug::SubsetGroup::add(), ug::SubsetGroup::clear(), PROFILE_FUNC_GROUP, ug::SubsetGroup::set_subset_handler(), and UG_CATCH_THROW.
Referenced by ug::DomainDiscretizationBase< TDomain, TAlgebra, TGlobAssembler >::assemble_defect(), ug::DomainDiscretizationBase< TDomain, TAlgebra, TGlobAssembler >::assemble_jacobian(), ug::DomainDiscretizationBase< TDomain, TAlgebra, TGlobAssembler >::assemble_linear(), ug::DomainDiscretizationBase< TDomain, TAlgebra, TGlobAssembler >::assemble_rhs(), ug::DomainDiscretizationBase< TDomain, TAlgebra, TGlobAssembler >::calc_error(), ug::DomainDiscretizationBase< TDomain, TAlgebra, TGlobAssembler >::finish_timestep_elem(), ug::DomainDiscretizationBase< TDomain, TAlgebra, TGlobAssembler >::init_all_exports(), ug::DomainDiscretizationBase< TDomain, TAlgebra, LSGFGlobAssembler< TDomain, TAlgebra, TExtrapolation > >::is_error_valid(), ug::DomainDiscretizationBase< TDomain, TAlgebra, TGlobAssembler >::prepare_timestep_elem(), and ug::DomainDiscretizationBase< TDomain, TAlgebra, LSGFGlobAssembler< TDomain, TAlgebra, TExtrapolation > >::update_error_items().
bool ug::CreateSurfaceIndexLayout | ( | IndexLayout & | layoutOut, |
DoFDistribution & | dofDistr, | ||
GridLayoutMap & | layoutMap, | ||
int | keyType, | ||
MultiGrid & | mg, | ||
DistributedGridManager & | dGrMgr | ||
) |
creates the index layout for a level given a GridLayoutMap
This function creates the Index layout based on a GridLayout. All elements of the GridLayoutMap are loop level by level and the indices attached to the grid elements are added to the interface, if an element does not have a children. Since the ordering of the grid elements in the interfaces is assumed to be correct, also the ordering in the index layouts are correct.
[out] | layoutOut | the created index layout |
[in] | dofDistr | the DoF Distribution |
[in] | layoutMap | the grid layout map |
[in] | keyType | key type (e.g. slave or master) |
[in] | mg | underlying MultiGrid |
[in] | dGrMgr | distributed Grid Manager |
References AddEntriesToSurfaceIndexLayout(), EDGE, FACE, ug::GridLayoutMap::get_layout(), ug::GridLayoutMap::has_layout(), ug::DoFDistributionInfoProvider::max_dofs(), VERTEX, and VOLUME.
void ug::CreateSurfaceView | ( | TSurfaceView & | surfaceViewOut, |
DistributedGridManager & | distGridMgr, | ||
MultiGridSubsetHandler & | mgsh | ||
) |
References pcl::InterfaceCommunicator< TLayout >::communicate(), FACEOPT_AUTOGENERATE_EDGES, ug::DistributedGridManager::get_assigned_grid(), ug::DistributedGridManager::grid_layout_map(), INT_H_MASTER, INT_H_SLAVE, ug::MultiGridSubsetHandler::num(), ug::ISubsetHandler::num_subsets(), ug::Grid::option_is_enabled(), pcl::InterfaceCommunicator< TLayout >::receive_data(), pcl::InterfaceCommunicator< TLayout >::send_data(), UG_LOG, VOLOPT_AUTOGENERATE_EDGES, and VOLOPT_AUTOGENERATE_FACES.
void ug::CreateSurfaceView | ( | TSurfaceView & | surfaceViewOut, |
MultiGrid & | mg, | ||
MGSubsetHandler & | mgsh | ||
) |
calls CollectSurfaceViewElements and then assigns all associated elements of lower dimension to the surface-view, too.
TSurfaceView has to be a SubsetHandler or MGSubsetHandler compatible type.
References FACEOPT_AUTOGENERATE_EDGES, ug::MultiGridSubsetHandler::num(), ug::Grid::option_is_enabled(), UG_LOG, VOLOPT_AUTOGENERATE_EDGES, and VOLOPT_AUTOGENERATE_FACES.
void ug::CreateSurfaceView | ( | TSurfaceView & | surfaceViewOut, |
MultiGrid & | mg, | ||
MGSubsetHandler & | mgsh | ||
) |
calls CollectSurfaceViewElements and then assigns all associated elements of lower dimension to the surface-view, too.
TSurfaceView has to be a SubsetHandler or MGSubsetHandler compatible type.
References FACEOPT_AUTOGENERATE_EDGES, ug::MultiGridSubsetHandler::num(), ug::Grid::option_is_enabled(), UG_LOG, VOLOPT_AUTOGENERATE_EDGES, and VOLOPT_AUTOGENERATE_FACES.
bool ug::CreateSweepLineStructs | ( | vector< SweepLineVertex > & | vrtsOut, |
SweepLineEdgeList & | edgesOut, | ||
const vector< vector2 > & | vrtsIn, | ||
const vector< int > & | edgesIn | ||
) |
For each entry in vrtsIn an entry in vrtsOut is created. However, vertices in vrtsOut are sorted from top to bottom. Each vertex in vrtsOut references all edges in edgesOut, to which it is connected. Directions of edges in edgesOut are CCW, but only if sorting was possible (this is always the case for the outer rim).
References CalculateRightBendVal(), cmp_slv(), ug::SweepLineVertex::connections, ug::SweepLineEdge::get_connected(), ug::SweepLineVertex::isRimVertex, ug::SweepLineVertex::m_status, ug::SweepLineEdge::m_status, ug::SweepLineEdge::m_v1, ug::SweepLineEdge::m_v2, SLES_RIM, SLVS_END, SLVS_MERGE, SLVS_NONE, SLVS_REGULAR, SLVS_SPLIT, SLVS_START, UG_LOG, and ug::SweepLineVertex::vrtPtr.
Referenced by TriangleFill_SweepLine().
|
static |
References ug::Grid::begin_marking(), ug::Grid::create(), ug::Grid::end_marking(), ug::Grid::is_marked(), ug::Grid::mark(), PointFaceTest(), and UG_LOG.
Referenced by LoadGridFromART().
void ug::CreateTKD | ( | const TKDInfo & | tkdInfo, |
Grid & | g, | ||
APosition3 & | aPos, | ||
Volume ** | volsOut = NULL |
||
) |
Creates a tkd mesh based on the given tkdInfo object.
volsOut | (optional) Array of size TKDInfo::NUM_INNER_ELEMENTS Created volumes are written to this array, if specified. |
References CreateTKDVertices(), CreateVolumesFromElementIndexList(), and ug::TKDInfo::inner_element_indices().
void ug::CreateTKDVertices | ( | const TKDInfo & | tkdInfo, |
Grid & | g, | ||
APosition3 & | aPos, | ||
Vertex ** | vrtsOut = NULL |
||
) |
Creates a set of TKD vertices (inner and outer). This method is typically only used internally.
vrtsOut | (optional) Array of size TKDInfo::NUM_COORDS |
References ug::TKDInfo::coords(), ug::Grid::create(), and ug::TKDInfo::num_coords().
Referenced by CreateTKD(), and CreateTKDWithOuterLayer().
void ug::CreateTKDWithOuterLayer | ( | const TKDInfo & | tkdInfo, |
Grid & | g, | ||
APosition3 & | aPos, | ||
Volume ** | volsOut = NULL |
||
) |
Creates a tkd mesh with a surrounding layer based on the given tkdInfo object.
volsOut | (optional) Array of size TKDInfo::NUM_ELEMENTS. Created volumes are written to this array, if specified. The first TKDInfo::NUM_INNER_VERTICES volumes are inner volumes, the rest ar outer volumes. |
References CreateTKDVertices(), CreateVolumesFromElementIndexList(), ug::TKDInfo::inner_element_indices(), and ug::TKDInfo::outer_element_indices().
void ug::CreateUnionOfFunctionGroups | ( | FunctionGroup & | fctGrp, |
const vector< const FunctionGroup * > & | vFctGrp, | ||
bool | sortFct | ||
) |
This function create the union of function groups. Container is clear at beginning.
[out] | fctGrp | Union of Functions |
[in] | vFctGrp | Vector of function group (may contain NULL) |
[in] | sortFct | flag if group should be sorted after adding |
References ug::FunctionGroup::add(), ug::FunctionGroup::clear(), ConstSmartPtr< T, FreePolicy >::invalid(), ug::FunctionGroup::set_function_pattern(), ug::FunctionGroup::sort(), UG_CATCH_THROW, and UG_THROW.
Referenced by ug::StdDataLinker< TImpl, TData, dim >::set_function_pattern().
void ug::CreateUnionOfFunctionGroups | ( | FunctionGroup & | fctGrp, |
const vector< const FunctionGroup * > & | vFctGrp, | ||
bool | sortFct | ||
) |
This function create the union of function groups. Container is clear at beginning.
[out] | fctGrp | Union of Functions |
[in] | vFctGrp | Vector of function group (may contain NULL) |
[in] | sortFct | flag if group should be sorted after adding |
References ug::FunctionGroup::add(), ug::FunctionGroup::clear(), ConstSmartPtr< T, FreePolicy >::invalid(), ug::FunctionGroup::set_function_pattern(), ug::FunctionGroup::sort(), UG_CATCH_THROW, and UG_THROW.
Referenced by ug::StdDataLinker< TImpl, TData, dim >::set_function_pattern().
Vertex* ug::CreateVertex | ( | Grid & | grid, |
const TPosition & | pos, | ||
Grid::VertexAttachmentAccessor< Attachment< TPosition > > & | aaPos | ||
) |
To Create GridObject directly under UG4-C++ instead of ProMesh
References ug::Grid::create().
References ug::Grid::create(), ug::Grid::get_volume(), ug::VolumeDescriptor::set_vertex(), UG_ASSERT, and UG_LOG.
|
static |
volsOut | (optional) Array of size numElements. |
References ug::Grid::create(), ug::VolumeDescriptor::set_num_vertices(), ug::VolumeDescriptor::set_vertex(), and UG_THROW.
Referenced by CreateTKD(), and CreateTKDWithOuterLayer().
T ug::CUDA_GetElementFromDevice | ( | T * | p, |
size_t | i = 0 |
||
) |
References p.
|
inline |
References CUDAError(), s, and UG_COND_THROW.
|
inline |
References CUDA_CHECK_SUCCESS, DID_CUDA, and UG_DLOG.
Referenced by ug::GPUVector< TValueType >::assure_on_gpu(), and CudaCreateAndCopyToDevice().
|
inline |
References CUDA_CHECK_SUCCESS, DID_CUDA, and UG_DLOG.
Referenced by ug::GPUVector< TValueType >::assure_on_cpu().
|
inline |
References CUDA_CHECK_SUCCESS, CudaCpyToDevice(), DID_CUDA, and UG_DLOG.
Referenced by ug::GPUVector< TValueType >::assure_on_gpu(), and ug::GPUSparseMatrix< TValueType >::copy_to_device().
const char * ug::CUDAError | ( | int | err | ) |
Referenced by CudaCheckStatus(), and MyCudaAlloc().
std::string ug::cutString | ( | double | d, |
size_t | width | ||
) |
References s, and scientificStr().
Referenced by DistributionPercentage().
|
inline |
Referenced by checksub(), Decomp(), LUDecomp(), and LUDecompIKJ().
ug::DECLARE_ATTACHMENT_INFO_TRAITS | ( | Attachment< bool > | , |
"bool" | |||
) |
ug::DECLARE_ATTACHMENT_INFO_TRAITS | ( | Attachment< byte > | , |
"byte" | |||
) |
ug::DECLARE_ATTACHMENT_INFO_TRAITS | ( | Attachment< char > | , |
"char" | |||
) |
ug::DECLARE_ATTACHMENT_INFO_TRAITS | ( | Attachment< double > | , |
"double" | |||
) |
ug::DECLARE_ATTACHMENT_INFO_TRAITS | ( | Attachment< float > | , |
"float" | |||
) |
ug::DECLARE_ATTACHMENT_INFO_TRAITS | ( | Attachment< int > | , |
"int" | |||
) |
ug::DECLARE_ATTACHMENT_INFO_TRAITS | ( | Attachment< NeuriteProjector::Mapping > | , |
"Mapping" | |||
) |
ug::DECLARE_ATTACHMENT_INFO_TRAITS | ( | Attachment< NeuriteProjector::SurfaceParams > | , |
"NeuriteProjectorSurfaceParams" | |||
) |
ug::DECLARE_ATTACHMENT_INFO_TRAITS | ( | Attachment< uint > | , |
"uint" | |||
) |
ug::DECLARE_ATTACHMENT_INFO_TRAITS | ( | Attachment< vector1 > | , |
"vector1" | |||
) |
ug::DECLARE_ATTACHMENT_INFO_TRAITS | ( | Attachment< vector2 > | , |
"vector2" | |||
) |
ug::DECLARE_ATTACHMENT_INFO_TRAITS | ( | Attachment< vector3 > | , |
"vector3" | |||
) |
ug::DECLARE_ATTACHMENT_INFO_TRAITS | ( | Attachment< vector4 > | , |
"vector4" | |||
) |
bool ug::Decomp | ( | DenseMatrix< VariableArray2< double > > & | A, |
DenseVector< VariableArray1< double > > & | rhs, | ||
size_t & | iNonNullRows, | ||
double | deficitTolerance | ||
) |
bool ug::Decomp | ( | DenseMatrix< VariableArray2< double > > & | A, |
DenseVector< VariableArray1< double > > & | rhs, | ||
size_t & | iNonNullRows, | ||
std::vector< size_t > & | xinterchange, | ||
double | deficitTolerance | ||
) |
References dabs().
Referenced by SolveDeficit().
|
static |
Referenced by QualityGridGeneration().
|
static |
References RayPlaneIntersection(), VecCross(), VecDistanceSq(), VecLengthSq(), VecNormalize(), and VecSubtract().
Referenced by QualityGridGeneration().
std::string ug::demangle | ( | const char * | str | ) |
demangles C++ function and class names Works only in POSIX, otherwise returns str
str | mangled string, containing stuff e.g. 3barI5emptyLi17EE |
Referenced by TypeName().
std::string ug::demangle_block | ( | const char * | str | ) |
demangles C++ function names like _ZZ12ug_backtracev = ug_backtrace(). also demangles them when a lot of them appear "in between". make sure they are seperated by ' ', '
' or '\t' and start with _, like they do in backtrace_symbols. Works only in POSIX, otherwise returns str
str | mangled strings, e.g. _ZZ12ug_backtracev |
Referenced by get_gcc_backtrace().
template void ug::DeselectBoundarySelectionEdges< MGSelector > | ( | MGSelector & | ) |
template void ug::DeselectBoundarySelectionEdges< Selector > | ( | Selector & | ) |
template void ug::DeselectBoundarySelectionFaces< MGSelector > | ( | MGSelector & | ) |
template void ug::DeselectBoundarySelectionFaces< Selector > | ( | Selector & | ) |
template void ug::DeselectBoundarySelectionVertices< MGSelector > | ( | MGSelector & | ) |
template void ug::DeselectBoundarySelectionVertices< Selector > | ( | Selector & | ) |
|
static |
References ug::GridObject::base_object_id(), DeselectFamily(), EDGE, FACE, VERTEX, and VOLUME.
References ug::ISelector::deselect(), ug::MultiGrid::get_child(), and ug::MultiGrid::num_children().
Referenced by ug::HangingNodeRefiner_MultiGrid::collect_objects_for_coarsen(), and DeselectFamily().
|
inline |
References BlockDeserialize().
|
inline |
|
inline |
References Deserialize(), and s.
void ug::Deserialize | ( | TIStream & | buf, |
IndexLayout & | layout | ||
) |
References Deserialize(), and pcl::SingleLevelLayout< TInterface >::interface().
void ug::Deserialize | ( | TIStream & | buf, |
IndexLayout::Interface & | interface | ||
) |
References Deserialize(), and s.
void ug::Deserialize | ( | TIStream & | buf, |
ParallelVector< T > & | v | ||
) |
Deerialize for ParallelVector<T>
References ug::ParallelVector< TVector >::set_storage_type().
Referenced by AddConnectionsBetweenSlaves(), AllGatherGrid(), pcl::ProcessCommunicator::broadcast(), ug::IDomain< TGrid, TSubsetHandler >::broadcast_refinement_projector(), BroadcastGrid(), Deserialize(), ug::IDomain< TGrid, TSubsetHandler >::deserialize_projector(), DeserializeAndAddGlobalInterface(), DeserializeAndAddGlobalLayout(), DeserializeInterface(), DeserializeLayout(), DeserializeMatrix(), DeserializeMultiGridElements(), DeserializeParallelData(), DeserializeProjector(), DeserializeRow(), DeserializeSubsetHandler(), ug::ComPol_VecCopy< TVector >::extract(), ug::ComPol_VecScaleCopy< TVector >::extract(), ug::ComPol_VecAdd< TVector >::extract(), ug::ComPol_VecScaleAdd< TVector >::extract(), ug::ComPol_VecAddSetZero< TVector >::extract(), ug::ComPol_VecSubtract< TVector >::extract(), ug::ComPol_CheckConsistency< TVector >::extract(), ug::ComPol_VecSubtractOnlyOneSlave< TVector >::extract(), ug::ComPol_MatDistributeDiag< TAlgebra >::extract(), ug::ComPol_MatAddRowsOverlap0< TMatrix >::extract(), ug::ComPol_MatCopyRowsOverlap0< TMatrix >::extract(), ug::ComPol_MatAddSetZeroInnerInterfaceCouplings< TMatrix >::extract(), ug::CommunicationScheme< TDerived, TValue >::extract(), ug::CommunicationScheme< TDerived, bool >::extract(), ug::ComPol_MatCopyDiag< TMatrix >::extract(), ug::ComPol_MatCreateOverlap< TMatrix >::extract(), ug::ComPol_CheckDistributedParentStates< TLayout >::extract(), ug::ComPol_NewConstrainedVerticals< TLayout >::extract(), ug::ComPol_CopyAttachment< TLayout, TAttachment >::extract(), ug::ComPol_GatherVecAttachment< TLayout, TAttachment >::extract(), ug::ComPol_SynchronizeDistInfos< TLayout >::extract(), ug::ComPol_AttachmentReduce< TLayout, TAttachment >::extract_band(), ug::ComPol_AttachmentReduce< TLayout, TAttachment >::extract_bor(), ug::ComPol_AttachmentReduce< TLayout, TAttachment >::extract_land(), ug::ComPol_AttachmentReduce< TLayout, TAttachment >::extract_lor(), ug::ComPol_AttachmentReduce< TLayout, TAttachment >::extract_max(), ug::ComPol_AttachmentReduce< TLayout, TAttachment >::extract_min(), ug::ComPol_AttachmentReduce< TLayout, TAttachment >::extract_prod(), ug::ComPol_AttachmentReduce< TLayout, TAttachment >::extract_sum(), GatherGrid(), GetFileLinesParallel(), pcl::MinimalKeyValuePairAcrossAllProcs(), pcl::ParallelReadFile(), ug::ComPol_MatCreateOverlap< TMatrix >::post_process(), ug::NewLayoutCreator::process(), ug::ParallelNodes::process(), ug::RowSendingScheme< matrix_type >::process(), ug::GeomObjAttachmentSerializer< TGeomObj, TAttachment >::read_data(), ug::SubsetHandlerSerializer::read_data(), ug::SubsetHandlerSerializer::read_info(), ReadFromFile(), ReceiveMatrix(), pcl::TestLayoutIsDoubleEnded(), pcl::TestSizeOfInterfacesInLayoutsMatch(), and ug::IDomain< TGrid, TSubsetHandler >::update_subset_infos().
void ug::Deserialize | ( | TIStream & | buf, |
pcl::InterfaceCommunicator< IndexLayout > & | ic | ||
) |
void ug::Deserialize | ( | TIStream & | buf, |
pcl::ProcessCommunicator & | ic | ||
) |
void ug::Deserialize | ( | TIStream & | buf, |
Vector< TValueType > & | v | ||
) |
References Deserialize(), ug::Vector< TValueType >::resize(), and s.
void ug::DeserializeAndAddGlobalInterface | ( | BinaryBuffer & | stream, |
std::vector< AlgebraID > & | interface | ||
) |
References Deserialize(), and PROFILE_FUNC_GROUP.
Referenced by DeserializeAndAddGlobalLayout().
void ug::DeserializeAndAddGlobalLayout | ( | BinaryBuffer & | stream, |
GlobalLayout & | globalLayout | ||
) |
References Deserialize(), DeserializeAndAddGlobalInterface(), and PROFILE_FUNC_GROUP.
Referenced by ReceiveGlobalLayout().
void ug::DeserializeInterface | ( | BinaryBuffer & | stream, |
IndexLayout::Interface & | interface, | ||
const TGlobalToLocal & | globalToLocal | ||
) |
References Deserialize(), and pcl::OrderedInterface< TType, TContainer, TAlloc >::push_back().
Referenced by DeserializeLayout().
void ug::DeserializeLayout | ( | BinaryBuffer & | stream, |
IndexLayout & | layout, | ||
const TGlobalToLocal & | globalToLocal | ||
) |
void ug::DeserializeParallelData | ( | TIStream & | buf, |
T & | t, | ||
IndexLayout & | masterLayout, | ||
IndexLayout & | slaveLayout, | ||
pcl::InterfaceCommunicator< IndexLayout > & | ic, | ||
pcl::ProcessCommunicator & | pc | ||
) |
References Deserialize().
void ug::DeserializeProjectionHandler | ( | BinaryBuffer & | in, |
ProjectionHandler & | ph | ||
) |
SPRefinementProjector ug::DeserializeProjector | ( | BinaryBuffer & | in | ) |
References ug::Factory< TBase, TPairSeq >::create(), Deserialize(), and name.
Referenced by DeserializeProjectionHandler().
size_t ug::DeserializeRow | ( | BinaryBuffer & | stream, |
stdvector< TConnectionType > & | cons, | ||
ParallelNodes & | PN | ||
) |
References Deserialize(), ug::ParallelNodes::global_to_local(), LIB_ALG_AMG, num_connections(), PROFILE_FUNC_GROUP, and UG_DLOG.
Referenced by ReceiveMatrix().
void ug::DeserializeUniquePart | ( | TIStream & | buf, |
ParallelMatrix< T > & | A | ||
) |
void ug::DeserializeUniquePart | ( | TIStream & | buf, |
ParallelVector< TValueType > & | v | ||
) |
|
inline |
|
inline |
bool ug::determineOrderOfFaces | ( | VecVertFracTrip const & | vecVertFracTrip, |
VecFace const & | assoFaces, | ||
VecVertexOfFaceInfo & | orderedFaces, | ||
SegmentsFractExtrus & | segments, | ||
IndexType | startIndex, | ||
std::vector< Edge * > const & | allAssoEdges, | ||
SubsetHandler & | sh, | ||
Grid::EdgeAttachmentAccessor< ABool > const & | aaMarkEdgeB, | ||
std::vector< Edge * > const & | adjBndEdgs = std::vector<Edge* >() , |
||
Face *const & | attFaceOf1stBndEdg = nullptr |
||
) |
References ug::GridSubsetHandler::assign_subset(), FaceContains(), ug::VertexFractureTriple< ECKENTYP, GESICHTSTYP, SENKRECHTENTYP >::getEdge(), ug::VertexFractureTriple< ECKENTYP, GESICHTSTYP, SENKRECHTENTYP >::getFace(), ug::VertexFractureTriple< ECKENTYP, GESICHTSTYP, SENKRECHTENTYP >::getNormal(), ug::ISubsetHandler::num_subsets(), UG_LOG, and UG_THROW.
Referenced by ExpandFractures2dArte().
void ug::dgetrf_ | ( | lapack_int * | m, |
lapack_int * | n, | ||
lapack_double * | pColMajorMatrix, | ||
lapack_int * | lda, | ||
lapack_int * | ipiv, | ||
lapack_int * | info | ||
) |
Referenced by getrf().
void ug::dgetri_ | ( | lapack_int * | n, |
lapack_double * | pColMajorMatrix, | ||
lapack_int * | lda, | ||
const lapack_int * | ipiv, | ||
lapack_double * | pWork, | ||
lapack_int * | worksize, | ||
lapack_int * | info | ||
) |
Referenced by getri().
void ug::dgetrs_ | ( | char * | trans, |
lapack_int * | n, | ||
lapack_int * | nrhs, | ||
const lapack_double * | pColMajorMatrix, | ||
lapack_int * | lda, | ||
const lapack_int * | ipiv, | ||
lapack_double * | b, | ||
lapack_int * | ldb, | ||
lapack_int * | info | ||
) |
Referenced by getrs().
bool ug::diag_step | ( | const Matrix_type & | A, |
Vector_type & | x, | ||
const Vector_type & | b, | ||
number | damp | ||
) |
Performs a jacobi-step.
A | Matrix \(A = D - L - R\) |
x | will be \(x = D^{-1} b \) |
b | the vector b. |
damp | the damping factor |
References InverseMatMult(), and UG_ASSERT.
bool ug::Diag_Vanka_step | ( | const Matrix_type & | A, |
Vector_type & | x, | ||
const Vector_type & | b, | ||
number | relax | ||
) |
References InverseMatMult(), MatMultAdd(), MAXBLOCKSIZE, s, and UG_THROW.
Referenced by ug::DiagVanka< TAlgebra >::step().
DebugID ug::DID_REFERENCE_MAPPING | ( | "REFERENCE_MAPPING" | ) |
DebugID ug::DID_REFERENCE_MAPPING_GLOB_TO_LOC | ( | "REFERENCE_MAPPING_GLOB_TO_LOC" | ) |
int ug::DimensionOfSubset | ( | const ISubsetHandler & | sh, |
int | si | ||
) |
returns the current dimension of the subset
Returns the dimension of geometric objects, that are contained in the subset.
This function returns the dimension of the subset. The dimension is simply defined to be the highest reference dimension of all geometric objects contained in the subset If a InterfaceCommunicator is passed, the highest dimension within all procs in the ProcessCommunicator is returned.
[in] | sh | ISubsetHandler |
[in] | si | Subset Index |
References ug::SubsetInfo::get_property(), ug::ISubsetHandler::subset_info(), ug::Variant::to_int(), and UG_CATCH_THROW.
Referenced by ug::ActiveSet< TDomain, TAlgebra >::active_index(), ug::ObstacleInNormalDir< TDomain, TAlgebra >::adjust_sol_and_cor(), ug::DomainDiscretizationBase< TDomain, TAlgebra, TGlobAssembler >::assemble_defect(), ug::DomainDiscretizationBase< TDomain, TAlgebra, TGlobAssembler >::assemble_jacobian(), ug::DomainDiscretizationBase< TDomain, TAlgebra, TGlobAssembler >::assemble_linear(), ug::DomainDiscretizationBase< TDomain, TAlgebra, TGlobAssembler >::assemble_rhs(), ug::DomainDiscretizationBase< TDomain, TAlgebra, TGlobAssembler >::calc_error(), ug::ActiveSet< TDomain, TAlgebra >::check_conv(), ug::DegeneratedLayerManager< dim >::close(), CreateGridOfControlVolumes(), CreateGridOfSubControlVolumeFaces(), CreateGridOfSubControlVolumes(), ug::SubsetGroup::dim(), ug::FunctionPattern::dim_subset(), DimensionOfSubsets(), ug::DomainDiscretizationBase< TDomain, TAlgebra, TGlobAssembler >::finish_timestep_elem(), ug::DomainDiscretizationBase< TDomain, TAlgebra, TGlobAssembler >::init_all_exports(), ug::ActiveSet< TDomain, TAlgebra >::lagrange_mat_inv(), ug::DegeneratedLayerManager< dim >::mark_vertices(), ug::DomainDiscretizationBase< TDomain, TAlgebra, TGlobAssembler >::prepare_timestep_elem(), ug::VTKOutput< TDim >::print_subset(), and ug::VTKOutput< TDim >::print_subsets().
int ug::DimensionOfSubsets | ( | const ISubsetHandler & | sh | ) |
Returns the dimension of geometric objects, that are contained in the subset handler.
This function returns the dimension of the subsets. The dimension is simply defined to be the highest reference dimension of all geometric objects contained the union of all subset If a InterfaceCommunicator is passed, the highest dimension within all procs in the ProcessCommunicator is returned.
[in] | sh | ISubsetHandler |
References dim, DIM_SUBSET_EMPTY_GRID, DimensionOfSubset(), and ug::ISubsetHandler::num_subsets().
Referenced by ug::IApproximationSpace::add(), ug::FunctionPattern::add(), ug::GridPointsOrdering< TDomain, TAlgebra >::create_vtkoutput_ordering(), and ug::VTKOutput< TDim >::print().
void ug::DisplayVacantMemory | ( | ) |
Displays information about memory which has not been freed (yet).
References bMemTracker, EnableMemTracker(), GetBytesSizeString(), memTracker, s, and UG_LOG.
|
inline |
References ProjectPointToRay(), and VecDistance().
|
static |
distributes a already distributed domain onto the specified processes
|
static |
References ug::GridDataSerializationHandler::add(), ug::PartitionMap::assign_grid(), ug::GeomObjAttachmentSerializer< TGeomObj, TAttachment >::create(), ug::SubsetHandlerSerializer::create(), DistributeGrid(), SmartPtr< T, FreePolicy >::get(), ug::PartitionMap::get_partition_handler(), ug::PartitionMap::get_target_proc_vec(), ug::ISubsetHandler::grid(), PCL_PROFILE, PCL_PROFILE_END, PROFILE_FUNC_GROUP, and SmartPtr< T, FreePolicy >::valid().
|
static |
Selects all involved geometic objects and assigns marks to them. If required, som edges may be split, so that we always operate on a fully expandable fracture.
Make sure that selection_inheritance is enabled and that strict_inheritance is disabled in sel.
References aPosition, ug::Grid::associated_edges_begin(), ug::Grid::associated_edges_end(), ug::Grid::associated_faces_begin(), ug::Grid::associated_faces_end(), ug::Grid::associated_volumes_begin(), ug::Grid::associated_volumes_end(), ug::Selector::begin(), ug::GridSubsetHandler::begin(), CalculateCenter(), CollectAssociated(), CollectEdges(), ug::Selector::edges_begin(), ug::Selector::edges_end(), ug::Selector::end(), ug::GridSubsetHandler::end(), ug::ISelector::is_selected(), IsBoundaryEdge3D(), IsBoundaryVertex3D(), ug::FaceVertices::num_vertices(), ug::ISelector::select(), ug::EdgeVertices::vertex(), ug::FaceVertices::vertex(), ug::Selector::vertices_begin(), and ug::Selector::vertices_end().
Referenced by ExpandFractures3d().
bool ug::DistributeGrid | ( | MultiGrid & | mg, |
SubsetHandler & | shPartition, | ||
GridDataSerializationHandler & | serializer, | ||
bool | createVerticalInterfaces, | ||
const std::vector< int > * | processMap = NULL , |
||
const pcl::ProcessCommunicator & | procComm = pcl::ProcessCommunicator() |
||
) |
distributes/redistributes parts of possibly distributed grids.
This method is still in development... Use with care!
Note that the method assumes that all data serialized and deserialized is stored in a consistent manner - i.e. that all slaves hold the same values as their associated masters.
The method only considers the partition defined on the elements of highest dimension of the given grid. Elements of lower dimension are simply sent alongside those highest dimensional elements.
The method posts the following messages to the message hub of the specified grid:
procMap | is by default NULL and thus ignored. If you specify it make sure to specify a pointer to an array with size shPartition.num_subsets(). All values in the array have to be in the range [0, pcl:NumProcs()[. The procMap associates a process rank with each subset index. |
References ug::GridDataSerializationHandler::add(), aGeomObjID, ug::Grid::attach_to_all(), ug::GridLayoutMap::clear(), ug::MGSelector::clear(), ug::Grid::clear_geometry(), pcl::CommunicateInvolvedProcesses(), ug::GridDataSerializationHandler::deserialization_done(), ug::GridDataSerializationHandler::deserialization_starts(), ug::GridDataSerializationHandler::deserialize(), DeserializeMultiGridElements(), ug::Grid::detach_from_all(), ug::DistInfoSupplier::dist_info_attachment(), pcl::ProcessCommunicator::distribute_data(), ug::Grid::distributed_grid_manager(), ug::DistributedGridManager::enable_interface_management(), EraseSelectedObjects(), FillDistInfos(), GDIST_PROFILE, GDIST_PROFILE_END, GDIST_PROFILE_END_, GDIST_PROFILE_FUNC, ug::MGSelector::get_grid_objects(), GetDataPtr(), GMCT_CREATION_STARTS, GMCT_CREATION_STOPS, GMDT_DISTRIBUTION_STARTS, GMDT_DISTRIBUTION_STOPS, ug::DistributedGridManager::grid_layout_map(), ug::DistributedGridManager::grid_layouts_changed(), InvertSelection(), IS_DUMMY, ug::Grid::is_parallel(), LG_DIST, ug::Grid::message_hub(), ug::ISubsetHandler::num_subsets(), PCL_DEBUG_BARRIER, pcl::ProcRank(), ug::BinaryBuffer::read(), ug::GridDataSerializationHandler::read_infos(), ug::GridLayoutMap::remove_empty_interfaces(), SelectElementsForTargetPartition(), ug::GridDataSerializationHandler::serialize(), SerializeMultiGridElements(), SynchronizeAttachedGlobalAttachments(), UG_DLOG, UG_LOG, UG_STATIC_ASSERT, UG_THROW, ug::BinaryBuffer::write(), and ug::GridDataSerializationHandler::write_infos().
Referenced by DistributeDomain(), and ug::LoadBalancer::rebalance().
std::string ug::DistributionPercentage | ( | std::vector< double > | values | ) |
References cutString().
Referenced by checksub().
bool ug::DoFPosition | ( | std::vector< MathVector< dim > > & | vPos, |
const ReferenceObjectID | roid, | ||
const std::vector< MathVector< dim > > & | vCornerCoord, | ||
const LFEID & | lfeID | ||
) |
�
Returns the global DoF position on an element.
References EDGE, FACE, ReferenceElementDimension(), UG_THROW, VERTEX, and VOLUME.
Referenced by CheckDoFElem(), ug::StdLagrangeElemTransfer< TDomain >::do_restrict(), and ProlongateElemwise().
bool ug::DoFPosition | ( | std::vector< MathVector< TDomain::dim > > & | vPos, |
GridObject * | elem, | ||
const TDomain & | domain, | ||
const LFEID & | lfeID | ||
) |
�
Returns the global DoF position on an element.
References ug::GridObject::base_object_id(), CollectCornerCoordinates(), EDGE, FACE, ug::GridObject::reference_object_id(), UG_THROW, VERTEX, and VOLUME.
bool ug::DoFPositionElem | ( | std::vector< MathVector< dim > > & | vPos, |
const ReferenceObjectID | roid, | ||
const std::vector< MathVector< dim > > & | vVertPos, | ||
const LFEID & | lfeID | ||
) |
bool ug::DoFPositionVertex | ( | std::vector< MathVector< dim > > & | vPos, |
const ReferenceObjectID | roid, | ||
const std::vector< MathVector< dim > > & | vVertPos, | ||
const LFEID & | lfeID | ||
) |
|
inline |
References BlockRef().
|
inline |
References BlockRef().
|
inline |
References BlockRef().
Referenced by ug::GridFunctionComponentSpace< TGridFunction >::add_distance_values(), ug::GridFunctionComponentSpace< TGridFunction >::add_norm_values(), AddFunctionValuesToGridCoordinatesP1(), ug::DirichletBoundary< TDomain, TAlgebra >::adjust_error(), ug::DirichletBoundary< TDomain, TAlgebra >::adjust_prolongation(), ug::DirichletBoundary< TDomain, TAlgebra >::adjust_restriction(), ug::DirichletBoundary< TDomain, TAlgebra >::adjust_rhs(), ug::ComponentGaussSeidel< TDomain, TAlgebra >::apply_blocks(), ug::ComponentGaussSeidel< TDomain, TAlgebra >::apply_blocks_weighted(), ug::StdTransfer< TDomain, TAlgebra >::assemble_prolongation(), ug::StdTransfer< TDomain, TAlgebra >::assemble_prolongation_p1(), ug::StdTransfer< TDomain, TAlgebra >::assemble_restriction(), AverageFunctionDifference(), CheckGFforNaN(), CheckGFValuesWithinBounds(), ComputeGradientCrouzeixRaviart(), ComputeGradientLagrange1(), ComputeGradientPiecewiseConstant(), ug::AdaptionSurfaceGridFunction< TDomain >::copy_from_surface(), ug::AdaptionSurfaceGridFunction< TDomain >::copy_to_surface(), ug::GridFunctionVectorData< TGridFunction >::eval_and_deriv(), ug::GridFunctionGradientData< TGridFunction >::eval_and_deriv(), ug::GridFunctionNumberData< TGridFunction >::eval_and_deriv(), ug::GridFunctionGradientComponentData< TGridFunction >::eval_and_deriv(), ug::VectorProxy< TVector >::evaluate(), ug::GradientEvaluator_LagrangeP1< TFunction >::evaluate(), ug::GlobalGridFunctionGradientData< TGridFunction >::evaluate(), ug::ExplicitGridFunctionVector< TGridFunction >::evaluate(), ug::ExplicitGridFunctionGradient< TGridFunction >::evaluate(), ug::GlobalGridFunctionNumberData< TGridFunction, elemDim >::evaluate(), ug::ExplicitGridFunctionValue< TGridFunction >::evaluate(), ug::L2DistIntegrand< TGridFunction >::evaluate(), ug::H1SemiDistIntegrand< TGridFunction >::evaluate(), ug::H1EnergyDistIntegrand< TGridFunction >::evaluate(), ug::H1DistIntegrand< TGridFunction >::evaluate(), ug::MaximumDistIntegrand< TGridFunction >::evaluate(), ug::L2ErrorIntegrand< TGridFunction >::evaluate(), ug::H1ErrorIntegrand< TGridFunction >::evaluate(), ug::L2Integrand< TGridFunction >::evaluate(), ug::H1SemiIntegrand< TGridFunction >::evaluate(), ug::H1EnergyIntegrand< TGridFunction >::evaluate(), ug::H1NormIntegrand< TGridFunction >::evaluate(), ug::StdFuncIntegrand< TGridFunction >::evaluate(), ug::bridge::Evaluate::EvaluateAtVertex(), ug::ComponentGaussSeidel< TDomain, TAlgebra >::extract_blocks(), ug::LocalDoFSubspace< TDomain, TAlgebra, TObject >::extract_matrix(), ug::LocalDoFSubspace< TDomain, TAlgebra, TObject >::extract_rhs(), ug::GridFunctionOrdering< TDomain, TAlgebra >::GridFunctionOrdering(), ug::GridPointsOrdering< TDomain, TAlgebra >::GridPointsOrdering(), IntegrateDiscFlux(), IntegrateNormalComponentOnManifold(), IntegrateNormalGradientOnManifold(), interpolate_from_original_fct(), InterpolateOnDiffElements(), InterpolateOnDiffVertices(), InterpolateOnElementsInner(), MarkOutOfRangeElems(), MaxErrorOnElements(), MaxErrorOnVertices(), ug::CompositeConvCheck< TVector, TDomain >::norm(), ug::GridFunctionVectorData< TGridFunction >::operator()(), ug::GridFunctionNumberData< TGridFunction >::operator()(), ProlongateElemwise(), ug::ActiveSet< TDomain, TAlgebra >::residual_lagrange_mult(), RestrictElemwise(), ScaleGFOnElems(), ug::AssemblingTuner< TAlgebra >::set_dirichlet_val(), ug::SortedGridFunctionOrdering< TDomain, TAlgebra >::SortedGridFunctionOrdering(), SplitAddRow_Symmetric(), StdFuncIntegralOnVertex(), SubtractValueFromComponent(), SumGFValuesAt(), ug::IProjGaussSeidel< TDomain, TAlgebra >::truncateVec(), ug::LocalDoFSubspace< TDomain, TAlgebra, TObject >::update_solution(), ug::VTKOutput< TDim >::write_cell_values_elementwise(), and ug::VTKOutput< TDim >::write_nodal_values_elementwise().
References BlockRef().
TTo& ug::DownCast | ( | const TTo & | pfrom, |
const TFrom & | p | ||
) |
References p, TypeName(), and UG_ASSERT.
TTo& ug::DownCast | ( | const TTo & | pfrom, |
TFrom & | p | ||
) |
References p, TypeName(), and UG_ASSERT.
bool ug::Duplicate | ( | Grid & | grid, |
Selector & | sel, | ||
const typename TAPos::ValueType & | offset, | ||
TAPos & | aPos, | ||
bool | deselectOld = true , |
||
bool | selectNew = true |
||
) |
Duplicates the selected part of a grid and translates it by an offset.
NOTE: This method is not suited for MultiGrids. Duplicates all selected elements and associated lower dimensional elements. New vertices are shifted by the given offset. You may specify whether the old selection shall be cleared and whether the new elements shall be selected. Note that this overrules the settings regarding autoselection and selection-inheritance in the given selector.
References ug::Grid::attach_to_vertices(), ug::ISelector::autoselection_enabled(), ug::Selector::clear(), ug::Grid::create_by_cloning(), ug::Selector::edges_begin(), ug::Selector::edges_end(), ug::ISelector::enable_autoselection(), ug::ISelector::enable_selection_inheritance(), ug::Selector::faces_begin(), ug::Selector::faces_end(), ug::Grid::has_vertex_attachment(), ug::Selector::num(), ug::FaceVertices::num_vertices(), ug::FaceDescriptor::num_vertices(), ug::VolumeVertices::num_vertices(), ug::VolumeDescriptor::num_vertices(), SelectAssociatedGridObjects(), ug::ISelector::selection_inheritance_enabled(), ug::FaceDescriptor::set_num_vertices(), ug::VolumeDescriptor::set_num_vertices(), ug::FaceDescriptor::set_vertex(), ug::VolumeDescriptor::set_vertex(), UG_LOG, VecAdd(), ug::EdgeVertices::vertex(), ug::FaceVertices::vertex(), ug::VolumeVertices::vertex(), ug::Selector::vertices_begin(), ug::Selector::vertices_end(), ug::Selector::volumes_begin(), and ug::Selector::volumes_end().
bool ug::EdgeExists | ( | SweepLineVertex * | v0, |
SweepLineVertex * | v1 | ||
) |
References ug::SweepLineVertex::connections.
UG_API bool ug::EdgeOrientationMatches | ( | EdgeVertices * | ev, |
Face * | f | ||
) |
checks if the edge-orientation of the edge and the face matches.
the match is positive if the face contains the vertices of 'ev' in the same order as ev. please note: if the edge is contained by two faces and both faces have the same edge-orientation as ed, then the face-orientation of the faces differ.
References OrientationMatches().
Referenced by AdjustEdgeOrientationToFaceOrientation(), FixFaceOrientation(), and MultiEdgeSplit().
void ug::EdgeReferenceMappingTest | ( | std::vector< number > | vCornerCoord0, |
std::vector< number > | vCornerCoord1, | ||
std::vector< number > | vGlobPos | ||
) |
References ug::DimReferenceMapping< TDim, TWorldDim >::global_to_local(), ROID_EDGE, UG_CATCH_THROW, and UG_LOG.
Referenced by ug::bridge::RegisterBridge_ReferenceMappingTest().
|
static |
number ug::ElementDiameter | ( | TElem & | elem, |
TDomain & | domain | ||
) |
References ElementDiameter().
number ug::ElementDiameterSq | ( | TElem & | elem, |
TDomain & | domain | ||
) |
References ElementDiameterSq().
|
inline |
|
inline |
References ComputeElementExtensionsSqForEdges(), ROID_EDGE, ROID_VERTEX, and UG_THROW.
|
inline |
References ComputeElementExtensionsSqForEdges(), ROID_EDGE, ROID_QUADRILATERAL, ROID_TRIANGLE, ROID_VERTEX, and UG_THROW.
|
inline |
void ug::ElementGaussSeidelStep | ( | const typename TAlgebra::matrix_type & | A, |
GridFunction< TDomain, TAlgebra > & | c, | ||
const typename TAlgebra::vector_type & | d, | ||
number | relax, | ||
const std::vector< std::string > & | cmp, | ||
number | alpha, | ||
bool | elim_off_diag = false |
||
) |
References ug::GridFunction< TDomain, TAlgebra >::algebra_indices(), alpha, ug::GridFunction< TDomain, TAlgebra >::approx_space(), ug::GridFunction< TDomain, TAlgebra >::collect_associated(), ug::GridFunction< TDomain, TAlgebra >::dof_indices(), find(), InverseMatMult(), MatMultAdd(), PST_ADDITIVE, s, ug::DenseMatrix< TStorage >::subassign(), and UG_ASSERT.
|
inline |
Normal to an Element in a given Dimension.
|
inline |
|
inline |
References ElementNormal< ReferenceVertex, 1 >(), ROID_VERTEX, and UG_THROW.
|
inline |
|
inline |
|
inline |
Normal to a Line in 2d.
This function returns the normal of a line in 2d. The normal is in clockwise direction to the vector (x1-x0). The norm of the normal is the size of the line.
[in] | vCornerCoords | Vector of corner coordinates |
[out] | normalOut | Normal |
Referenced by ElementNormal< 2 >(), ug::hfv1_traits< ReferenceTriangle, 2 >::NormalOnSCVF(), ug::hfv1_traits< ReferenceQuadrilateral, 2 >::NormalOnSCVF(), and ug::fv1_traits_ReferenceFace2d::NormalOnSCVF().
|
inline |
Normal to a Line in 3d.
This function returns the normal of a line in 3d. This can only be understood as the normal on an edge in a 2d manifold defined by at least a triangle. Therefore, it is assumed that vCornerCoords contains at least three vertices. The normal is computed as the outer normal on the first edge (v2-v1) of the triangle and embedded in the 2d subspace defined by the triangle. The norm of the normal is the size of the line.
[in] | vCornerCoords | Vector of corner coordinates |
[out] | normalOut | Normal |
References UG_CATCH_THROW, VecCross(), VecNormalize(), VecScale(), VecSubtract(), and VecTwoNorm().
Referenced by ElementNormal< 3 >().
|
inline |
Normal to a Quadrilateral in 3d.
This function returns the normal of a quadrilateral in 3d. The orientation is right-handed (i.e. forming with the four fingers of the right hand a circle in direction of the corner nodes, the thumb points in the direction of the normal)
The norm of the normal is the size of the quadrilateral.
[in] | vCornerCoords | Vector of corner coordinates |
[out] | normalOut | Normal |
References VecCross(), VecScale(), and VecSubtract().
Referenced by ElementNormal< 3 >(), ug::fv1_traits< ReferencePyramid, 3 >::NormalOnBF(), and ug::fv1_traits_ReferenceVolume::NormalOnSCVF().
|
inline |
Normal to a Triangle in 3d.
This function returns the normal of a triangle in 3d. The orientation is right-handed (i.e. forming with the four fingers of the right hand a circle in direction of the corner nodes, the thumb points in the direction of the normal)
The norm of the normal is the size of the triangle.
[in] | vCornerCoords | Vector of corner coordinates |
[out] | normalOut | Normal |
References VecCross(), VecScale(), and VecSubtract().
Referenced by ElementNormal< 3 >(), ug::hfv1_traits_ReferenceVolume::NormalOnSCVF(), ug::fv1_traits< ReferencePyramid, 3 >::NormalOnSCVF(), and ug::fv1_traits_ReferenceFace3d::NormalOnSCVF_Face().
|
inline |
Normal to a Point in 1d.
This function returns the normal of a point in 1d. This always 1.0.
[in] | vCornerCoords | Vector of corner coordinates |
[out] | normalOut | Normal |
Referenced by ElementNormal< 1 >(), ug::hfv1_traits< ReferenceEdge, 1 >::NormalOnSCVF(), and ug::fv1_traits< ReferenceEdge, 1 >::NormalOnSCVF().
|
inline |
Normal to a Point in 2d.
This function returns the normal of a point in 2d. This can only be understood as the normal on a corner of an edge in 2d. Therefore, it will be assumed that vCornerCoords has exactly 2 entries defining the edge. Then the normal is the one-dim. normal on the first vertex embedded in the 1D subspace defined by the edge.
[in] | vCornerCoords | Vector of corner coordinates |
[out] | normalOut | Normal |
References UG_CATCH_THROW, and VecNormalize().
Referenced by ElementNormal< 2 >().
|
inline |
Normal to a Point in 3d.
This function returns the normal of a point in 3d. This can only be understood as the normal on a corner of an edge in 3d. Therefore, it will be assumed that vCornerCoords has exactly 2 entries defining the edge. Then the normal is the one-dim. normal on the first vertex embedded in the 1D subspace defined by the edge.
[in] | vCornerCoords | Vector of corner coordinates |
[out] | normalOut | Normal |
References UG_CATCH_THROW, and VecNormalize().
Referenced by ElementNormal< 3 >().
bool ug::ElementSideRayIntersection | ( | size_t & | sideOut, |
MathVector< TWorldDim > & | GlobalIntersectionPointOut, | ||
MathVector< TRefElem::dim > & | LocalIntersectionPoint, | ||
const MathVector< TWorldDim > & | From, | ||
const MathVector< TWorldDim > & | Direction, | ||
bool | bPositiv, | ||
const MathVector< TWorldDim > * | vCornerCoords | ||
) |
ElementSideRayIntersection.
This function computes the side of element, that is intersected by a Ray given in Parameter form by 'From + c * Direction'. The intersection is choose to be at positive parameter if bPositiv == true, else the intersection at negative parameter is choosen. Global and local coordinates of the intersection points are returned as well as the reference element number of the side.
[in] | From | Point of Ray |
[in] | Direction | Direction of Ray |
[in] | bPositiv | Flag, whether to search in positiv of negative direction |
[in] | vCornerCoords | Vector of corner coordinates |
[out] | sideOut | side of intersection |
[out] | GlobalIntersectionPointOut | Intersection Point (global) |
[out] | LocalIntersectionPoint | Intersection Point (local) |
References ug::ElementSideRayIntersectionWrapper< TRefElem, TWorldDim, TRefDim >::apply(), UG_ASSERT, and VecTwoNorm().
|
inline |
Volume of an Element in a given Dimension.
Referenced by ElementSize().
|
inline |
|
inline |
References ElementSize< ReferenceEdge, 1 >(), ROID_EDGE, ROID_VERTEX, and UG_THROW.
|
inline |
|
inline |
References ElementSize< ReferenceEdge, 3 >(), ElementSize< ReferenceHexahedron, 3 >(), ElementSize< ReferenceOctahedron, 3 >(), ElementSize< ReferencePrism, 3 >(), ElementSize< ReferencePyramid, 3 >(), ElementSize< ReferenceQuadrilateral, 3 >(), ElementSize< ReferenceTetrahedron, 3 >(), ElementSize< ReferenceTriangle, 3 >(), ROID_EDGE, ROID_HEXAHEDRON, ROID_OCTAHEDRON, ROID_PRISM, ROID_PYRAMID, ROID_QUADRILATERAL, ROID_TETRAHEDRON, ROID_TRIANGLE, ROID_VERTEX, and UG_THROW.
|
inline |
Volume of a Line in 1d.
This function returns the volume of a line in 1d.
[in] | vCornerCoords | Vector of corner coordinates (2 corners) |
References VecDistance().
Referenced by ElementSize< 1 >().
|
inline |
Volume of a Line in 2d.
This function returns the volume of a line in 2d.
[in] | vCornerCoords | Vector of corner coordinates (2 corners) |
References VecDistance().
Referenced by ElementSize< 2 >().
|
inline |
Volume of a Line in 3d.
This function returns the volume of a line in 3d.
[in] | vCornerCoords | Vector of corner coordinates (2 corners) |
References VecDistance().
Referenced by ElementSize< 3 >().
|
inline |
Volume of a Hexahedron in 3d.
This function returns the volume of a hexahedron in 3d. Therefore, the element is divided into two prisms: 1) {x0, x_1, x_2, x_4; x_5, x_6} and 2) {x0, x_2, x_3, x_4; x_6, x_7}
The corner coordinates must be given as prescribed by the reference element
[in] | vCornerCoords | Vector of corner coordinates (8 corners) |
References VecAppend(), VecCross(), VecDot(), and VecSubtract().
Referenced by ElementSize< 3 >().
|
inline |
Volume of an Octahedron in 3d.
This function returns the volume of an octhedron in 3d by calculating the volumes of the upper and lower pyramid the octahedron consists of. The pyramidal volumes are computed via: V = 1/3 * (S * h) with
The corner coordinates must be given as prescribed by the reference element
[in] | vCornerCoords | Vector of corner coordinates (6 corners) |
References VecCross(), VecDot(), and VecSubtract().
Referenced by ElementSize< 3 >().
|
inline |
This function returns the volume of a prism in 3d. Therefore, the element is divided into pyramid {x0, x_1, x_4, x_3; x_5} and a tetrahedron {x_0, x_1, x_2; x_5}, whose volumes are computed and added.
The corner coordinates must be given as prescribed by the reference element
[in] | vCornerCoords | Vector of corner coordinates (6 corners) |
References VecAppend(), VecCross(), VecDot(), and VecSubtract().
Referenced by ElementSize< 3 >().
|
inline |
This function returns the volume of a pyramid in 3d. The volume is computed via: V = 1/3 * (S * h) with
The corner coordinates must be given as prescribed by the reference element
[in] | vCornerCoords | Vector of corner coordinates (5 corners) |
References VecCross(), VecDot(), and VecSubtract().
Referenced by ElementSize< 3 >().
|
inline |
Volume of a Quadrilateral in 2d.
This function returns the volume of a quadrilateral in 2d. The Volume is computed via: F = 1/2 * | (y3-y1)*(x2-x0) - (x3-x1)*(y2-y0) |
[in] | vCornerCoords | Vector of corner coordinates (4 corners) |
Referenced by ElementSize< 2 >().
|
inline |
Volume of a Quadrilateral in 3d.
This function returns the volume of a quadrilateral in 3d. The Volume is computed via: F = 1/2 * | (c - a) x (d - b) | (Here, a,b,c,d are the vectors of the corners)
The corner coordinates must be given in counter - clockwise order
[in] | vCornerCoords | Vector of corner coordinates (4 corners) |
References VecCross(), VecSubtract(), and VecTwoNorm().
Referenced by ElementSize< 3 >().
|
inline |
Volume of a Tetrahedron in 3d.
This function returns the volume of a tetrahedron in 3d. The Volume is computed via: V = 1/6 * | ( (b - a) x (c - a) ) * (d - a) | (Here, a,b,c,d are the vectors of the corners)
This is motivated by the formula: V = 1/3 * (S * h) with
[in] | vCornerCoords | Vector of corner coordinates (4 corners) |
References VecCross(), VecDot(), and VecSubtract().
Referenced by ElementSize< 3 >().
|
inline |
|
inline |
This function returns the volume of a triangle in 3d. The Volume is computed via: F = 1/2 * | (c - a) x (b - a) | (Here, a,b,c are the vectors of the corners)
[in] | vCornerCoords | Vector of corner coordinates (3 corners) |
References VecCross(), VecSubtract(), and VecTwoNorm().
Referenced by ElementSize< 3 >().
bool ug::EliminateInvalidCells | ( | Field< T > & | field, |
const T & | noDataValue | ||
) |
eliminates invalid cells by repeatedly filling those cells with averages of neighboring cells
The field has to contain at least one valid cell. If it doesn't, false is returned. The value type T has to support operators += and *= and = 0
References ug::Field< T >::at(), ug::Field< T >::height(), UG_COND_THROW, and ug::Field< T >::width().
Referenced by ug::Heightfield::eliminate_invalid_cells(), and ug::RasterLayers::eliminate_invalid_cells().
|
static |
Referenced by QualityGridGeneration().
bool ug::EnableMemTracker | ( | bool | b | ) |
With EnableMemTracker(true) you start the memory profiling, with EnableMemTracker(false) you stop it. If you have a section you don't want to be measured, use this code bool bMTEnabled = EnableMemTracker(false);
EnableMemTracker(false) has to be called before pcl::Finalize();
b | if true, mem tracking is on, if false, it is off. |
References bMemTracker.
Referenced by DisplayVacantMemory(), UGFinalizeNoPCLFinalize(), ugshell_main(), and UpdateTotalMem().
double ug::EnergyNorm | ( | vector_type & | x, |
matrix_type & | A | ||
) |
References CloneVector(), and EnergyProd().
double ug::EnergyNorm | ( | vector_type & | x, |
matrix_type & | A, | ||
vector_type & | tmp | ||
) |
References EnergyProd().
Referenced by ug::PowerMethod< TAlgebra >::B_norm().
|
inline |
|
inline |
double ug::EnergyProd | ( | vector_type & | v1, |
matrix_type & | A, | ||
vector_type & | v2 | ||
) |
References CloneVector(), and EnergyProd().
double ug::EnergyProd | ( | vector_type & | v1, |
matrix_type & | A, | ||
vector_type & | v2, | ||
vector_type & | tmp | ||
) |
References ug::ParallelMatrix< TMatrix >::apply(), PINVIT_PROFILE_FUNC, and PST_CONSISTENT.
Referenced by EnergyNorm(), and EnergyProd().
void ug::EraseEmptySubsets | ( | ISubsetHandler & | sh | ) |
Erases all subsets which do not contain any geometric objects.
References ug::ISubsetHandler::contains_edges(), ug::ISubsetHandler::contains_faces(), ug::ISubsetHandler::contains_vertices(), ug::ISubsetHandler::contains_volumes(), ug::ISubsetHandler::erase_subset(), and ug::ISubsetHandler::num_subsets().
Referenced by AdjustSubsetsForSimulation(), and ug::HangingNodeRefinerBase< TSelector >::save_marks_to_file().
template void ug::EraseSelectedObjects< MGSelector > | ( | MGSelector & | ) |
template void ug::EraseSelectedObjects< Selector > | ( | Selector & | ) |
std::string ug::ErrorStringFromStdException | ( | const std::exception * | pex | ) |
Referenced by ug::UGError::UGError().
void ug::EvaluateGradientJump_Norm | ( | TFunction & | u, |
size_t | fct, | ||
MultiGrid::AttachmentAccessor< typename TFunction::element_type, ug::Attachment< number > > & | aaError | ||
) |
calculates the length of the gradient in each element and then fills aaError depending on the difference in length between neighbored elements.
References CalculateVolume(), dim, s, ug::PointerConstArray< TPtr >::size(), and VecTwoNorm().
void ug::EvaluateGradientJump_SideIntegral | ( | TFunction & | u, |
size_t | fct, | ||
MultiGrid::AttachmentAccessor< typename TFunction::element_type, ug::Attachment< number > > & | aaError, | ||
bool | addErrSquareToAAError = false |
||
) |
Calculates the jump between normal components of element-gradients on element sides, then calculates the integral over those jumps on each side and finally sums those integrals into aaError.
References CalculateOuterNormal(), CalculateVolume(), dim, ElementDiameter(), s, ug::PointerConstArray< TPtr >::size(), sq(), and VecDot().
void ug::EvaluateResidualErrorP1 | ( | SmartPtr< TFunction > | u, |
SmartPtr< UserData< number, TFunction::dim > > | f, | ||
const char * | cmp, | ||
number | time, | ||
int | quadOrder, | ||
std::string | quadType, | ||
MultiGrid::AttachmentAccessor< typename TFunction::element_type, ug::Attachment< number > > & | aaError | ||
) |
Evaluates the residual error for P1 shape functions (with some simplifications)
References dim, ElementDiameterSq(), and UG_COND_THROW.
Referenced by MarkForAdaption_ResidualErrorP1Absolute(), and MarkForAdaption_ResidualErrorP1Relative().
void ug::ExchangeAndAdjustSideErrors | ( | TFunction & | u, |
ANumber | aSideError, | ||
ANumber | aNumElems | ||
) |
Exchages error-values and nbr-element-numbers between distributed sides and adjusts those values in rim-shadows and rim-shadowing elements on the fly (e.g. constrained and constraining elements).
[in] | u | The grid-function on which error-indication is based |
[in] | aSideError | ANumber attachment on side_t: The total error accumulated in element-sides. |
[in] | aNumElems | ANumber attachment on side_t: The number of elements which have contributed to aSideError. |
References pcl::InterfaceCommunicator< TLayout >::communicate(), pcl::InterfaceCommunicator< TLayout >::exchange_data(), ug::DistributedGridManager::grid_layout_map(), INT_H_MASTER, INT_H_SLAVE, INT_V_MASTER, INT_V_SLAVE, ug::Flag< TEnum, TStorageType, defaultValue >::partially_contains(), PCL_RO_SUM, s, ug::SurfaceView::SHADOW_RIM, ug::GridLevel::SURFACE, and ug::SurfaceView::surface_state().
bool ug::ExpandFractures2d | ( | Grid & | grid, |
SubsetHandler & | sh, | ||
const vector< FractureInfo > & | fracInfos, | ||
bool | expandInnerFracBnds, | ||
bool | expandOuterFracBnds | ||
) |
This algorithm indirectly uses Grid::mark.
1 dimensional fractures specified in fracInfos are expanded to 2 dimensional subsets. the resulting fractures will then consist of 2 layers of quadrilaterals. On the boundaries triangles are inserted.
Through expandFracBoundaries you can tell the algorithm whether inner fracture boundaries shall be expanded. Note that this means that an additional node is introduced at each inner fracture boundary vertex and that the associated fracture elements are connected at two sides. Note that fractures are always expanded at boundaries which lie on the geometries boundary.
This algorithm requires the option FACEOPT_AUTOGENERATE_EDGES. The option is automatically enabled if required.
References aPosition, ug::GridSubsetHandler::assign_subset(), ug::Grid::associated_edges_begin(), ug::Grid::associated_edges_end(), ug::Grid::associated_faces_begin(), ug::Grid::associated_faces_end(), ug::Grid::attach_to_edges_dv(), ug::Grid::attach_to_faces(), ug::Grid::attach_to_vertices(), ug::Grid::attach_to_vertices_dv(), ug::Selector::begin(), ug::GridSubsetHandler::begin(), CalculateBoundaryVertexNormal2D(), CalculateCreaseNormal(), CollectEdges(), ug::Grid::create(), ug::Grid::create_by_cloning(), ug::Grid::detach_from_edges(), ug::Grid::detach_from_faces(), ug::Grid::detach_from_vertices(), ug::Selector::edges_begin(), ug::Selector::edges_end(), ug::ISelector::enable_autoselection(), ug::Grid::enable_options(), ug::ISelector::enable_selection_inheritance(), ug::Selector::end(), ug::GridSubsetHandler::end(), ug::Grid::erase(), FACEOPT_AUTOGENERATE_EDGES, ug::Selector::faces_begin(), ug::Selector::faces_end(), ug::Grid::get_edge(), ug::ISubsetHandler::get_subset_index(), ug::Grid::has_vertex_attachment(), ug::ISelector::is_selected(), IsBoundaryVertex2D(), ug::Face::num_edges(), ug::ISubsetHandler::num_subsets(), ug::FaceVertices::num_vertices(), ug::FaceDescriptor::num_vertices(), ug::Grid::option_is_enabled(), ug::ISelector::select(), ug::FaceDescriptor::set_num_vertices(), ug::FaceDescriptor::set_vertex(), SMALL, UG_LOG, VecAdd(), VecDistanceSq(), VecDot(), VecLengthSq(), VecNormalize(), VecScale(), ug::FaceVertices::vertex(), ug::Selector::vertices_begin(), and ug::Selector::vertices_end().
bool ug::ExpandFractures2d | ( | Grid & | grid, |
SubsetHandler & | sh, | ||
const vector< FractureInfo > & | fracInfos, | ||
bool | expandInnerFracBnds, | ||
bool | expandOuterFracBnds | ||
) |
This algorithm indirectly uses Grid::mark.
1 dimensional fractures specified in fracInfos are expanded to 2 dimensional subsets. the resulting fractures will then consist of 2 layers of quadrilaterals. On the boundaries triangles are inserted.
Through expandFracBoundaries you can tell the algorithm whether inner fracture boundaries shall be expanded. Note that this means that an additional node is introduced at each inner fracture boundary vertex and that the associated fracture elements are connected at two sides. Note that fractures are always expanded at boundaries which lie on the geometries boundary.
This algorithm requires the option FACEOPT_AUTOGENERATE_EDGES. The option is automatically enabled if required.
References aPosition, ug::GridSubsetHandler::assign_subset(), ug::Grid::associated_edges_begin(), ug::Grid::associated_edges_end(), ug::Grid::associated_faces_begin(), ug::Grid::associated_faces_end(), ug::Grid::attach_to_edges_dv(), ug::Grid::attach_to_faces(), ug::Grid::attach_to_vertices(), ug::Grid::attach_to_vertices_dv(), ug::Selector::begin(), ug::GridSubsetHandler::begin(), CalculateBoundaryVertexNormal2D(), CalculateCreaseNormal(), CollectEdges(), ug::Grid::create(), ug::Grid::create_by_cloning(), ug::Grid::detach_from_edges(), ug::Grid::detach_from_faces(), ug::Grid::detach_from_vertices(), ug::Selector::edges_begin(), ug::Selector::edges_end(), ug::ISelector::enable_autoselection(), ug::Grid::enable_options(), ug::ISelector::enable_selection_inheritance(), ug::Selector::end(), ug::GridSubsetHandler::end(), ug::Grid::erase(), FACEOPT_AUTOGENERATE_EDGES, ug::Selector::faces_begin(), ug::Selector::faces_end(), ug::Grid::get_edge(), ug::ISubsetHandler::get_subset_index(), ug::Grid::has_vertex_attachment(), ug::ISelector::is_selected(), IsBoundaryVertex2D(), ug::Face::num_edges(), ug::ISubsetHandler::num_subsets(), ug::FaceVertices::num_vertices(), ug::FaceDescriptor::num_vertices(), ug::Grid::option_is_enabled(), ug::ISelector::select(), ug::FaceDescriptor::set_num_vertices(), ug::FaceDescriptor::set_vertex(), SMALL, UG_LOG, VecAdd(), VecDistanceSq(), VecDot(), VecLengthSq(), VecNormalize(), VecScale(), ug::FaceVertices::vertex(), ug::Selector::vertices_begin(), and ug::Selector::vertices_end().
bool ug::ExpandFractures2dArte | ( | Grid & | grid, |
SubsetHandler & | sh, | ||
std::vector< FractureInfo > const & | fracInfos, | ||
bool | useTrianglesInDiamonds, | ||
bool | establishDiamonds | ||
) |
2 dimensional fracture expansion for finite extensions, using the Arte algorithm
References ug::CrossingVertexInfo< VRT, IndTyp >::addShiftVrtx(), aPosition, ug::GridSubsetHandler::assign_subset(), assignFaceSubsetToClosedFace(), ug::Grid::associated_edges_begin(), ug::Grid::associated_edges_end(), ug::Grid::associated_faces_begin(), ug::Grid::associated_faces_end(), ug::Grid::attach_to_edges_dv(), ug::Grid::attach_to_faces(), ug::Grid::attach_to_vertices_dv(), ug::Selector::begin(), ug::GridSubsetHandler::begin(), CalculateCenter(), CalculateCreaseNormal(), computeDiamondPointXCrossType(), ug::Grid::create(), ug::Grid::create_by_cloning(), createDiamondFacesXCrossType(), createNewFacesForExtXCrossFracs(), ug::Grid::detach_from_edges(), ug::Grid::detach_from_faces(), ug::Grid::detach_from_vertices(), determineOrderOfFaces(), DropAPerpendicular(), EdgeContains(), ug::Selector::edges_begin(), ug::Selector::edges_end(), ug::ISelector::enable_autoselection(), ug::Grid::enable_options(), ug::ISelector::enable_selection_inheritance(), ug::Selector::end(), ug::GridSubsetHandler::end(), ug::Grid::erase(), expandSingleFractureAtGivenSide(), FaceContains(), FACEOPT_AUTOGENERATE_EDGES, ug::Selector::faces_begin(), ug::Selector::faces_end(), ug::Grid::get_edge(), ug::ISubsetHandler::get_subset_index(), ug::ISubsetHandler::get_subset_name(), ug::VertexFractureTriple< ECKENTYP, GESICHTSTYP, SENKRECHTENTYP >::getEdge(), ug::VertexFractureTriple< ECKENTYP, GESICHTSTYP, SENKRECHTENTYP >::getFace(), ug::VertexFractureTriple< ECKENTYP, GESICHTSTYP, SENKRECHTENTYP >::getNewNormal(), ug::VertexFractureTriple< ECKENTYP, GESICHTSTYP, SENKRECHTENTYP >::getNormal(), ug::CrossingVertexInfo< VRT, IndTyp >::getVecShiftedVrts(), ug::Grid::has_vertex_attachment(), ug::ISelector::is_selected(), IsBoundaryEdge2D(), IsBoundaryVertex2D(), ug::Face::num_edges(), ug::ISubsetHandler::num_subsets(), ug::FaceVertices::num_vertices(), ug::FaceDescriptor::num_vertices(), boost::num_vertices(), ug::Grid::option_is_enabled(), ug::ISelector::select(), ug::FaceDescriptor::set_num_vertices(), ug::ISubsetHandler::set_subset_name(), ug::FaceDescriptor::set_vertex(), ug::VertexFractureTriple< ECKENTYP, GESICHTSTYP, SENKRECHTENTYP >::setNewNormal(), ug::support::SingleFrac, SortFaces4DiamondCreation(), teachAssoFacesNewVrtx(), ug::support::TEnd, UG_LOG, UG_THROW, VecAdd(), VecDot(), VecLength(), VecNormalize(), VecScale(), VecSubtract(), ug::EdgeVertices::vertex(), ug::FaceVertices::vertex(), ug::Selector::vertices_begin(), ug::Selector::vertices_end(), and ug::support::XCross.
bool ug::ExpandFractures2dArte | ( | Grid & | grid, |
SubsetHandler & | sh, | ||
std::vector< FractureInfo > const & | fracInfos, | ||
bool | useTrianglesInDiamonds, | ||
bool | establishDiamonds | ||
) |
2 dimensional fracture expansion for finite extensions, using the Arte algorithm
References ug::CrossingVertexInfo< VRT, IndTyp >::addShiftVrtx(), aPosition, ug::GridSubsetHandler::assign_subset(), assignFaceSubsetToClosedFace(), ug::Grid::associated_edges_begin(), ug::Grid::associated_edges_end(), ug::Grid::associated_faces_begin(), ug::Grid::associated_faces_end(), ug::Grid::attach_to_edges_dv(), ug::Grid::attach_to_faces(), ug::Grid::attach_to_vertices_dv(), ug::Selector::begin(), ug::GridSubsetHandler::begin(), CalculateCenter(), CalculateCreaseNormal(), computeDiamondPointXCrossType(), ug::Grid::create(), ug::Grid::create_by_cloning(), createDiamondFacesXCrossType(), createNewFacesForExtXCrossFracs(), ug::Grid::detach_from_edges(), ug::Grid::detach_from_faces(), ug::Grid::detach_from_vertices(), determineOrderOfFaces(), DropAPerpendicular(), EdgeContains(), ug::Selector::edges_begin(), ug::Selector::edges_end(), ug::ISelector::enable_autoselection(), ug::Grid::enable_options(), ug::ISelector::enable_selection_inheritance(), ug::Selector::end(), ug::GridSubsetHandler::end(), ug::Grid::erase(), expandSingleFractureAtGivenSide(), FaceContains(), FACEOPT_AUTOGENERATE_EDGES, ug::Selector::faces_begin(), ug::Selector::faces_end(), ug::Grid::get_edge(), ug::ISubsetHandler::get_subset_index(), ug::ISubsetHandler::get_subset_name(), ug::VertexFractureTriple< ECKENTYP, GESICHTSTYP, SENKRECHTENTYP >::getEdge(), ug::VertexFractureTriple< ECKENTYP, GESICHTSTYP, SENKRECHTENTYP >::getFace(), ug::VertexFractureTriple< ECKENTYP, GESICHTSTYP, SENKRECHTENTYP >::getNewNormal(), ug::VertexFractureTriple< ECKENTYP, GESICHTSTYP, SENKRECHTENTYP >::getNormal(), ug::CrossingVertexInfo< VRT, IndTyp >::getVecShiftedVrts(), ug::Grid::has_vertex_attachment(), ug::ISelector::is_selected(), IsBoundaryEdge2D(), IsBoundaryVertex2D(), ug::Face::num_edges(), ug::ISubsetHandler::num_subsets(), ug::FaceVertices::num_vertices(), ug::FaceDescriptor::num_vertices(), boost::num_vertices(), ug::Grid::option_is_enabled(), ug::ISelector::select(), ug::FaceDescriptor::set_num_vertices(), ug::ISubsetHandler::set_subset_name(), ug::FaceDescriptor::set_vertex(), ug::VertexFractureTriple< ECKENTYP, GESICHTSTYP, SENKRECHTENTYP >::setNewNormal(), ug::support::SingleFrac, SortFaces4DiamondCreation(), teachAssoFacesNewVrtx(), ug::support::TEnd, UG_LOG, UG_THROW, VecAdd(), VecDot(), VecLength(), VecNormalize(), VecScale(), VecSubtract(), ug::EdgeVertices::vertex(), ug::FaceVertices::vertex(), ug::Selector::vertices_begin(), ug::Selector::vertices_end(), and ug::support::XCross.
bool ug::ExpandFractures3d | ( | Grid & | grid, |
SubsetHandler & | sh, | ||
const vector< FractureInfo > & | fracInfos, | ||
bool | expandInnerFracBnds, | ||
bool | expandOuterFracBnds | ||
) |
This algorithm indirectly uses Grid::mark.
2 dimensional fractures specified in fracInfos are expanded to 3 dimensional subsets. the resulting fractures will then consist of 2 layers of hexahedrons. On the boundaries tetrahedrons, prisms and pyramids are inserted.
Through expandFracBoundaries you can tell the algorithm whether inner fracture boundaries shall be expanded. Note that this means that an additional node is introduced at each inner fracture boundary vertex and that the associated fracture elements are connected at two sides. Note that fractures are always expanded at boundaries which lie on the geometries boundary.
This algorithm requires the option FACEOPT_AUTOGENERATE_EDGES. The option is automatically enabled if required.
This algorithm requires the option VOLOPT_AUTOGENERATE_FACES. The option is automatically enabled if required.
References aPosition, ug::GridSubsetHandler::assign_subset(), ug::Grid::attach_to_edges_dv(), ug::Grid::attach_to_faces_dv(), ug::Grid::attach_to_vertices(), ug::Grid::attach_to_vertices_dv(), ug::Grid::attach_to_volumes(), ug::Selector::begin(), CalculateBoundaryVertexNormal3D(), CalculateCreaseNormal(), CollectFaces(), ug::Grid::create(), ug::Grid::create_by_cloning(), ug::Grid::detach_from_edges(), ug::Grid::detach_from_faces(), ug::Grid::detach_from_vertices(), ug::Grid::detach_from_volumes(), DistributeExpansionMarks3D(), ug::ISelector::enable_autoselection(), ug::Grid::enable_options(), ug::ISelector::enable_selection_inheritance(), ug::ISelector::enable_strict_inheritance(), ug::Selector::end(), ug::Grid::erase(), FACEOPT_AUTOGENERATE_EDGES, ug::Grid::get_edge(), ug::Grid::get_face(), ug::Grid::get_side(), ug::ISubsetHandler::get_subset_index(), ug::Volume::get_vertex_indices_of_edge(), ug::Volume::get_vertex_indices_of_face(), ug::Grid::has_vertex_attachment(), ug::ISelector::is_selected(), IsBoundaryVertex3D(), ug::Volume::num_edges(), ug::Volume::num_faces(), ug::Volume::num_sides(), ug::ISubsetHandler::num_subsets(), ug::FaceVertices::num_vertices(), ug::VolumeVertices::num_vertices(), ug::VolumeDescriptor::num_vertices(), ug::Grid::option_is_enabled(), ProjectPointToPlane(), ug::FaceDescriptor::set_num_vertices(), ug::VolumeDescriptor::set_num_vertices(), ug::FaceDescriptor::set_vertex(), ug::VolumeDescriptor::set_vertex(), SMALL, UG_LOG, VecAdd(), VecDistanceSq(), VecDot(), VecLengthSq(), VecNormalize(), VecScale(), ug::VolumeVertices::vertex(), ug::Selector::vertices_begin(), ug::Selector::vertices_end(), VOLOPT_AUTOGENERATE_FACES, ug::Selector::volumes_begin(), and ug::Selector::volumes_end().
bool ug::ExpandFractures3d | ( | Grid & | grid, |
SubsetHandler & | sh, | ||
const vector< FractureInfo > & | fracInfos, | ||
bool | expandInnerFracBnds, | ||
bool | expandOuterFracBnds | ||
) |
This algorithm indirectly uses Grid::mark.
2 dimensional fractures specified in fracInfos are expanded to 3 dimensional subsets. the resulting fractures will then consist of 2 layers of hexahedrons. On the boundaries tetrahedrons, prisms and pyramids are inserted.
Through expandFracBoundaries you can tell the algorithm whether inner fracture boundaries shall be expanded. Note that this means that an additional node is introduced at each inner fracture boundary vertex and that the associated fracture elements are connected at two sides. Note that fractures are always expanded at boundaries which lie on the geometries boundary.
This algorithm requires the option FACEOPT_AUTOGENERATE_EDGES. The option is automatically enabled if required.
This algorithm requires the option VOLOPT_AUTOGENERATE_FACES. The option is automatically enabled if required.
References aPosition, ug::GridSubsetHandler::assign_subset(), ug::Grid::attach_to_edges_dv(), ug::Grid::attach_to_faces_dv(), ug::Grid::attach_to_vertices(), ug::Grid::attach_to_vertices_dv(), ug::Grid::attach_to_volumes(), ug::Selector::begin(), CalculateBoundaryVertexNormal3D(), CalculateCreaseNormal(), CollectFaces(), ug::Grid::create(), ug::Grid::create_by_cloning(), ug::Grid::detach_from_edges(), ug::Grid::detach_from_faces(), ug::Grid::detach_from_vertices(), ug::Grid::detach_from_volumes(), DistributeExpansionMarks3D(), ug::ISelector::enable_autoselection(), ug::Grid::enable_options(), ug::ISelector::enable_selection_inheritance(), ug::ISelector::enable_strict_inheritance(), ug::Selector::end(), ug::Grid::erase(), FACEOPT_AUTOGENERATE_EDGES, ug::Grid::get_edge(), ug::Grid::get_face(), ug::Grid::get_side(), ug::ISubsetHandler::get_subset_index(), ug::Volume::get_vertex_indices_of_edge(), ug::Volume::get_vertex_indices_of_face(), ug::Grid::has_vertex_attachment(), ug::ISelector::is_selected(), IsBoundaryVertex3D(), ug::Volume::num_edges(), ug::Volume::num_faces(), ug::Volume::num_sides(), ug::ISubsetHandler::num_subsets(), ug::FaceVertices::num_vertices(), ug::VolumeVertices::num_vertices(), ug::VolumeDescriptor::num_vertices(), ug::Grid::option_is_enabled(), ProjectPointToPlane(), ug::FaceDescriptor::set_num_vertices(), ug::VolumeDescriptor::set_num_vertices(), ug::FaceDescriptor::set_vertex(), ug::VolumeDescriptor::set_vertex(), SMALL, UG_LOG, VecAdd(), VecDistanceSq(), VecDot(), VecLengthSq(), VecNormalize(), VecScale(), ug::VolumeVertices::vertex(), ug::Selector::vertices_begin(), ug::Selector::vertices_end(), VOLOPT_AUTOGENERATE_FACES, ug::Selector::volumes_begin(), and ug::Selector::volumes_end().
bool ug::ExpandFractures3dArte | ( | Grid & | grid, |
SubsetHandler & | sh, | ||
std::vector< FractureInfo > const & | fracInfos, | ||
bool | useTrianglesInDiamonds, | ||
bool | establishDiamonds | ||
) |
References ug::ArteExpandFracs3D::run().
bool ug::expandSingleFractureAtGivenSide | ( | vector3 const & | nOne, |
vector3 const & | nTwo, | ||
Edge * | edgeOne, | ||
Edge * | edgeTwo, | ||
Face * | facOne, | ||
Face * | facTwo, | ||
vector< FractureInfo > const & | fracInfosBySubset, | ||
vector3 const & | posOldVrt, | ||
Grid::VertexAttachmentAccessor< APosition > & | aaPos, | ||
Grid & | grid, | ||
SubsetHandler & | sh, | ||
ASOF const & | assoFaces, | ||
std::vector< Vertex * > const & | nextFracVrt, | ||
Grid::FaceAttachmentAccessor< AttVrtVec > & | aaVrtVecFace, | ||
int & | dbg_flachen_passiert, | ||
Vertex * | iterV | ||
) |
References expandSingleFractureAtGivenSide().
bool ug::expandSingleFractureAtGivenSide | ( | vector3 const & | nOne, |
vector3 const & | nTwo, | ||
Edge * | edgeOne, | ||
Edge * | edgeTwo, | ||
Face * | facOne, | ||
Face * | facTwo, | ||
vector< FractureInfo > const & | fracInfosBySubset, | ||
vector3 const & | posOldVrt, | ||
Grid::VertexAttachmentAccessor< APosition > & | aaPos, | ||
Grid & | grid, | ||
SubsetHandler & | sh, | ||
ASOF const & | assoFaces, | ||
std::vector< Vertex * > const & | nextFracVrt, | ||
Grid::FaceAttachmentAccessor< AttVrtVec > & | aaVrtVecFace, | ||
int & | dbg_flachen_passiert, | ||
Vertex * | iterV, | ||
CrossVertInf & | crossVrtInf, | ||
bool | insertCrossVrtInf = true |
||
) |
References ug::CrossingVertexInfo< VRT, IndTyp >::addShiftVrtx(), ug::GridSubsetHandler::assign_subset(), CalculateCenter(), ug::Grid::create(), DropAPerpendicular(), ug::ISubsetHandler::get_subset_index(), ug::ISubsetHandler::num_subsets(), boost::num_vertices(), UG_LOG, UG_THROW, VecAdd(), VecDot(), VecLength(), VecNormalize(), VecScale(), VecSubtract(), and ug::EdgeVertices::vertex().
Referenced by ExpandFractures2dArte(), expandSingleFractureAtGivenSide(), and expandSingleFractureAtGivenSide< VecVertexOfFaceInfo >().
bool ug::expandSingleFractureAtGivenSide< VecVertexOfFaceInfo > | ( | vector3 const & | nOne, |
vector3 const & | nTwo, | ||
Edge * | edgeOne, | ||
Edge * | edgeTwo, | ||
Face * | facOne, | ||
Face * | facTwo, | ||
vector< FractureInfo > const & | fracInfosBySubset, | ||
vector3 const & | posOldVrt, | ||
Grid::VertexAttachmentAccessor< APosition > & | aaPos, | ||
Grid & | grid, | ||
SubsetHandler & | sh, | ||
VecVertexOfFaceInfo const & | segPart, | ||
std::vector< Vertex * > const & | nextFracVrt, | ||
Grid::FaceAttachmentAccessor< AttVrtVec > & | aaVrtVecFace, | ||
int & | dbg_flachen_passiert, | ||
Vertex * | crossPt, | ||
CrossVertInf & | crossVrtInf, | ||
bool | insertCrossVrtInf | ||
) |
bool ug::expandSingleFractureAtGivenSide< VecVertexOfFaceInfo > | ( | vector3 const & | nOne, |
vector3 const & | nTwo, | ||
Edge * | edgeOne, | ||
Edge * | edgeTwo, | ||
Face * | facOne, | ||
Face * | facTwo, | ||
vector< FractureInfo > const & | fracInfosBySubset, | ||
vector3 const & | posOldVrt, | ||
Grid::VertexAttachmentAccessor< APosition > & | aaPos, | ||
Grid & | grid, | ||
SubsetHandler & | sh, | ||
VecVertexOfFaceInfo const & | segPart, | ||
std::vector< Vertex * > const & | nextFracVrt, | ||
Grid::FaceAttachmentAccessor< AttVrtVec > & | aaVrtVecFace, | ||
int & | dbg_flachen_passiert, | ||
Vertex * | iterV | ||
) |
References expandSingleFractureAtGivenSide().
bool ug::ExportGridToSMESH | ( | Grid & | grid, |
const char * | filename, | ||
AVector3 & | aPos, | ||
ISubsetHandler * | psh = NULL , |
||
std::vector< AFloat > * | pvNodeAttributes = NULL , |
||
std::vector< vector3 > * | pvHoles = NULL , |
||
std::vector< vector3 > * | pvRegionPositions = NULL , |
||
std::vector< int > * | pvRegionAttributes = NULL , |
||
std::vector< float > * | pvRegionVolumeConstraints = NULL |
||
) |
writes an SMESH file.
Be sure that grid consists of closed, 2-dimensional surfaces. except of grid, filename and aPos, all parameters are optional. Be sure that all attachments that you pass to the method have been properly attached. If you don't want to specify a parameter simply pass NULL. meaning of optional parameters: pvNodeAttributes: a vector that holds attachments of type AFloat, which store vertex-attributes. psh: subset-handler specifying boundary-indices of vertices and faces. pvHoles: specifies where holes are located. pvRegionPositions: specifies where regions are located. vRegionAttributes: specifies the attribute of a region. Has to be of the same size as vRegionPositions. Will only be used if pvRegionAttributes has been specified. vRegionVolumeConstraints: specifies the maximal volume of a tetrahedron in each region. Has to be of the same size as vRegionPositions. Will only be used if pvRegionAttributes has been specified.
References ug::Grid::attach_to_vertices(), ug::Grid::detach_from_vertices(), ug::Grid::faces_begin(), ug::Grid::faces_end(), ug::ISubsetHandler::get_subset_index(), ug::Grid::has_vertex_attachment(), ug::Grid::num_faces(), ug::Grid::num_vertices(), ug::FaceVertices::num_vertices(), ug::FaceVertices::vertex(), ug::Grid::vertices_begin(), and ug::Grid::vertices_end().
bool ug::ExportGridToSMESH | ( | Grid & | grid, |
const char * | filename, | ||
AVector3 & | aPos, | ||
std::vector< AFloat > * | pvNodeAttributes = NULL , |
||
AInt * | paNodeBoundaryMarker = NULL , |
||
AInt * | paFaceBoundaryMarker = NULL , |
||
std::vector< vector3 > * | pvHoles = NULL , |
||
std::vector< vector3 > * | pvRegionPositions = NULL , |
||
std::vector< int > * | pvRegionAttributes = NULL , |
||
std::vector< float > * | pvRegionVolumeConstraints = NULL |
||
) |
writes an SMESH file.
Be sure that grid consists of closed, 2-dimensional surfaces. except of grid, filename and aPos, all parameters are optional. Be sure that all attachments that you pass to the method have been properly attached. If you don't want to specify a parameter simply pass NULL. meaning of optional parameters: pvNodeAttributes: a vector that holds attachments of type AFloat, which store vertex-attributes. paNodeBoundaryMarker: specifies the boundary-index of a vertex. paFaceBoundaryMarker: specifies the boundary-index of a face. pvHoles: specifies where holes are located. pvRegionPositions: specifies where regions are located. vRegionAttributes: specifies the attribute of a region. Has to be of the same size as vRegionPositions. Will only be used if pvRegionAttributes has been specified. vRegionVolumeConstraints: specifies the maximal volume of a tetrahedron in each region. Has to be of the same size as vRegionPositions. Will only be used if pvRegionAttributes has been specified.
References ug::Grid::AttachmentAccessor< TElem, TAttachment >::access(), ug::Grid::attach_to_vertices(), ug::Grid::detach_from_vertices(), ug::Grid::faces_begin(), ug::Grid::faces_end(), ug::Grid::has_vertex_attachment(), ug::Grid::num_faces(), ug::Grid::num_vertices(), ug::FaceVertices::num_vertices(), ug::FaceVertices::vertex(), ug::Grid::vertices_begin(), and ug::Grid::vertices_end().
Referenced by SaveGrid3d_IMPL().
bool ug::ExportGridToSWC | ( | Grid & | g, |
ISubsetHandler * | pSH, | ||
const char * | fileName, | ||
AVector3 & | aPos | ||
) |
References aPosition, ug::Grid::associated_elements(), ug::Grid::attach_to_vertices_dv(), ug::Grid::begin(), ug::Grid::begin_marking(), ug::Grid::end(), ug::Grid::end_marking(), ug::UGError::get_msg(), ug::ISubsetHandler::get_subset_index(), ug::ISubsetHandler::get_subset_name(), GetOpposingSide(), ug::Grid::has_vertex_attachment(), ug::Grid::is_marked(), ug::Grid::mark(), name, ug::ISubsetHandler::num_subsets(), ug::PointerConstArray< TPtr >::size(), UG_COND_THROW, and UG_LOGN.
Referenced by SaveGrid3d_IMPL().
bool ug::ExportGridToTETGEN | ( | Grid & | grid, |
const char * | filename, | ||
AVector3 & | aPos, | ||
std::vector< AFloat > * | pvNodeAttributes, | ||
AInt * | paNodeBoundaryMarker, | ||
AInt * | paFaceBoundaryMarker, | ||
AInt * | paElementAttribute, | ||
ANumber * | paVolumeConstraint | ||
) |
References ug::Grid::AttachmentAccessor< TElem, TAttachment >::access(), ug::Grid::attach_to_vertices(), baseName(), ug::Grid::begin(), ug::Grid::end(), ug::Grid::faces_begin(), ug::Grid::faces_end(), ug::Grid::has_vertex_attachment(), ug::Grid::num(), ug::Grid::num_faces(), ug::Grid::num_vertices(), ug::FaceVertices::num_vertices(), ug::FaceVertices::vertex(), ug::Tetrahedron::vertex(), ug::Grid::vertices_begin(), and ug::Grid::vertices_end().
Referenced by SaveGridToELE().
bool ug::ExportGridToTIKZ | ( | Grid & | grid, |
const char * | filename, | ||
const ISubsetHandler * | psh, | ||
APosition | aPos, | ||
TikzExportDesc | desc | ||
) |
References CalculateBoundingBox(), EDGE, ug::TikzExportDesc::edgeColor, ug::TikzExportDesc::edgeWidth, ug::TIKZElem::elem, ug::TIKZElem::elemId, end_for, FACE, ug::TikzExportDesc::faceColor, ug::TikzExportDesc::faceRimWidth, for_each_in_vec, ug::ISubsetHandler::get_subset_index(), ug::ISubsetHandler::get_subset_name(), lg_end_for, lg_for_each, ug::ISubsetHandler::num_subsets(), ug::EdgeVertices::num_vertices(), ug::FaceVertices::num_vertices(), p, SMALL, ug::TikzExportDesc::smallestVal, ug::TIKZElem::subsetId, trunk(), UG_COND_THROW, VERTEX, ug::EdgeVertices::vertex(), ug::FaceVertices::vertex(), ug::TikzExportDesc::vrtColor, ug::TikzExportDesc::vrtRadius, and ug::TikzExportDesc::vrtRimWidth.
Referenced by SaveGrid3d_IMPL().
bool ug::ExportGridToUG | ( | const Grid & | g, |
const SubsetHandler & | shFace, | ||
const SubsetHandler & | shVolume, | ||
const char * | fileNamePrefix, | ||
const char * | lgmName, | ||
const char * | problemName, | ||
int | convex | ||
) |
converts tetgen files (*.node, *.face and *.ele) to UG files (*.lgm, *.ng)
PLEASE NOTE: This algorithm uses Grid::mark shFace has to contain the interface-faces that separate the different volume-subsets (specified in shVolume).
lgmName, problemName and convex correlate to the parameters that appear at the beginning of each lgm-file.
References aPosition, ug::Grid::attach_to_edges(), ug::Grid::attach_to_faces(), ug::Grid::attach_to_vertices(), ug::TElemSelector< TBaseElem >::begin(), ug::GridSubsetHandler::begin(), CollectAllVerticesForNG(), CollectInnerVertices(), CollectLines(), CollectSurfaceVertices(), EDGEOPT_STORE_ASSOCIATED_FACES, ug::Grid::enable_options(), ug::TElemSelector< TBaseElem >::end(), ug::GridSubsetHandler::end(), FACEOPT_AUTOGENERATE_EDGES, FACEOPT_STORE_ASSOCIATED_EDGES, FixFaceOrientation(), ug::GridSubsetHandler::num(), ug::ISubsetHandler::num_subsets(), SHE_FACE, SHE_VOLUME, UG_LOG, VRTOPT_STORE_ASSOCIATED_FACES, WriteLGM(), and WriteNG().
bool ug::ExportGridToUG_2D | ( | Grid & | grid, |
const char * | fileName, | ||
const char * | lgmName, | ||
const char * | problemName, | ||
int | convex, | ||
SubsetHandler * | psh = NULL |
||
) |
exports a grid to a 2d lgm / ng file combination.
Please note that edge-subsets are ignored. Only x and y coordinates are written.
References aPosition, ug::Grid::associated_edges_begin(), ug::Grid::associated_edges_end(), ug::Grid::attach_to_edges(), ug::Grid::attach_to_vertices(), ug::GridSubsetHandler::begin(), CollectFaces(), ug::Grid::detach_from_edges(), ug::Grid::detach_from_vertices(), ug::Grid::edges_begin(), ug::Grid::edges_end(), ug::GridSubsetHandler::empty(), ug::GridSubsetHandler::end(), FaceIsOnRightSide(), ug::Grid::faces_begin(), ug::Grid::faces_end(), ug::Grid::get_edge(), ug::ISubsetHandler::get_subset_index(), GetConnectedVertex(), GetFirstSectionOfPolyChain(), GetNextSectionOfPolyChain(), IsBoundaryVertex2D(), LOG, ug::SubsetInfo::name, ug::GridSubsetHandler::num(), ug::Face::num_edges(), ug::ISubsetHandler::num_subsets(), ug::FaceVertices::num_vertices(), p, SetAttachmentValues(), ug::ISubsetHandler::subset_info(), UG_LOG, ug::EdgeVertices::vertex(), ug::FaceVertices::vertex(), ug::Grid::vertices_begin(), and ug::Grid::vertices_end().
template void ug::ExtendSelection< MGSelector > | ( | MGSelector & | sel, |
size_t | extSize, | ||
ISelector::status_t | status | ||
) |
template void ug::ExtendSelection< Selector > | ( | Selector & | sel, |
size_t | extSize, | ||
ISelector::status_t | status | ||
) |
void ug::extract_by_grouping | ( | std::vector< std::vector< DoFIndex > > & | vvDoFIndex, |
const GF & | c, | ||
const std::vector< size_t > & | vFullRowCmp, | ||
const std::vector< size_t > & | vRemainCmp | ||
) |
string ug::extract_path | ( | const string & | filename | ) |
Referenced by ug::LoaderObj::load_file().
void ug::ExtractAlgebraIndices | ( | ConstSmartPtr< TDomain > | domain, |
ConstSmartPtr< DoFDistribution > | dd, | ||
std::vector< size_t > & | fctIndex | ||
) |
void ug::ExtractAlgebraIndices2 | ( | ConstSmartPtr< TDomain > | domain, |
ConstSmartPtr< DoFDistribution > | dd, | ||
std::vector< size_t > & | fctIndex | ||
) |
References ug::SurfaceView::ALL.
void ug::ExtractByObject | ( | std::vector< DoFIndex > & | vIndex, |
const TGridFunction & | c, | ||
const std::vector< size_t > & | vFullRowCmp, | ||
const std::vector< size_t > & | vRemainCmp | ||
) |
void ug::ExtractPositions | ( | const TFunction & | u, |
std::vector< MathVector< TFunction::domain_type::dim > > & | vPos | ||
) |
extracts the positions of the degrees of freedom and stores them into the passed vector at the position of the algebraic index corresponding to the degree of freedom.
u | the underlying grid function |
vPos | the array of positions (to be filled) |
References ExtractPositions().
void ug::ExtractPositions | ( | ConstSmartPtr< TDomain > | domain, |
ConstSmartPtr< DoFDistribution > | dd, | ||
const size_t | fct, | ||
std::vector< std::pair< MathVector< TDomain::dim >, size_t > > & | vPosPair | ||
) |
extracts the positions of the degrees of freedom of a component and stores them together with the index in a std::pair into the passed vector at the position of the algebraic index corresponding to the degree of freedom.
domain | the underlying domain |
dd | the dof distribution |
fct | the component of the trial space |
vPos | the array of positions (to be filled) |
void ug::ExtractPositions | ( | ConstSmartPtr< TDomain > | domain, |
ConstSmartPtr< DoFDistribution > | dd, | ||
std::vector< MathVector< TDomain::dim > > & | vPos | ||
) |
extracts the positions of the degrees of freedom and stores them into the passed vector at the position of the algebraic index corresponding to the degree of freedom.
domain | the underlying domain |
dd | the dof distribution |
vPos | the array of positions (to be filled) |
References EDGE, FACE, VERTEX, and VOLUME.
Referenced by ExtractPositions(), ug::GridFunctionPositionProvider< TGridFunction >::get_positions(), ug::DirectionalOrdering< TAlgebra, TDomain, O_t >::init(), ug::LexOrdering< TAlgebra, TDomain, O_t >::init(), OrderDirectionYForDofDist(), OrderDirectionZForDofDist(), OrderDownwindForDofDist(), OrderLexForDofDist(), WriteMatrixToConnectionViewer(), WriteVectorCSV(), and WriteVectorToConnectionViewer().
void ug::ExtractPositions | ( | ConstSmartPtr< TDomain > | domain, |
ConstSmartPtr< DoFDistribution > | dd, | ||
std::vector< std::pair< MathVector< TDomain::dim >, size_t > > & | vPosPair | ||
) |
extracts the positions of the degrees of freedom and stores them together with the index in a std::pair into the passed vector at the position of the algebraic index corresponding to the degree of freedom.
domain | the underlying domain |
dd | the dof distribution |
vPos | the array of positions (to be filled) |
void ug::ExtractPositionsElem | ( | ConstSmartPtr< TDomain > | domain, |
ConstSmartPtr< DoFDistribution > | dd, | ||
const size_t | fct, | ||
std::vector< std::pair< MathVector< TDomain::dim >, size_t > > & | vPosPair | ||
) |
References ug::SurfaceView::ALL, ConstSmartPtr< T, FreePolicy >::get(), InnerDoFPosition(), and UG_ASSERT.
void ug::ExtractPositionsElem | ( | ConstSmartPtr< TDomain > | domain, |
ConstSmartPtr< DoFDistribution > | dd, | ||
std::vector< MathVector< TDomain::dim > > & | vPos | ||
) |
References ug::SurfaceView::ALL, ConstSmartPtr< T, FreePolicy >::get(), InnerDoFPosition(), and UG_ASSERT.
void ug::ExtractPositionsElem | ( | ConstSmartPtr< TDomain > | domain, |
ConstSmartPtr< DoFDistribution > | dd, | ||
std::vector< std::pair< MathVector< TDomain::dim >, size_t > > & | vPosPair | ||
) |
References ug::SurfaceView::ALL, ConstSmartPtr< T, FreePolicy >::get(), InnerDoFPosition(), and UG_ASSERT.
void ug::ExtractPositionsVertex | ( | ConstSmartPtr< TDomain > | domain, |
ConstSmartPtr< DoFDistribution > | dd, | ||
std::vector< MathVector< TDomain::dim > > & | vPos | ||
) |
References ug::SurfaceView::ALL.
void ug::ExtractPositionsVertex | ( | ConstSmartPtr< TDomain > | domain, |
ConstSmartPtr< DoFDistribution > | dd, | ||
std::vector< std::pair< MathVector< TDomain::dim >, size_t > > & | vPosPair | ||
) |
References ug::SurfaceView::ALL.
template void ug::Extrude< Grid::VertexAttachmentAccessor< Attachment< vector1 > > > | ( | Grid & | , |
std::vector< Vertex * > * | , | ||
std::vector< Edge * > * | , | ||
std::vector< Face * > * | , | ||
const vector1 & | , | ||
Grid::VertexAttachmentAccessor< Attachment< vector1 > > | , | ||
uint | , | ||
std::vector< Volume * > * | |||
) |
template void ug::Extrude< Grid::VertexAttachmentAccessor< Attachment< vector2 > > > | ( | Grid & | , |
std::vector< Vertex * > * | , | ||
std::vector< Edge * > * | , | ||
std::vector< Face * > * | , | ||
const vector2 & | , | ||
Grid::VertexAttachmentAccessor< Attachment< vector2 > > | , | ||
uint | , | ||
std::vector< Volume * > * | |||
) |
template void ug::Extrude< Grid::VertexAttachmentAccessor< Attachment< vector3 > > > | ( | Grid & | , |
std::vector< Vertex * > * | , | ||
std::vector< Edge * > * | , | ||
std::vector< Face * > * | , | ||
const vector3 & | , | ||
Grid::VertexAttachmentAccessor< Attachment< vector3 > > | , | ||
uint | , | ||
std::vector< Volume * > * | |||
) |
template void ug::Extrude< vector1 > | ( | Grid & | , |
std::vector< Vertex * > * | , | ||
std::vector< Edge * > * | , | ||
std::vector< Face * > * | , | ||
const vector1 & | , | ||
uint | , | ||
Attachment< vector1 > & | , | ||
std::vector< Volume * > * | |||
) |
template void ug::Extrude< vector2 > | ( | Grid & | , |
std::vector< Vertex * > * | , | ||
std::vector< Edge * > * | , | ||
std::vector< Face * > * | , | ||
const vector2 & | , | ||
uint | , | ||
Attachment< vector2 > & | , | ||
std::vector< Volume * > * | |||
) |
template void ug::Extrude< vector3 > | ( | Grid & | , |
std::vector< Vertex * > * | , | ||
std::vector< Edge * > * | , | ||
std::vector< Face * > * | , | ||
const vector3 & | , | ||
uint | , | ||
Attachment< vector3 > & | , | ||
std::vector< Volume * > * | |||
) |
|
static |
References AdaptSurfaceGridToCylinder(), aPosition, ug::Selector::assign_grid(), ug::GridSubsetHandler::assign_subset(), ug::Selector::begin(), ug::Selector::clear(), ug::ISubsetHandler::enable_subset_inheritance(), ug::Selector::end(), EO_CREATE_FACES, Extrude(), ug::ISubsetHandler::get_default_subset_index(), LOG, SelectAreaBoundary(), ug::ISubsetHandler::set_default_subset_index(), ug::ISubsetHandler::subset_inheritance_enabled(), and VecScale().
void ug::ExtrudeLayers | ( | Grid & | grid, |
const RasterLayers & | layers, | ||
Grid::VertexAttachmentAccessor< AVector3 > | aaPos, | ||
ISubsetHandler & | sh, | ||
bool | allowForTetsAndPyras, | ||
const ANumber * | aRelZOut = NULL |
||
) |
grid has to contain a triangluation of the surface grid of raster-layers. Only x- and y- coordinates of the vertices of the reference triangulation are considered, since all vertices are projected to their respective layers. By setting 'allowForTetsAndPyras = true', one will receive less elements. By setting 'allowForTetsAndPyras = false', the resulting mesh will consist of (possibly rather flat) prisms only.
grid | The grid whose surface triangulation will be extended to a volume mesh. |
layers | A stack of rasters, defining the layered domain. |
aaPos | vertex positions |
sh | Element subsets will be assigned depending on the index of the layer in which an element is located. |
allowForTetsAndPyras | 'true': the resulting mesh will only contain necessary elements to represent the individual layers. 'false': For each layer in 'layers' a complete layer of prisms is generated. Individual prisms are then assigned to subsets depending on which layer contains their longest edge. |
aRelZOut | (optional) Vertex attachment to which the relative height of each vertex will be written. This value will equal the layer index for which a specific vertex has been created. |
References ug::Grid::AttachmentAccessor< TElem, TAttachment >::access(), ug::ISubsetHandler::assign_subset(), ug::Grid::associated_elements(), ug::Grid::attach_to_vertices(), ug::Grid::attach_to_vertices_dv(), ug::Grid::begin(), ug::Grid::begin_marking(), CalculateCenter(), ug::Grid::clear_marks(), CollapseEdge(), ug::Grid::detach_from_vertices(), ug::Grid::end(), end_for, ug::Grid::end_marking(), EO_DEFAULT, ug::ISubsetHandler::erase_subset(), Extrude(), ExtrudeLayersMixed(), for_each_in_vec, ug::ISubsetHandler::get_subset_index(), GetConnectedVertex(), ug::Grid::has_vertex_attachment(), ug::RasterLayers::layer_t::heightfield, ug::Grid::is_marked(), lg_end_for, lg_for_each, lg_for_each_vertex_in_elem, ug::Grid::mark(), ug::RasterLayers::min_height(), ug::Heightfield::no_data_value(), ug::Grid::num_faces(), ug::RasterLayers::num_layers(), ug::ISubsetHandler::num_subsets(), ug::Grid::num_vertices(), ug::FaceVertices::num_vertices(), ug::RasterLayers::relative_to_global_height(), ug::Grid::reserve(), ug::PointerConstArray< TPtr >::size(), ug::RasterLayers::size(), SMALL, ug::RasterLayers::top(), ug::RasterLayers::trace_line_down(), ug::RasterLayers::trace_line_up(), UG_COND_THROW, UG_LOG, ug::AttachmentAccessor< TElem, TAttachment, TElemHandler >::valid(), VecSubtract(), ug::EdgeVertices::vertex(), and ug::FaceVertices::vertices().
void ug::ExtrudeLayersMixed | ( | Grid & | grid, |
const RasterLayers & | layers, | ||
Grid::VertexAttachmentAccessor< AVector3 > | aaPos, | ||
ISubsetHandler & | sh, | ||
const ANumber * | aRelZOut | ||
) |
grid has to contain a triangluation of the surface grid of raster-layers. Only x- and y- coordinates of the vertices of the reference triangulation are considered, since all vertices are projected to their respective layers. The resulting mesh will contain prisms, pyramids, and tetrahedra
grid | The grid whose surface triangulation will be extended to a volume mesh. |
layers | A stack of rasters, defining the layered domain. |
aaPos | vertex positions |
sh | Element subsets will be assigned depending on the index of the layer in which an element is located. |
aRelZOut | (optional) Vertex attachment to which the relative height of each vertex will be written. This value will equal the layer index for which a specific vertex has been created. |
References ug::Grid::AttachmentAccessor< TElem, TAttachment >::access(), ug::ISubsetHandler::assign_subset(), ug::Grid::attach_to_vertices(), ug::Grid::begin(), ug::Grid::create(), ug::Grid::detach_from_vertices(), ug::Grid::end(), ug::Grid::has_vertex_attachment(), ug::RasterLayers::layer_t::heightfield, ug::RasterLayers::heightfield(), ug::Heightfield::interpolate(), ug::RasterLayers::min_height(), ug::Heightfield::no_data_value(), ug::Grid::num(), ug::Grid::num_faces(), ug::RasterLayers::num_layers(), ug::Grid::num_vertices(), ug::FaceVertices::num_vertices(), ug::Grid::reserve(), ug::TriangleDescriptor::set_vertex(), ug::RasterLayers::size(), ug::RasterLayers::top(), Triangulate(), UG_COND_THROW, UG_LOG, ug::AttachmentAccessor< TElem, TAttachment, TElemHandler >::valid(), ug::TriangleDescriptor::vertex(), and ug::FaceVertices::vertices().
Referenced by ExtrudeLayers().
|
static |
References UG_THROW.
|
static |
References UG_THROW.
|
static |
References CheckOrientation().
Referenced by Extrude().
References GetVertexIndex(), ug::FaceVertices::num_vertices(), and ug::EdgeVertices::vertex().
Referenced by ExportGridToUG_2D().
|
static |
References p.
Referenced by CheckPoint(), and TriCubeIntersection().
bool ug::FactorizeILU | ( | Matrix_type & | A | ) |
References BlockNorm(), p, PROFILE_FUNC_GROUP, and UG_THROW.
Referenced by ug::ILU< TAlgebra >::preprocess().
bool ug::FactorizeILUBeta | ( | Matrix_type & | A, |
number | beta | ||
) |
References AddMult(), and PROFILE_FUNC_GROUP.
Referenced by ug::ILU< TAlgebra >::preprocess().
bool ug::FactorizeILUSorted | ( | Matrix_type & | A, |
const number | eps = 1e-50 |
||
) |
References BlockNorm(), PROFILE_FUNC_GROUP, UG_CATCH_THROW, and UG_THROW.
Referenced by ug::ILU< TAlgebra >::preprocess().
string ug::FilenameAndPathWithoutExtension | ( | string | str | ) |
string ug::FilenameWithoutExtension | ( | string | str | ) |
References FilenameWithoutPath().
Referenced by ug::ConnectionViewer::WriteMatrixPar().
string ug::FilenameWithoutPath | ( | const string & | str | ) |
References GetDirectorySeperatorPos().
Referenced by FilenameWithoutExtension(), ug::LUAParserClass::parse_luaFunction_StackTop(), pcl::ParallelArchive::write(), ug::VTKOutput< TDim >::write_pvtu(), ug::VTKOutput< TDim >::write_subset_pvd(), ug::VTKOutput< TDim >::write_time_processwise_pvd(), ug::VTKOutput< TDim >::write_time_pvd(), ug::VTKOutput< TDim >::write_time_pvd_subset(), and pcl::WriteParallelArchive().
void ug::FillCornerCoordinates | ( | typename TDomain::position_type | vCornerCoordsOut[], |
const RegularVertex & | vtx, | ||
const TDomain & | domain | ||
) |
returns the coordinates of a vertex (specialization)
void ug::FillCornerCoordinates | ( | typename TDomain::position_type | vCornerCoordsOut[], |
const TElem & | elem, | ||
const TDomain & | domain | ||
) |
returns the corner coordinates of a geometric object
References ug::hex_rules::NUM_VERTICES, and boost::vertices().
Referenced by ug::LSGFGlobAssembler< TDomain, TAlgebra, TExtrapolation >::AssembleDefect(), ug::StdGlobAssembler< TDomain, TAlgebra >::AssembleDefect(), ug::StdGlobAssembler< TDomain, TAlgebra >::AssembleErrorEstimator(), ug::LSGFGlobAssembler< TDomain, TAlgebra, TExtrapolation >::AssembleJacobian(), ug::StdGlobAssembler< TDomain, TAlgebra >::AssembleJacobian(), ug::LSGFGlobAssembler< TDomain, TAlgebra, TExtrapolation >::AssembleLinear(), ug::StdGlobAssembler< TDomain, TAlgebra >::AssembleLinear(), ug::LSGFGlobAssembler< TDomain, TAlgebra, TExtrapolation >::AssembleMassMatrix(), ug::StdGlobAssembler< TDomain, TAlgebra >::AssembleMassMatrix(), ug::StdGlobAssembler< TDomain, TAlgebra >::AssembleRhs(), ug::LSGFGlobAssembler< TDomain, TAlgebra, TExtrapolation >::AssembleStiffnessMatrix(), ug::StdGlobAssembler< TDomain, TAlgebra >::AssembleStiffnessMatrix(), ug::LSGFGlobAssembler< TDomain, TAlgebra, TExtrapolation >::FinishTimestepElem(), ug::StdGlobAssembler< TDomain, TAlgebra >::FinishTimestepElem(), ug::LSGFGlobAssembler< TDomain, TAlgebra, TExtrapolation >::PrepareTimestepElem(), and ug::StdGlobAssembler< TDomain, TAlgebra >::PrepareTimestepElem().
|
static |
partitionIsEmpty | If no elements are selected for a target-partition, the corresponding entry is set to false. This can happen even if shPartition contains elements for that partition: vmaster elements whose parents are not sent to the same partition don't have to be sent either and are thus ignored... |
References ug::MGSelector::clear(), ug::MGSelector::empty(), GDIST_PROFILE_FUNC, LG_DIST, ug::ISubsetHandler::num_subsets(), pcl::ProcRank(), SelectElementsForTargetPartition(), and UG_DLOG.
Referenced by DistributeGrid().
|
inline |
Referenced by ug::SubsetGroup::add(), ug::FunctionGroup::add(), ug::bridge::ClassNameNode::add_base_class(), ug::ITransferOperator< TDomain, TAlgebra >::add_constraint(), ug::NeumannBoundaryBase< TDomain >::add_inner_subsets(), ug::DirichletBoundary< TDomain, TAlgebra >::adjust_linear(), ug::DirichletBoundary< TDomain, TAlgebra >::adjust_rhs(), AppendInterface(), pcl::CollectAssociatedProcesses(), CollectIErrEstData(), ug::SubsetGroup::contains(), ug::FunctionGroup::contains(), ug::NewLayoutCreator::create_node(), ug::ParallelNodes::create_node(), ElementGaussSeidelStep(), ug::ComponentGaussSeidel< TDomain, TAlgebra >::extract_blocks(), FindDuplicates(), ug::MapSparseMatrix< TValueType >::get_connection(), ug::DoFDistribution::get_connections(), ug::node_tree::Traverser_IntersectFaces::handle_collision_triangles(), ug::UzawaSlicing< TGridFunction >::init(), ug::ConstrainingEdge::is_constrained_object(), ug::ConstrainingFace::is_constrained_object(), IsInInterface(), LoadGridFromTXT(), ug::DoFDistribution::manage_grid_function(), PluginLoaded(), PrintFaceFromVrts(), ug::Grid::register_observer(), ug::SubsetGroup::remove(), ug::FunctionGroup::remove(), ug::PeriodicBoundaryManager::remove_slave(), RemoveInterface(), ug::Grid::replace_vertex(), pcl::SendRecvListsMatch(), ug::ConstrainingEdge::unconstrain_object(), ug::ConstrainingFace::unconstrain_object(), ug::Grid::unregister_edge(), ug::Grid::unregister_face(), ug::Grid::unregister_observer(), and ug::Grid::unregister_volume().
TLayout::iterator ug::find_pid | ( | TLayout & | layout, |
int | pid | ||
) |
layout | layout to search |
pid | proc_id to find |
|
static |
References gcd().
Referenced by ComputeCuthillMcKeeOrder().
int ug::FindClosestVertexInArray | ( | const std::vector< Vertex * > & | array, |
const Vertex * | p, | ||
TAAPosVRT & | aaPos, | ||
number | snapThreshold | ||
) |
returns the index of the closest vertex to p if closer than snapThreshold.
Referenced by FindClosestVertexInPointSet().
int ug::FindClosestVertexInArray | ( | std::vector< Vertex * > & | array, |
const Vertex * | p, | ||
TAAPosVRT & | aaPos, | ||
number | snapThreshold | ||
) |
returns the index of the closest vertex to p smaller than snapThreshold.
returns -1 if nothing was found.
References p, and VecDistanceSq().
int ug::FindClosestVertexInPointSet | ( | const vector_t * | pointSet, |
const Vertex * | p, | ||
TAAPosVRT & | aaPos, | ||
number | snapThreshold, | ||
size_t | numPoints | ||
) |
returns the index of the closest vertex to p if closer than snapThreshold
returns the index of the closest vertex to p smaller than snapThreshold.
returns -1 if nothing was found.
References FindClosestVertexInArray(), p, and boost::vertices().
int ug::FindCloseVertexInArray | ( | const std::vector< Vertex * > & | array, |
const typename TAAPosVRT::ValueType & | p, | ||
TAAPosVRT & | aaPos, | ||
number | snapThreshold | ||
) |
returns the index of the first vertex closer to p than snapThreshold.
returns -1 if nothing was found.
Referenced by ResolveTriangleIntersections().
int ug::FindCloseVertexInArray | ( | std::vector< Vertex * > & | array, |
const typename TAAPosVRT::ValueType & | p, | ||
TAAPosVRT & | aaPos, | ||
number | snapThreshold | ||
) |
returns the index of the first vertex closer to p than snapThreshold.
returns -1 if nothing was found.
References p, and VecDistanceSq().
bool ug::FindContainingElement | ( | typename tree_t::elem_t & | elemOut, |
const tree_t & | tree, | ||
const typename tree_t::vector_t & | point | ||
) |
References ug::Traverser_FindContainingElement< tree_t >::result(), and TraverseDepthFirst().
Referenced by ug::GlobalGridFunctionGradientData< TGridFunction >::evaluate(), ug::GlobalGridFunctionNumberData< TGridFunction, elemDim >::evaluate(), ug::bridge::Evaluate::NumberValuedUserDataEvaluator< TDomain, TAlgebra >::evaluateOnThisProcess(), ug::bridge::Evaluate::VectorValuedUserDataEvaluator< TDomain, TAlgebra >::evaluateOnThisProcess(), ug::bridge::Evaluate::VectorValuedUserDataEvaluator< TDomain, TAlgebra >::evaluateOnThisProcessNeighbouring(), and ug::bridge::TestNTree().
vector<string> ug::FindDuplicates | ( | const vector< string > & | vec | ) |
References find().
Referenced by ug::bridge::Registry::check_consistency().
bool ug::FindElementsInIntersectingNodes | ( | std::vector< typename tree_t::elem_t > & | elemsOut, |
const tree_t & | tree, | ||
const typename tree_t::box_t & | bbox | ||
) |
TIterator::value_type ug::FindElementWithLargestAspectRatio | ( | Grid & | grid, |
TIterator | elemsBegin, | ||
TIterator | elemsEnd, | ||
TAAPosVRT & | aaPos | ||
) |
References CalculateAspectRatio().
TIterator::value_type ug::FindElementWithLargestMaxAngle | ( | Grid & | grid, |
TIterator | elementsBegin, | ||
TIterator | elementsEnd, | ||
TAAPosVRT & | aaPos | ||
) |
References CalculateMaxAngle().
TIterator::value_type ug::FindElementWithLargestVolToRMSFaceAreaRatio | ( | Grid & | grid, |
TIterator | elemsBegin, | ||
TIterator | elemsEnd, | ||
TAAPosVRT & | aaPos | ||
) |
References CalculateVolToRMSFaceAreaRatio().
TIterator::value_type ug::FindElementWithSmallestAspectRatio | ( | Grid & | grid, |
TIterator | elemsBegin, | ||
TIterator | elemsEnd, | ||
TAAPosVRT & | aaPos | ||
) |
References CalculateAspectRatio().
TIterator::value_type ug::FindElementWithSmallestMinAngle | ( | Grid & | grid, |
TIterator | elementsBegin, | ||
TIterator | elementsEnd, | ||
TAAPosVRT & | aaPos | ||
) |
References CalculateMinAngle().
TIterator::value_type ug::FindElementWithSmallestVolToRMSFaceAreaRatio | ( | Grid & | grid, |
TIterator | elemsBegin, | ||
TIterator | elemsEnd, | ||
TAAPosVRT & | aaPos | ||
) |
References CalculateVolToRMSFaceAreaRatio().
Face* ug::FindLargestFace | ( | TIterator | facesBegin, |
TIterator | facesEnd, | ||
TAAPosVRT & | aaPos | ||
) |
References FaceArea().
TIterator::value_type ug::FindLargestVolume | ( | TIterator | volumesBegin, |
TIterator | volumesEnd, | ||
TAAPosVRT & | aaPos | ||
) |
References CalculateVolume().
Edge* ug::FindLongestEdge | ( | TEdgeIterator | edgesBegin, |
TEdgeIterator | edgesEnd, | ||
TAAPosVRT & | aaPos | ||
) |
References EdgeLengthSq().
Referenced by CalculateAspectRatio(), and CalculateTetrahedronAspectRatio().
size_t ug::FindLowestLeafNodeLevel | ( | const tree_t & | tree | ) |
References ug::Traverser_FindLowestLeafNodeLevel< tree_t >::result(), and TraverseBreadthFirst().
Referenced by ug::bridge::TestNTree().
void ug::FindPositionInInterfaces | ( | std::vector< std::pair< int, size_t > > & | vIndexInterface, |
const IndexLayout & | layout, | ||
size_t | index | ||
) |
returns in a vector all appearencies of an index in a layout
References pcl::SingleLevelLayout< TInterface >::begin(), pcl::SingleLevelLayout< TInterface >::end(), and pcl::SingleLevelLayout< TInterface >::proc_id().
Referenced by AddExtraProcessEntriesToSubdomainLayout().
size_t ug::FindSlivers | ( | std::vector< typename TIter::value_type > & | sliversOut, |
TIter | elemsBegin, | ||
TIter | elemsEnd, | ||
number | thresholdRatio, | ||
TAAPos | aaPos, | ||
bool | clearContainer = true |
||
) |
Searchs for slivers in the given list of elements.
Slivers are flat tetrahedrons. Only tetrahedral elements will be regarded!
References IsSliver(), and ROID_TETRAHEDRON.
TIterator::value_type ug::FindSmallestVolume | ( | TIterator | volumesBegin, |
TIterator | volumesEnd, | ||
TAAPosVRT & | aaPos | ||
) |
References CalculateVolume().
void ug::FinishShinyCallLogging | ( | ) |
References callsOnHold, and profileCalls.
void ug::FixFaceOrientation | ( | Grid & | grid, |
TFaceIterator | facesBegin, | ||
TFaceIterator | facesEnd | ||
) |
creates uniform orientation of neighboured and boundary faces.
This algorithm uses Grid::mark
swaps orientation of faces so that all neighboured faces share the same orientation and boundary faces are oriented with an outward normal
Value type of TFaceIterator has to be compatible with Face*.
Note that all faces between faceBegin and facesEnd have to be members of the specified grid.
References ug::Grid::associated_elements(), ug::Grid::begin_marking(), ug::Face::edge_desc(), EdgeOrientationMatches(), ug::Grid::end_marking(), ug::Grid::flip_orientation(), GetNeighbours(), ug::Grid::is_marked(), ug::Grid::mark(), ug::Face::num_edges(), NumAssociatedVolumes(), OrientationMatches(), ug::PointerConstArray< TPtr >::size(), and ug::Grid::unmark().
int ug::FixOrientation | ( | Grid & | grid, |
TVolIterator | volsBegin, | ||
TVolIterator | volsEnd, | ||
TAAPosVRT & | aaPosVRT | ||
) |
Changes orientation of badly oriented volumes.
changes the orientation of volumes so that CheckOrientation returns true for all volumes between volsBegin and volsEnd.
Make sure that all volumes between volsBegin and volsEnd are registerd volumes of the specified grid.
References CheckOrientation(), and ug::Grid::flip_orientation().
void ug::forward_gs_step | ( | Vector_type & | c, |
const Matrix_type & | A, | ||
const Vector_type & | d, | ||
const size_t | i, | ||
const number | relaxFactor | ||
) |
commmon GaussSeidel-step-calls for a single index 'i'
References InverseMatMult(), MatMultAdd(), and s.
Referenced by ug::ProjGaussSeidel< TDomain, TAlgebra >::step(), and ug::ProjSymmetricGaussSeidel< TDomain, TAlgebra >::step().
void ug::GatherGrid | ( | Grid & | gridOut, |
Selector & | sel, | ||
GridDataSerializationHandler & | serializer, | ||
GridDataSerializationHandler & | deserializer, | ||
int | root, | ||
const pcl::ProcessCommunicator & | procCom = pcl::ProcessCommunicator() |
||
) |
Gathers selected parts of a grid into 'gridOut' on 'rootProc'.
After the operation completes, 'gridOut' on 'rootProc' will contain the selected grid parts of all processes in procCom. Note that double vertices may exist after this operation in gridOut.
References ug::Selector::clear(), ug::Grid::clear_geometry(), ug::GridDataSerializationHandler::deserialize(), Deserialize(), DeserializeGridElements(), ug::ISelector::enable_autoselection(), pcl::ProcessCommunicator::gather(), ug::Selector::get_grid_objects(), pcl::ProcessCommunicator::get_local_proc_id(), ug::ISelector::grid(), ug::GridDataSerializationHandler::read_infos(), SelectAssociatedGridObjects(), ug::GridDataSerializationHandler::serialize(), Serialize(), SerializeGridElements(), pcl::ProcessCommunicator::size(), UG_COND_THROW, and ug::GridDataSerializationHandler::write_infos().
void ug::GatherVectorOnOne | ( | HorizontalAlgebraLayouts & | agglomerationLayout, |
ParallelVector< T > & | collectedVec, | ||
const ParallelVector< T > & | vec, | ||
ParallelStorageType | type | ||
) |
void ug::GatherVectorOnOne | ( | IndexLayout & | agglomeratedMaster, |
IndexLayout & | agglomeratedSlave, | ||
pcl::InterfaceCommunicator< IndexLayout > & | com, | ||
ParallelVector< T > & | collectedVec, | ||
const ParallelVector< T > & | vec, | ||
ParallelStorageType | type, | ||
bool | bRoot | ||
) |
gathers the vector vec to collectedVec on one processor
agglomeratedMaster | master agglomeration layout. only nonempty if Root=true |
agglomeratedSlave | slave agglomeration layout. only nonempty if Root=false |
com | |
collectedVec | (output) result on proc with bRoot=true |
vec | (input) the distributed vec |
type | can be PST_ADDITIVE or PST_CONSISTENT |
bRoot |
References pcl::InterfaceCommunicator< TLayout >::communicate(), ug::ParallelVector< TVector >::get_storage_type(), ug::ParallelVector< TVector >::has_storage_type(), PROFILE_FUNC_GROUP, PST_ADDITIVE, PST_CONSISTENT, pcl::InterfaceCommunicator< TLayout >::receive_data(), pcl::InterfaceCommunicator< TLayout >::send_data(), ug::ParallelVector< TVector >::set(), ug::ParallelVector< TVector >::set_storage_type(), UG_CATCH_THROW, UG_COND_THROW, and UG_THROW.
|
static |
greatest common divisor
Referenced by findBlockSize().
int ug::GeneralizedEigenvalueProblemComplex | ( | DenseMatrix< A_type > & | A, |
DenseMatrix< A_type > & | X, | ||
TLambdaVectorType & | lambda, | ||
DenseMatrix< A_type > & | B, | ||
bool | bSortEigenvalues = false |
||
) |
References UG_ASSERT.
|
inline |
Creates a hash which allows a algebraID->localIndex mapping.
References ug::Hash< TKey, TValue >::clear(), ug::Hash< TKey, TValue >::insert(), PROFILE_FUNC_GROUP, ug::Hash< TKey, TValue >::reserve(), and ug::Hash< TKey, TValue >::resize_hash().
Referenced by ug::ComPol_MatAddRowsOverlap0< TMatrix >::begin_layout_extraction(), ug::ComPol_MatCopyRowsOverlap0< TMatrix >::begin_layout_extraction(), and ug::ComPol_MatCreateOverlap< TMatrix >::ComPol_MatCreateOverlap().
void ug::GenerateGlobalConsecutiveIndices | ( | TIndVec & | indsOut, |
size_t | numLocalInds, | ||
const AlgebraLayouts & | layouts | ||
) |
Generates a set of global consecutive indices.
TIndVec has to be an std::vector compatible type, e.g. std::vector<size_t>.
References ug::HorizontalAlgebraLayouts::comm(), pcl::InterfaceCommunicator< TLayout >::communicate(), pcl::ProcessCommunicator::gather(), pcl::ProcessCommunicator::get_local_proc_id(), ug::HorizontalAlgebraLayouts::master(), PCL_DT_UNSIGNED_LONG_LONG, ug::HorizontalAlgebraLayouts::proc_comm(), PU_PROFILE_FUNC, pcl::InterfaceCommunicator< TLayout >::receive_data(), pcl::ProcessCommunicator::scatter(), pcl::InterfaceCommunicator< TLayout >::send_data(), SetLayoutValues(), pcl::ProcessCommunicator::size(), ug::HorizontalAlgebraLayouts::slave(), and ug::AlgebraLayouts::vertical_master().
void ug::GenerateIcosahedron | ( | Grid & | grid, |
const vector3 & | center, | ||
number | radius, | ||
AVector3 & | aPos | ||
) |
Creates an Icosahedron.
Creates an Icosahedron with the given radius. (outer circle)
References ug::Grid::attach_to_vertices(), ug::Grid::create(), ug::Grid::has_vertex_attachment(), and VecScaleAdd().
Referenced by GenerateIcosphere().
void ug::GenerateIcosphere | ( | Grid & | grid, |
const vector3 & | center, | ||
number | radius, | ||
int | numRefinements, | ||
AVector3 & | aPos, | ||
Selector * | psel = NULL |
||
) |
Creates a ico-sphere by repeatedly refining an icosahedron.
Make sure not to choose a too high number of refinements. Number of triangles produced equals 20 * 4^numRefinements.
You may optionally specify a selector. If you do so, the selector will be used for internal calculations. The whole sphere will be selected when the algorithm is done (all vertices, edges and faces).
If you won't specify a selector, an internal selector has to be created, which introduces a runtime overhead of O(n). This could be avoided by a more elaborate implementation.
References ug::Selector::assign_grid(), ug::Grid::attach_to_edges(), ug::ISelector::autoselection_enabled(), ug::Selector::clear(), ug::Grid::detach_from_edges(), ug::ISelector::enable_autoselection(), GenerateIcosahedron(), MakeGeometry3d(), and Refine().
Referenced by GenerateIcosphere().
void ug::GenerateIcosphere | ( | std::vector< vector3 > & | trisOut, |
const vector3 & | center, | ||
number | radius, | ||
size_t | refinements | ||
) |
Generates a list of triangle-corners for the given Ico-Sphere.
trisOut | std::vector of points. Contents are not cleared! Computed vertices are written to this vector. Three consecutive points form a triangle. |
center | Center of the sphere. |
radius | Radius of the sphere. |
refinements | number of refinements used to generate the Icosphere. |
References aPosition, ug::Grid::attach_to_vertices(), ug::Grid::begin(), ug::Grid::end(), GenerateIcosphere(), ug::Grid::num(), ug::FaceVertices::num_vertices(), and ug::FaceVertices::vertex().
|
inline |
specialization of the "generalized vector product" in 2d.
|
inline |
specialization of the "generalized vector product" in 3d.
References VecCross().
number ug::GeometricApproximationDegree | ( | SimpleGrid & | sg | ) |
sums GeometricApproximationDegree for each triangle.
the returned degree lies between 0 and 1. The closer to 1 the better.
References ug::SimpleGrid::triangles.
Referenced by GeometricApproximationDegree().
number ug::GeometricApproximationDegree | ( | SimpleGrid & | sg, |
int | triIndex | ||
) |
the returned degree lies between 0 and 1. The closer to 1 the better.
returns the minimal dot-product of each normal of the triangle-corners with the triangles normal.
References GeometricApproximationDegree(), ug::SimpleGrid::triangleNormals, ug::SimpleGrid::triangles, and ug::SimpleGrid::vertexNormals.
|
inline |
Extract algebra indices for constrained and constraining indices from DoF distribution.
dd | DoF distribution |
hgVrt | the hanging vertex |
vConstrainingVrt | vector of constraining vertices |
constrainedInd | vector of algebra indices on hanging vertex |
vConstrainingInd | vector of (vector of constraining algebra indices) for constraining vertices |
References CollectConstraining(), and UG_COND_THROW.
Referenced by ug::SymP1Constraints< TDomain, TAlgebra >::adjust_correction(), ug::OneSideP1Constraints< TDomain, TAlgebra >::adjust_correction(), ug::SymP1Constraints< TDomain, TAlgebra >::adjust_defect(), ug::OneSideP1Constraints< TDomain, TAlgebra >::adjust_defect(), ug::SymP1Constraints< TDomain, TAlgebra >::adjust_jacobian(), ug::OneSideP1Constraints< TDomain, TAlgebra >::adjust_jacobian(), ug::SymP1Constraints< TDomain, TAlgebra >::adjust_linear(), ug::OneSideP1Constraints< TDomain, TAlgebra >::adjust_linear(), ug::SymP1Constraints< TDomain, TAlgebra >::adjust_prolongation(), ug::OneSideP1Constraints< TDomain, TAlgebra >::adjust_prolongation(), ug::SymP1Constraints< TDomain, TAlgebra >::adjust_rhs(), ug::OneSideP1Constraints< TDomain, TAlgebra >::adjust_rhs(), ug::SymP1Constraints< TDomain, TAlgebra >::adjust_solution(), and ug::OneSideP1Constraints< TDomain, TAlgebra >::adjust_solution().
|
inline |
Extract DoF indices for constrained and constraining indices from DoF distribution.
One cannot simply use algebra indices as constrainers and constrained vertices might not have the same number of functions defined on them. Mapping correct indices is only possible through DoF indices.
dd | DoF distribution |
hgVrt | the hanging vertex |
vConstrainingVrt | vector of constraining vertices |
constrainedInd | vector of DoFs indices on hanging vertex |
vConstrainingInd | vector of (vector of constraining DoF indices) for constraining vertices |
sortVertexPos | sorting functional for constrainers |
References CollectConstraining(), and UG_COND_THROW.
|
inline |
Referenced by ug::ILU< TAlgebra >::apply_ordering(), ug::AutoLinearSolver< TVector >::apply_return_defect(), ug::bridge::GetClockS(), ug::Stopwatch::ms(), ug::BidirectionalMatrix< T >::refresh(), ug::UndirectedMatrix< T >::refresh(), ug::AutoLinearSolver< TVector >::reinit(), ug::Progress::setD(), ug::Stopwatch::start(), ug::ParallelProgress::start(), ug::Progress::start(), ug::Progress::stop(), ug::Stopwatch::stop(), ug::ParallelProgress::stop(), and ug::Stopwatch::Stopwatch().
void* ug::get_mem | ( | size_t | size | ) |
References allocated, bMemTracker, memTracker, p, and s.
Referenced by operator new(), and operator new[]().
number ug::get_number_on_coords | ( | SmartPtr< UserData< number, TGridFunction::dim > > | spInterpolFunction, |
typename TGridFunction::domain_type::position_type | pos, | ||
number | time, | ||
const int | si | ||
) |
|
inline |
|
inline |
void ug::GetAct | ( | string | str, |
vector< size_t > & | act | ||
) |
Referenced by AttachAct(), and LoadGridFromGRDECL().
void ug::GetAspectRatioHistogram | ( | std::vector< int > & | histoOut, |
TElemIter | elemsBegin, | ||
TElemIter | elemsEnd, | ||
int | histoSecs, | ||
TAAPos & | aaPos, | ||
Grid::AttachmentAccessor< typename PtrToValueType< typename TElemIter::value_type >::base_type, Attachment< int > > * | paaHistoSec = NULL |
||
) |
References AspectRatio(), and UG_COND_THROW.
AspectRatioInfo ug::GetAspectRatioInfo | ( | TElemIter | elemsBegin, |
TElemIter | elemsEnd, | ||
TAAPos & | aaPos | ||
) |
Computes the AspectRatioInfo for a sample of elements.
References AspectRatio(), ug::AspectRatioInfo::max, ug::AspectRatioInfo::mean, ug::AspectRatioInfo::min, ug::AspectRatioInfo::sd, and sq().
void ug::GetBlockGSCorrection | ( | const TSparseMatrixType & | A, |
TVectorType & | x, | ||
TVectorType & | b, | ||
DenseMatrix< VariableArray2< double > > & | AlocInv, | ||
std::vector< size_t > & | indices | ||
) |
References GetBlockGSCorrection().
void ug::GetBlockGSCorrection | ( | const TSparseMatrixType & | A, |
TVectorType & | x, | ||
TVectorType & | b, | ||
DenseMatrix< VariableArray2< double > > & | AlocInv, | ||
std::vector< size_t > & | indices, | ||
DenseVector< VariableArray1< double > > & | tmp, | ||
DenseVector< VariableArray1< double > > & | tmp2 | ||
) |
Calculates the gs correction by updating all unknowns in 'indices' at once with the inverse of this block stored in AlocInv.
A | a SparseMatrix |
x | solution to be GS-updated |
b | right hand side b |
AlocInv | cached inverse on a block/slice, calculated with GetSliceDenseInverse |
indices | the indices of the block |
tmp | a temporary vector |
References BlockRef(), GetSize(), MatMult(), and s.
Referenced by ug::BlockGaussSeidel< TAlgebra, backward, forward >::block_step(), and GetBlockGSCorrection().
void ug::GetBlockGSCorrectionILUT | ( | const TSparseMatrixType & | A, |
TVectorType & | x, | ||
TVectorType & | b, | ||
SmartPtr< ILUTPreconditioner< CPUAlgebra > > & | ilut, | ||
std::vector< size_t > & | indices, | ||
CPUAlgebra::vector_type & | tmp, | ||
CPUAlgebra::vector_type & | tmp2 | ||
) |
Calculates the gs correction by updating all unknowns in 'indices' at once with the inverse of this block implicitely in 'ilut'.
A | a SparseMatrix |
x | solution to be GS-updated |
b | right hand side b |
ilut | cached ilut inverse type |
indices | the indices of the block |
tmp | a temporary vector |
tmp2 | another temporary vector |
References BlockRef(), GetSize(), ug::Vector< TValueType >::resize(), and s.
Referenced by ug::SparseBlockGaussSeidel< TAlgebra, backward, forward >::block_step(), and ug::SparseBlockGaussSeidel2< TAlgebra, backward, forward >::block_step().
GlobalBoundaryRefinementRule ug::GetBoundaryRefinementRule | ( | ) |
get procedure for boundary refinement rule variable
References g_boundaryRefinementRule.
std::string ug::GetBytesSizeString | ( | size_t | s, |
int | length = 0 |
||
) |
Helper function to display byte sizes like 2411724 => 2,3 MB
[in] | s | size in bytes |
[in] | length | if != 0, fixes the returned string length to this length (for tables etc.). |
References s.
Referenced by DisplayVacantMemory(), and ug::LU< TAlgebra >::init_dense().
References VecNormalize().
Referenced by AssignDefaultSubsetColors(), and GetColorFromStandardPalette().
|
inline |
|
inline |
|
inline |
TBaseElem * ug::GetConnectedNeighbor | ( | Grid & | g, |
typename TBaseElem::side * | face, | ||
TBaseElem * | elem | ||
) |
Finds the neighbor connected through a side.
[in] | g | |
[in] |
References ug::Grid::associated_elements(), and UG_COND_THROW.
void ug::GetCoord | ( | string | str, |
vector< double > & | coord | ||
) |
Referenced by LoadGridFromGRDECL().
void ug::GetCuthillMcKeeOrder | ( | const TSparseMatrix & | mat, |
std::vector< size_t > & | newIndex, | ||
bool | reverse = true , |
||
bool | bPreserveConsec = false |
||
) |
mat | A sparse matrix |
newIndex | the cuthill-mckee ordered new indices |
References ComputeCuthillMcKeeOrder().
|
inline |
this method can be used to retrieve the default position attachments for different types.
Please note that only existing default attachments are returned.
Valid types for TAttachment are:
|
inline |
References aPosition.
|
inline |
References aPosition1.
|
inline |
References aPosition2.
|
inline |
Referenced by ug::Jacobi< TAlgebra >::preprocess().
|
inline |
References UG_ASSERT.
|
inline |
|
inline |
References UG_ASSERT.
void ug::GetDim | ( | string | str, |
vector< size_t > & | dim | ||
) |
References dim.
Referenced by LoadGridFromGRDECL().
string::size_type ug::GetDirectorySeperatorPos | ( | const string & | str | ) |
Referenced by FilenameWithoutPath(), and PathFromFilename().
TDomain::position_attachment_type& ug::GetDomainPositionAttachment | ( | TDomain & | dom | ) |
Helper function for subdivision volumes multigrid smoothing.
Returns the default position attachment from the given domain needed for hierarchy smoothing using subdivision volumes schemes.
SweepLineEdge* ug::GetEdgeOnTheLeft | ( | MapEdgeCuts & | edgeCuts, |
SweepLineVertex & | v | ||
) |
References ug::SweepLineEdge::direction(), VecNormalize(), VecScale(), and ug::SweepLineVertex::vrtPtr.
Referenced by SweepLine_CreateMonotones().
void ug::GetElemDiscItemOnSubset | ( | std::vector< TElemOut * > & | vSubsetElemDiscOut, |
const std::vector< TElemIn * > & | vElemDiscIn, | ||
const std::vector< SubsetGroup > & | vSSGrp, | ||
int | si, | ||
bool | clearVec = true |
||
) |
This function selects from a given set of element discretizations those who work on a given subset.
At the same time, pointers are converted e.g. from TElemIn=IElemDisc<TDomain> to typename TElemOut=IElemError<TDomain>
[out] | vSubsetElemDisc | Elem Disc items working on subset (pointers type of type TElemOut) |
[in] | vElemDisc | Elem Disc items to select from (pointers type of type TElemIn) |
[in] | si | Subset index |
[in] | clearVec | flag if vector should be cleared |
References contains().
void ug::GetElemDiscOnSubset | ( | std::vector< IElemDisc< TDomain > * > & | vSubsetElemDisc, |
const std::vector< IElemDisc< TDomain > * > & | vElemDisc, | ||
const std::vector< SubsetGroup > & | vSSGrp, | ||
int | si, | ||
bool | clearVec = true |
||
) |
Legacy version of 'GetElemDiscItemOnSubset' for TElemOut=TElemIn=IElemDisc<TDomain>
Referenced by ug::DomainDiscretizationBase< TDomain, TAlgebra, TGlobAssembler >::assemble_defect(), ug::DomainDiscretizationBase< TDomain, TAlgebra, TGlobAssembler >::assemble_jacobian(), ug::DomainDiscretizationBase< TDomain, TAlgebra, TGlobAssembler >::assemble_linear(), ug::DomainDiscretizationBase< TDomain, TAlgebra, TGlobAssembler >::assemble_rhs(), ug::DomainDiscretizationBase< TDomain, TAlgebra, TGlobAssembler >::finish_timestep_elem(), ug::DomainDiscretizationBase< TDomain, TAlgebra, TGlobAssembler >::init_all_exports(), and ug::DomainDiscretizationBase< TDomain, TAlgebra, TGlobAssembler >::prepare_timestep_elem().
string ug::GetFileLinesParallel | ( | string | filename, |
size_t | fromline, | ||
size_t | toline, | ||
bool | includeLineNumbers, | ||
const pcl::ProcessCommunicator & | pc = pcl::ProcessCommunicator() |
||
) |
References Deserialize(), GetFileLines(), PCL_PROFILE_FUNC, and Serialize().
Referenced by ug::LUAParserClass::parse_luaFunction_StackTop().
string ug::GetFilenameExtension | ( | const string & | str | ) |
Referenced by LoadGrid3d_IMPL(), SaveDomain(), and ug::ConnectionViewer::WriteMatrixPar().
|
static |
THIS METHOD USES Grid::mark This method is required since double-triangles have to be avoided during triangulation of quadrilaterals which share two edges whith another quadrilateral (this e.g. occurs in fracture geometries with neumann boundaries). Note that only faces in the same subset as q are regarded.
References ug::Grid::begin_marking(), CollectAssociated(), ug::Grid::end_marking(), ug::ISubsetHandler::get_subset_index(), ug::Grid::is_marked(), ug::Grid::mark(), ug::FaceVertices::num_vertices(), and ug::FaceVertices::vertex().
Referenced by WriteLGM(), and WriteNG().
int ug::GetHighestReferencedIndex | ( | IndexLayout & | layout | ) |
|
inline |
bool ug::GetInversePermutation | ( | const std::vector< size_t > & | perm, |
std::vector< size_t > & | invPerm | ||
) |
Function to calculate the inverse of a permutation
[in] | perm | array mapping i -> perm[i] |
[out] | invPerm | array mapping i -> invPerm[i] so that perm[ invPerm[i] ] = i |
References UG_COND_THROW.
Referenced by ug::ILU< TAlgebra >::apply_ordering(), ug::SCCOrdering< TAlgebra, O_t >::compute(), and ug::ILUTPreconditioner< TAlgebra >::preprocess_mat2().
void ug::GetLayoutTargetProcs | ( | std::vector< int > & | procsOut, |
const TLayout & | layout | ||
) |
Referenced by ug::ComPol_MatCreateOverlap< TMatrix >::post_process().
|
inline |
Referenced by GetLocalMatrix(), and GetSliceDenseInverse().
|
inline |
References GetLocalMatrix().
void ug::GetLocalVector | ( | LocalVector & | lvec, |
const TVector & | vec | ||
) |
References BlockRef(), ug::LocalIndices::comp(), ug::LocalVector::get_indices(), ug::LocalIndices::index(), ug::LocalVector::num_all_dof(), ug::LocalVector::num_all_fct(), and ug::LocalVector::value().
Referenced by ug::ActiveSet< TDomain, TAlgebra >::active_index_elem(), ug::LSGFGlobAssembler< TDomain, TAlgebra, TExtrapolation >::AssembleDefect(), ug::StdGlobAssembler< TDomain, TAlgebra >::AssembleDefect(), ug::StdGlobAssembler< TDomain, TAlgebra >::AssembleErrorEstimator(), ug::LSGFGlobAssembler< TDomain, TAlgebra, TExtrapolation >::AssembleJacobian(), ug::StdGlobAssembler< TDomain, TAlgebra >::AssembleJacobian(), ug::LSGFGlobAssembler< TDomain, TAlgebra, TExtrapolation >::AssembleMassMatrix(), ug::StdGlobAssembler< TDomain, TAlgebra >::AssembleMassMatrix(), ug::StdGlobAssembler< TDomain, TAlgebra >::AssembleRhs(), ug::LSGFGlobAssembler< TDomain, TAlgebra, TExtrapolation >::AssembleStiffnessMatrix(), ug::StdGlobAssembler< TDomain, TAlgebra >::AssembleStiffnessMatrix(), ug::DomainDiscretizationBase< TDomain, TAlgebra, TGlobAssembler >::calc_error(), ug::ActiveSet< TDomain, TAlgebra >::check_conv_elem(), ug::H1SemiDistIntegrand< TGridFunction >::evaluate(), ug::H1EnergyDistIntegrand< TGridFunction >::evaluate(), ug::UserDataIntegrandSq< TData, TGridFunction >::evaluate(), ug::H1SemiIntegrand< TGridFunction >::evaluate(), ug::H1EnergyIntegrand< TGridFunction >::evaluate(), ug::UserDataDistIntegrandSq< TData, TGridFunction >::evaluate(), ug::UserDataIntegrand< TData, TGridFunction >::evaluate(), ug::bridge::Evaluate::NumberValuedUserDataEvaluator< TDomain, TAlgebra >::evaluateOnThisProcess(), ug::bridge::Evaluate::VectorValuedUserDataEvaluator< TDomain, TAlgebra >::evaluateOnThisProcess(), ug::bridge::Evaluate::VectorValuedUserDataEvaluator< TDomain, TAlgebra >::evaluateOnThisProcessNeighbouring(), ug::LSGFGlobAssembler< TDomain, TAlgebra, TExtrapolation >::FinishTimestepElem(), ug::StdGlobAssembler< TDomain, TAlgebra >::FinishTimestepElem(), ug::LSGFGlobAssembler< TDomain, TAlgebra, TExtrapolation >::PrepareTimestepElem(), ug::StdGlobAssembler< TDomain, TAlgebra >::PrepareTimestepElem(), ug::LocalVectorTimeSeries::read_values(), ug::VTKOutput< TDim >::write_cell_data_elementwise(), and ug::VTKOutput< TDim >::write_nodal_data_elementwise().
number ug::GetMinimum | ( | TGridFunction & | gridFct, |
const char * | cmp, | ||
const char * | subsets | ||
) |
References IntegrateSubsets(), ug::MaximumDistIntegrand< TGridFunction >::min(), and UG_COND_THROW.
Referenced by Minimum().
std::pair<size_t, size_t> ug::GetMinMaxNumElements | ( | const tree_t & | tree, |
size_t | lvl | ||
) |
ug::ParallelStorageType ug::GetMultType | ( | const ParallelMatrix< matrix_type > & | A1, |
const ParallelVector< vector_type > & | x | ||
) |
References ug::ParallelMatrix< TMatrix >::get_storage_type(), ug::ParallelVector< TVector >::get_storage_type(), ug::ParallelMatrix< TMatrix >::has_storage_type(), ug::ParallelVector< TVector >::has_storage_type(), PST_ADDITIVE, PST_CONSISTENT, PST_UNDEFINED, and UG_THROW.
Referenced by MatMultAddDirect(), MatMultDirect(), and MatMultTransposedDirect().
void ug::GetNeighborhood | ( | Grid & | grid, |
size_t | extSize, | ||
TElem * | elem, | ||
typename geometry_traits< TElem >::const_iterator & | begin, | ||
typename geometry_traits< TElem >::const_iterator & | end | ||
) |
Finds the neighborhood of a given size for specified element and type.
[in] | grid | |
[in] | extSize | size of neighborhood |
[in] | elem | start element |
[out] | begin | iterator |
[out] | end | iterator Returns iterators begin and end for accessing elements of type |
References ug::Grid::begin_marking(), ug::Grid::end_marking(), ug::Grid::is_marked(), ug::Grid::mark(), ug::Selector::num_levels(), SelectAssociatedGridObjects(), and ug::PointerConstArray< TPtr >::size().
void ug::GetNodeNextToCut | ( | size_t & | coOut, |
const MathVector< TWorldDim > & | IP, | ||
const MathVector< TWorldDim > & | IPVel, | ||
const MathVector< TWorldDim > * | vCornerCoords | ||
) |
computes the closest node to a elem side ray intersection
References dim, ug::Provider< TClass >::get(), UG_THROW, and VecDistanceSq().
|
inline |
Referenced by ConvertNumber(), and ConvertNumberSI().
size_t ug::GetNumberOfDoFsOfPyramid | ( | int | p | ) |
References p.
Referenced by LagrangeNumDoFOnSub(), and LagrangeNumDoFs().
References ug::Edge::get_opposing_side().
References ug::Grid::associated_elements(), CompareVertices(), ug::Face::get_opposing_side(), and s.
References ug::Grid::associated_elements(), CompareVertices(), ug::Volume::get_opposing_side(), and s.
Referenced by ExportGridToSWC().
|
static |
References EDGE, FACE, ug::BinaryBuffer::read(), VERTEX, and VOLUME.
Referenced by DeserializeMultiGridElements().
|
inline |
this function returns the dimension of the position attachment at compile time
|
inline |
this function returns the dimension of the position attachment at compile time
const UGProfileNode * ug::GetProfileNode | ( | const char * | name | ) |
References PROFILER_NULL_NODE.
Referenced by ug::bridge::RegisterBridge_Profiler(), and UGFinalizeNoPCLFinalize().
const UGProfileNode * ug::GetProfileNode | ( | const char * | name, |
const UGProfileNode * | node | ||
) |
References PROFILER_NULL_NODE.
bool ug::GetProfilerAvailable | ( | ) |
Referenced by PrintProfile_TotalTime(), and ug::bridge::RegisterBridge_Profiler().
void ug::GetProperty | ( | string | str, |
vector< double > & | prop | ||
) |
Referenced by AttachProperty().
QuadType ug::GetQuadratureType | ( | const std::string & | name | ) |
returns Identifier from string
References BEST, GAUSS, GAUSS_LEGENDRE, name, NEWTON_COTES, TrimString(), and UG_THROW.
Referenced by Integrate().
|
inline |
References dgetrf_().
|
inline |
getrf computes an LU factorization of a general M-by-N matrix A using partial pivoting with row interchanges.
The factorization has the form A = P * L * U where P is a permutation matrix, L is lower triangular with unit diagonal elements (lower trapezoidal if m > n), and U is upper triangular (upper trapezoidal if m < n).
rows | The number of rows of the matrix A. M >= 0. |
cols | The number of columns of the matrix A. N >= 0. |
pColMajorMatrix | dimension (LDA,N) On entry, the M-by-N matrix to be factored. On exit, the factors L and U from the factorization A = P*L*U; the unit diagonal elements of L are not stored. |
lda | The leading dimension of the array A. LDA >= max(1,M). |
pPivot | array, dimension (min(M,N)) The pivot indices; for 1 <= i <= min(M,N), row i of the matrix was interchanged with row IPIV(i). |
References sgetrf_().
Referenced by ug::DenseMatrixInverse< TStorage >::invert(), Invert(), and InvertNdyn().
|
inline |
References zgetrf_().
|
inline |
References cgetrf_().
|
inline |
References dgetri_().
|
inline |
References sgetri_().
Referenced by Invert(), and InvertNdyn().
|
static |
identifies the right and left unit index to a given surface
References CollectVolumes(), CompareVertices(), ug::Volume::face_desc(), ug::ISubsetHandler::get_subset_index(), GetVertexIndex(), ug::Volume::num_faces(), ug::FaceDescriptor::num_vertices(), and ug::FaceDescriptor::vertex().
Referenced by WriteLGM().
|
inline |
|
inline |
|
inline |
|
inline |
References dgetrs_(), and TransposeModeToChar().
|
inline |
References sgetrs_(), and TransposeModeToChar().
Referenced by ug::DenseMatrixInverse< TStorage >::apply().
double ug::getScaling | ( | const AlphaVec_Expression< T > & | t | ) |
References ug::AlphaVec_Expression< R >::alpha.
double ug::getScaling | ( | const T & | t | ) |
Referenced by operator*(), and VectorAssign().
void ug::GetSelectedElementIndices | ( | const ISelector & | sel, |
std::vector< size_t > & | indsOut | ||
) |
References AssignIndices(), ug::Grid::attach_to(), ug::Grid::begin(), ug::GridObjectCollection::begin(), ug::Grid::clear(), ug::Grid::detach_from(), ug::Grid::end(), ug::GridObjectCollection::end(), ug::ISelector::get_grid_objects(), ug::ISelector::grid(), ug::GridObjectCollection::num_levels(), and UG_COND_THROW.
|
inline |
|
inline |
|
inline |
Referenced by pcl::ProcessCommunicator::allgather(), pcl::ProcessCommunicator::allgatherv(), pcl::ProcessCommunicator::allreduce(), pcl::ProcessCommunicator::alltoall(), ug::LU< TAlgebra >::apply_lu(), BlockVectorFiniteAndNotTooBig(), ug::SchurComplementOperator< TAlgebra >::compute_matrix(), pcl::ProcessCommunicator::gather(), pcl::ProcessCommunicator::gatherv(), ug::IExternalSolver< TAlgebra >::get_vector(), ug::ILUTScalarPreconditioner< TAlgebra >::get_vector(), GetBlockGSCorrection(), GetBlockGSCorrectionILUT(), ug::IProjGaussSeidel< TDomain, TAlgebra >::project_correction(), pcl::ProcessCommunicator::reduce(), pcl::ProcessCommunicator::scatter(), ug::Vector< TValueType >::set_random(), ug::IExternalSolver< TAlgebra >::set_vector(), ug::ILUTScalarPreconditioner< TAlgebra >::set_vector(), ug::LU< TAlgebra >::solve_dense(), and ug::GridFunctionVectorWriter< TGridFunction, TVector >::update().
void ug::GetSliceDenseInverse | ( | const TSparseMatrixType & | A, |
const std::vector< size_t > & | indices, | ||
DenseMatrix< VariableArray2< double > > & | AlocInv | ||
) |
References GetSliceDenseInverse().
void ug::GetSliceDenseInverse | ( | const TSparseMatrixType & | A, |
const std::vector< size_t > & | indices, | ||
DenseMatrix< VariableArray2< double > > & | AlocInv, | ||
DenseMatrix< VariableArray2< typename TSparseMatrixType::value_type > > & | tmp | ||
) |
A | a sparse matrix |
indices | map local -> global indices |
AlocInv | inverse on the indices to be used in |
References BlockMatrixToDoubleMatrix(), GetLocalMatrix(), and Invert().
Referenced by ug::BlockGaussSeidel< TAlgebra, backward, forward >::block_preprocess(), and GetSliceDenseInverse().
void ug::GetSliceSparse | ( | const TSparseMatrixType & | A, |
const std::vector< size_t > & | indices, | ||
CPUAlgebra::matrix_type & | R | ||
) |
A | a sparse matrix |
indices | map local -> global indices |
R | sparse matrix slice in local indices |
References BlockRef(), and GetRows().
Referenced by ug::SparseBlockGaussSeidel< TAlgebra, backward, forward >::block_preprocess(), and ug::SparseBlockGaussSeidel2< TAlgebra, backward, forward >::block_preprocess().
|
static |
References ug::PointerConstArray< TPtr >::size().
SmartPtr< IElemProlongation< TDomain > > ug::GetStandardElementProlongation | ( | const LFEID & | lfeid | ) |
SmartPtr< IElemRestriction< TDomain > > ug::GetStandardElementRestriction | ( | const LFEID & | lfeid | ) |
|
inline |
size_t ug::GetUniqueFVGeomID | ( | ) |
This method associates a unique unsigned integer value with each type.
References ug::UniqueFVGeomIDProvider::inst(), and ug::UniqueFVGeomIDProvider::new_id().
const T& ug::getVector | ( | const AlphaVec_Expression< T > & | t | ) |
References ug::AlphaVec_Expression< R >::r.
const TAlgebra::vector_type& ug::getVector | ( | const GridFunction< TDomain, TAlgebra > & | t | ) |
const T& ug::getVector | ( | const T & | t | ) |
Referenced by operator*(), and VectorAssign().
void ug::GetZcorn | ( | string | str, |
vector< double > & | zcorn | ||
) |
|
static |
Creates a global domain refiner.
Automatically chooses whether a parallel refiner is required.
References pcl::NumProcs().
|
inline |
|
inline |
|
inline |
number ug::GridFunctionDistance2 | ( | TGridFunction & | spGridFct1, |
const char * | cmp1, | ||
TGridFunction & | spGridFct2, | ||
const char * | cmp2, | ||
int | quadOrder, | ||
const char * | subsets | ||
) |
computes an (abstract) distance between two functions
This function computes the (abstract) TDiffError-difference between two grid functions that may be defined on different grids. The element loop is performed over the finer level.
[in] | spGridFct1 | grid function 1 |
[in] | cmp1 | symbolic name of component function |
[in] | spGridFct2 | grid function 2 |
[in] | cmp2 | symbolic name of component function |
[in] | quadOrder | order of quadrature rule |
[in] | subsets | subsets, where to compute |
References IntegrateSubsets(), and UG_THROW.
number ug::GridFunctionDistance2 | ( | TGridFunction & | spGridFct1, |
const char * | cmp1, | ||
TGridFunction & | spGridFct2, | ||
const char * | cmp2, | ||
int | quadOrder, | ||
const char * | subsets, | ||
ConstSmartPtr< typename TDistIntegrand::weight_type > | spWeights | ||
) |
Computes (weighted) distance.
References IntegrateSubsets(), and UG_THROW.
number ug::GridFunctionDistance2 | ( | TGridFunction & | spGridFct1, |
const char * | cmp1, | ||
TGridFunction & | spGridFct2, | ||
const char * | cmp2, | ||
int | quadOrder, | ||
const char * | subsets, | ||
ConstSmartPtr< typename TDistIntegrand::weight_type > | spWeights, | ||
number | distAvg12 | ||
) |
Computes (weighted) distance with shift for averages.
References IntegrateSubsets(), and UG_THROW.
std::string ug::GridLevelAppendix | ( | const GridLevel & | gl, |
int | minfill | ||
) |
returns appendix for a grid level
References ug::GridLevel::ghosts(), ug::GridLevel::is_level(), ug::GridLevel::is_surface(), ug::GridLevel::level(), ug::GridLevel::top(), and UG_THROW.
Referenced by ug::UzawaBase< TDomain, TAlgebra >::my_write_debug(), and ug::AssembledMultiGridCycle< TDomain, TAlgebra >::write_debug().
number ug::H1Distance | ( | TGridFunction & | spGridFct1, |
const char * | cmp1, | ||
TGridFunction & | spGridFct2, | ||
const char * | cmp2, | ||
int | quadOrder, | ||
const char * | subsets = NULL |
||
) |
References H1Distance2().
Referenced by H1Error().
number ug::H1Distance2 | ( | TGridFunction & | spGridFct1, |
const char * | cmp1, | ||
TGridFunction & | spGridFct2, | ||
const char * | cmp2, | ||
int | quadOrder, | ||
const char * | subsets = NULL |
||
) |
Referenced by H1Distance().
number ug::H1EnergyDistance | ( | TGridFunction & | spGridFct1, |
const char * | cmp1, | ||
TGridFunction & | spGridFct2, | ||
const char * | cmp2, | ||
int | quadOrder, | ||
const char * | subsets, | ||
ConstSmartPtr< typename H1SemiDistIntegrand< TGridFunction >::weight_type > | weights | ||
) |
Distance in H1 semi norm (with select subsets & weights)
References H1EnergyDistance2().
number ug::H1EnergyDistance | ( | TGridFunction & | spGridFct1, |
const char * | cmp1, | ||
TGridFunction & | spGridFct2, | ||
const char * | cmp2, | ||
int | quadOrder, | ||
ConstSmartPtr< typename H1SemiDistIntegrand< TGridFunction >::weight_type > | weights | ||
) |
Distance in H1 semi norm (all subsets, with weights)
References H1EnergyDistance2().
number ug::H1EnergyDistance2 | ( | TGridFunction & | spGridFct1, |
const char * | cmp1, | ||
TGridFunction & | spGridFct2, | ||
const char * | cmp2, | ||
int | quadOrder, | ||
const char * | subsets, | ||
ConstSmartPtr< typename H1SemiDistIntegrand< TGridFunction >::weight_type > | weights | ||
) |
Squared distance in H1 semi norm (with select subsets & weights)
Referenced by H1EnergyDistance(), and H1EnergyDistance2().
number ug::H1EnergyDistance2 | ( | TGridFunction & | spGridFct1, |
const char * | cmp1, | ||
TGridFunction & | spGridFct2, | ||
const char * | cmp2, | ||
int | quadOrder, | ||
ConstSmartPtr< typename H1SemiDistIntegrand< TGridFunction >::weight_type > | weights | ||
) |
Squared distance in H1 semi norm (all subsets, with weights)
References H1EnergyDistance2().
number ug::H1EnergyNorm | ( | SmartPtr< TGridFunction > | spGridFct, |
const char * | cmp, | ||
int | quadOrder | ||
) |
References H1EnergyNorm().
number ug::H1EnergyNorm | ( | SmartPtr< TGridFunction > | spGridFct, |
const char * | cmp, | ||
int | quadOrder, | ||
const char * | subsets, | ||
ConstSmartPtr< typename H1SemiIntegrand< TGridFunction >::weight_type > | weights = SPNULL |
||
) |
References H1EnergyNorm().
number ug::H1EnergyNorm | ( | SmartPtr< TGridFunction > | spGridFct, |
const char * | cmp, | ||
int | quadOrder, | ||
ConstSmartPtr< typename H1SemiIntegrand< TGridFunction >::weight_type > | weights | ||
) |
References H1EnergyNorm().
number ug::H1EnergyNorm | ( | TGridFunction & | gridFct, |
const char * | cmp, | ||
int | quadOrder, | ||
const char * | subsets = NULL , |
||
ConstSmartPtr< typename H1SemiIntegrand< TGridFunction >::weight_type > | weights = SPNULL |
||
) |
References H1EnergyNorm2().
Referenced by H1EnergyNorm().
number ug::H1EnergyNorm2 | ( | TGridFunction & | gridFct, |
const char * | cmp, | ||
int | quadOrder, | ||
const char * | subsets = NULL , |
||
ConstSmartPtr< typename H1SemiIntegrand< TGridFunction >::weight_type > | weights = SPNULL |
||
) |
compute energy -norm of a function on the whole domain (or on selected subsets)
This function computes the integral over \( \| q \|^2 \) where the velocity is given by \( q:= \kappa \nabla u \) of a grid function u.
[in] | spGridFct | grid function |
[in] | cmp | symbolic name of component function |
[in] | time | time point |
[in] | quadOrder | order of quadrature rule |
[in] | subsets | subsets, where to compute (OPTIONAL) |
[in] | weights | element-wise matrix-valued weights kappa (OPTIONAL) |
References IntegrateSubsets(), and UG_COND_THROW.
Referenced by H1EnergyNorm().
number ug::H1Error | ( | SmartPtr< TGridFunction > | spGridFct1, |
const char * | cmp1, | ||
SmartPtr< TGridFunction > | spGridFct2, | ||
const char * | cmp2, | ||
int | quadOrder | ||
) |
for lua shell
References H1Distance().
number ug::H1Error | ( | SmartPtr< TGridFunction > | spGridFct1, |
const char * | cmp1, | ||
SmartPtr< TGridFunction > | spGridFct2, | ||
const char * | cmp2, | ||
int | quadOrder, | ||
const char * | subsets | ||
) |
for lua shell
References H1Distance().
number ug::H1Error | ( | SmartPtr< UserData< number, TGridFunction::dim > > | spExactSol, |
SmartPtr< UserData< MathVector< TGridFunction::dim >, TGridFunction::dim > > | spExactGrad, | ||
SmartPtr< TGridFunction > | spGridFct, | ||
const char * | cmp, | ||
number | time, | ||
int | quadOrder | ||
) |
References H1Error().
number ug::H1Error | ( | SmartPtr< UserData< number, TGridFunction::dim > > | spExactSol, |
SmartPtr< UserData< MathVector< TGridFunction::dim >, TGridFunction::dim > > | spExactGrad, | ||
SmartPtr< TGridFunction > | spGridFct, | ||
const char * | cmp, | ||
number | time, | ||
int | quadOrder, | ||
const char * | subsets | ||
) |
compute H1 error of a function on the whole domain or on some subsets
This function computes the H1-difference between a given analytic function and a grid function.
[in] | spExactSol | analytic function |
[in] | spExactGrad | analytic gradient |
[in] | spGridFct | grid function |
[in] | cmp | symbolic name of component function |
[in] | time | time point |
[in] | quadOrder | order of quadrature rule |
[in] | subsets | subsets, where to compute |
References IntegrateSubsets(), and UG_THROW.
Referenced by H1Error().
number ug::H1Norm | ( | SmartPtr< TGridFunction > | spGridFct, |
const char * | cmp, | ||
int | quadOrder | ||
) |
References H1Norm().
number ug::H1Norm | ( | SmartPtr< TGridFunction > | spGridFct, |
const char * | cmp, | ||
int | quadOrder, | ||
const char * | subsets | ||
) |
References H1Norm().
number ug::H1Norm | ( | TGridFunction & | u, |
const char * | cmp, | ||
int | quadOrder, | ||
const char * | subsets = NULL |
||
) |
number ug::H1Norm2 | ( | TGridFunction & | u, |
const char * | cmp, | ||
int | quadOrder, | ||
const char * | subsets = NULL |
||
) |
References IntegrateSubsets(), and UG_THROW.
Referenced by H1Norm().
number ug::H1SemiDistance | ( | TGridFunction & | spGridFct1, |
const char * | cmp1, | ||
TGridFunction & | spGridFct2, | ||
const char * | cmp2, | ||
int | quadOrder, | ||
const char * | subsets, | ||
ConstSmartPtr< typename H1SemiDistIntegrand< TGridFunction >::weight_type > | weights | ||
) |
Distance in H1 semi norm (with select subsets & weights)
References H1SemiDistance2().
number ug::H1SemiDistance | ( | TGridFunction & | spGridFct1, |
const char * | cmp1, | ||
TGridFunction & | spGridFct2, | ||
const char * | cmp2, | ||
int | quadOrder, | ||
ConstSmartPtr< typename H1SemiDistIntegrand< TGridFunction >::weight_type > | weights | ||
) |
Distance in H1 semi norm (all subsets, with weights)
References H1SemiDistance2().
number ug::H1SemiDistance2 | ( | TGridFunction & | spGridFct1, |
const char * | cmp1, | ||
TGridFunction & | spGridFct2, | ||
const char * | cmp2, | ||
int | quadOrder, | ||
const char * | subsets, | ||
ConstSmartPtr< typename H1SemiDistIntegrand< TGridFunction >::weight_type > | weights | ||
) |
Squared distance in H1 semi norm (with select subsets & weights)
Referenced by H1SemiDistance(), and H1SemiDistance2().
number ug::H1SemiDistance2 | ( | TGridFunction & | spGridFct1, |
const char * | cmp1, | ||
TGridFunction & | spGridFct2, | ||
const char * | cmp2, | ||
int | quadOrder, | ||
ConstSmartPtr< typename H1SemiDistIntegrand< TGridFunction >::weight_type > | weights | ||
) |
Squared distance in H1 semi norm (all subsets, with weights)
References H1SemiDistance2().
number ug::H1SemiError | ( | SmartPtr< TGridFunction > | spGridFct1, |
const char * | cmp1, | ||
SmartPtr< TGridFunction > | spGridFct2, | ||
const char * | cmp2, | ||
int | quadOrder | ||
) |
Distance in H1 semi norm (all subsets)
References H1SemiError().
number ug::H1SemiError | ( | SmartPtr< TGridFunction > | spGridFct1, |
const char * | cmp1, | ||
SmartPtr< TGridFunction > | spGridFct2, | ||
const char * | cmp2, | ||
int | quadOrder, | ||
const char * | subsets | ||
) |
Distance in H1 semi norm (with subset selection)
References H1SemiError2().
Referenced by H1SemiError().
number ug::H1SemiError2 | ( | SmartPtr< TGridFunction > | spGridFct1, |
const char * | cmp1, | ||
SmartPtr< TGridFunction > | spGridFct2, | ||
const char * | cmp2, | ||
int | quadOrder, | ||
const char * | subsets | ||
) |
Distance in H1 semi norm (with subset selection)
Referenced by H1SemiError().
number ug::H1SemiNorm | ( | SmartPtr< TGridFunction > | spGridFct, |
const char * | cmp, | ||
int | quadOrder | ||
) |
References H1SemiNorm().
number ug::H1SemiNorm | ( | SmartPtr< TGridFunction > | spGridFct, |
const char * | cmp, | ||
int | quadOrder, | ||
const char * | subsets | ||
) |
References H1SemiNorm().
number ug::H1SemiNorm | ( | SmartPtr< TGridFunction > | spGridFct, |
const char * | cmp, | ||
int | quadOrder, | ||
const char * | subsets, | ||
ConstSmartPtr< typename H1SemiIntegrand< TGridFunction >::weight_type > | weights = SPNULL |
||
) |
References H1SemiNorm().
number ug::H1SemiNorm | ( | SmartPtr< TGridFunction > | spGridFct, |
const char * | cmp, | ||
int | quadOrder, | ||
ConstSmartPtr< typename H1SemiIntegrand< TGridFunction >::weight_type > | weights | ||
) |
References H1SemiNorm().
number ug::H1SemiNorm | ( | TGridFunction & | gridFct, |
const char * | cmp, | ||
int | quadOrder, | ||
const char * | subsets = NULL , |
||
ConstSmartPtr< typename H1SemiIntegrand< TGridFunction >::weight_type > | weights = SPNULL |
||
) |
number ug::H1SemiNorm2 | ( | TGridFunction & | gridFct, |
const char * | cmp, | ||
int | quadOrder, | ||
const char * | subsets = NULL , |
||
ConstSmartPtr< typename H1SemiIntegrand< TGridFunction >::weight_type > | weights = SPNULL |
||
) |
compute H1 semi-norm of a function on the whole domain (or on selected subsets)
This function computes the H1 semi-norm of a grid function
[in] | spGridFct | grid function |
[in] | cmp | symbolic name of component function |
[in] | time | time point |
[in] | quadOrder | order of quadrature rule |
[in] | subsets | subsets, where to compute (OPTIONAL) |
[in] | weights | element-wise weights (OPTIONAL) |
References IntegrateSubsets(), and UG_COND_THROW.
Referenced by H1SemiNorm().
void ug::HangingNormalOnSCVF | ( | MathVector< TWorldDim > & | outNormal, |
const MathVector< TWorldDim > * | vCornerCoords | ||
) |
size_t ug::hash_key | ( | const EdgeVertices * | key | ) |
References HashKey().
size_t ug::hash_key | ( | const FaceVertices * | key | ) |
References HashKey().
size_t ug::hash_key | ( | const string & | key | ) |
size_t ug::hash_key | ( | const VolumeVertices * | key | ) |
References HashKey().
size_t ug::hash_key | ( | Edge * | key | ) |
the hash-key is a function of vertex-hash-values.
References HashKey().
size_t ug::hash_key | ( | EdgeDescriptor * | key | ) |
the hash-key is a function of vertex-hash-values.
References HashKey().
size_t ug::hash_key | ( | EdgeVertices * | key | ) |
the hash-key is a function of vertex-hash-values.
The hash value depends on the associated vertices. If an Edge (or EdgeDescriptor) has the same vertices as another Edge (or EdgeDescriptor), the hash-keys are the same.
References HashKey().
size_t ug::hash_key | ( | Face * | key | ) |
the hash-key is a function of vertex-hash-values.
References HashKey().
size_t ug::hash_key | ( | FaceDescriptor * | key | ) |
the hash-key is a function of vertex-hash-values.
References HashKey().
size_t ug::hash_key | ( | FaceVertices * | key | ) |
the hash-key is a function of vertex-hash-values.
The hash value depends on the associated vertices. If an Face (or FaceDescriptor) has the same vertices as another Face (or FaceDescriptor), the hash-keys are the same.
References HashKey().
size_t ug::hash_key | ( | Vertex * | key | ) |
returns the hash-value of the vertex.
References ug::Vertex::get_hash_value().
size_t ug::hash_key | ( | Volume * | key | ) |
the hash-key is a function of vertex-hash-values.
References HashKey().
size_t ug::hash_key | ( | VolumeDescriptor * | key | ) |
the hash-key is a function of vertex-hash-values.
References HashKey().
size_t ug::hash_key | ( | VolumeVertices * | key | ) |
the hash-key is a function of vertex-hash-values.
The hash value depends on the associated vertices. If an Volume (or VolumeDescriptor) has the same vertices as another Volume (or VolumeDescriptor), the hash-keys are the same.
References HashKey().
size_t ug::hash_key< AlgebraID > | ( | const AlgebraID & | key | ) |
References ug::AlgebraID::index_on_master(), and ug::AlgebraID::master_proc().
|
inlinestatic |
sums the squared hash-values of associated vertices.
References ug::Vertex::get_hash_value(), and ug::EdgeVertices::vertex().
Referenced by hash_key().
|
inlinestatic |
sums the squared hash-values of associated vertices.
References ug::FaceVertices::num_vertices(), and ug::FaceVertices::vertices().
|
inlinestatic |
sums the squared hash-values of associated vertices.
References ug::VolumeVertices::num_vertices(), and ug::VolumeVertices::vertices().
bool ug::HasMemTracking | ( | ) |
std::string ug::HistogrammString | ( | std::vector< double > | values | ) |
References scientificStr().
void ug::IdentifySubsets | ( | TDomain & | dom, |
const char * | sName1, | ||
const char * | sName2 | ||
) |
identifies subset 1 with subset 2. If the grid of given domain has no periodic boundary manager attached, one will be created.
dom | Domain the periodic boundary should be defined on |
sName1 | subset name which elements should be identified with elements from those of sName2 |
sName2 |
References IdentifySubsets(), and UG_THROW.
void ug::IdentifySubsets | ( | TDomain & | dom, |
int | sInd1, | ||
int | sInd2 | ||
) |
identifies subset 1 with subset 2. If the grid of given domain has no periodic boundary manager attached, one will be created.
performs geometric ident of periodic elements and master slave
dom | Domain the periodic boundary should be defined on |
sInd1 | subset index which elements should be identified with elements from those of sInd2 |
sInd2 |
References ug::GridObjectCollection::begin(), CalculateCenter(), ug::PeriodicBoundaryManager::check_periodicity(), ug::GridObjectCollection::end(), ug::PeriodicBoundaryManager::identify(), ug::ParallelShiftIdentifier< TPosAA >::match(), ug::GridObjectCollection::num(), ug::GridObjectCollection::num_levels(), ug::ParallelShiftIdentifier< TPosAA >::set_shift(), UG_THROW, and VecSubtract().
Referenced by IdentifySubsets().
bool ug::ImportGridFromLGM | ( | Grid & | grid, |
const char * | filename, | ||
AVector3 & | aPos, | ||
ISubsetHandler * | pSurfaceHandler | ||
) |
References ug::ISubsetHandler::assign_subset(), ug::Grid::attach_to_vertices(), ug::Grid::create(), ug::Grid::has_vertex_attachment(), LOG, and s.
Referenced by LoadGrid3d_IMPL().
bool ug::ImportGridFromNG | ( | Grid & | grid, |
const char * | filename, | ||
AVector3 & | aPos, | ||
ISubsetHandler * | pSubdomainHandler | ||
) |
References ug::ISubsetHandler::assign_subset(), ug::Grid::attach_to_vertices(), ug::Grid::create(), ug::Grid::has_vertex_attachment(), LOG, ng_hexahedra, ng_prism, ng_pyramid, ng_quadrilateral, ng_tetrahedra, and ng_triangle.
Referenced by LoadGrid3d_IMPL().
bool ug::ImportGridFromTETGEN | ( | Grid & | grid, |
const char * | nodesFilename, | ||
const char * | facesFilename, | ||
const char * | elemsFilename, | ||
AVector3 & | aPos, | ||
ISubsetHandler * | psh, | ||
std::vector< AFloat > * | pvNodeAttributes | ||
) |
References ug::ISubsetHandler::assign_subset(), ug::Grid::attach_to_vertices(), ug::Grid::create(), dim, ug::Grid::has_vertex_attachment(), LOG, PROFILE_BEGIN, PROFILE_FUNC, and ug::Grid::reserve().
Referenced by LoadGridFromELE().
std::string ug::IndexListToRangeString | ( | const std::vector< ind_t > & | inds | ) |
Range strings are comma separated values and ranges, e.g.: "0,1,2-4,8,9-11"
void ug::induced_subgraph | ( | G_t & | ind_g, |
M_t * | A, | ||
const std::vector< size_t > & | inv_map | ||
) |
void ug::InitLinearManifoldSubsetHandler | ( | MultiGrid & | mg, |
MGSubsetHandler & | sh, | ||
MGSubsetHandler & | linearManifoldSH, | ||
const char * | linearManifoldSubsets | ||
) |
Procedure to initialize the linear boundary manifold subsets SubsetHandler with user-specified subsets.
This procedure initializes the referenced linear boundary manifold subsets SubsetHandler s.t. user-specified subsets
dom | reference to Domain |
linearManifoldSH | reference to user-specified linearManifoldSubsets SubsetHandler |
References ug::MultiGridSubsetHandler::assign_subset(), ug::MultiGridSubsetHandler::begin(), ug::MultiGridSubsetHandler::end(), ug::ISubsetHandler::get_subset_index(), ug::MultiGrid::num_levels(), RemoveWhitespaceFromString(), TokenizeString(), ug::MultiGrid::top_level(), UG_COND_THROW, and UG_THROW.
Referenced by ApplyConstrainedSmoothSubdivisionVolumesToTopLevel(), ApplySmoothSubdivisionSurfacesToTopLevel(), ApplySmoothSubdivisionVolumesToTopLevel(), and ug::GlobalSubdivisionMultiGridRefiner< TAPosition >::set_linear_manifold_subsets().
UG_API bool ug::InitPaths | ( | const char * | argv0 | ) |
Initializes the pathes of ug::PathProvider.
init app, script and data paths
Initializes the following pathes in ug::PathProvider:
Note: If you set a path before calling this method, it won't be overwritten.
References APPS_PATH, BIN_PATH, ug::PathProvider::get_path(), GetPathSeparator(), ug::PathProvider::has_path(), MAIN, PLUGIN_PATH, PROFILE_FUNC, ROOT_PATH, SCRIPT_PATH, ug::PathProvider::set_path(), and UG_DLOG.
Referenced by ug_init_path(), and UGInit().
bool ug::InnerDoFPosition | ( | std::vector< MathVector< dim > > & | vPos, |
const ReferenceObjectID | roid, | ||
const std::vector< MathVector< dim > > & | vCornerCoord, | ||
const LFEID & | lfeID | ||
) |
�
Returns the global DoF position on an element.
References EDGE, FACE, ReferenceElementDimension(), UG_THROW, VERTEX, and VOLUME.
Referenced by ug::StdTransfer< TDomain, TAlgebra >::assemble_prolongation(), ug::StdTransfer< TDomain, TAlgebra >::assemble_restriction(), CheckDoFElem(), collectStretchedElementIndices(), ug::StdLagrangeElemTransfer< TDomain >::do_restrict(), ExtractPositionsElem(), ug::CrouzeixRaviartElemTransfer< TDomain >::prolongate(), ug::StdLagrangeElemTransfer< TDomain >::prolongate(), and RestrictElemwise().
bool ug::InnerDoFPosition | ( | std::vector< MathVector< TDomain::dim > > & | vPos, |
GridObject * | elem, | ||
const TDomain & | domain, | ||
const LFEID & | lfeID | ||
) |
�
Returns the global DoF position on an element.
References ug::GridObject::base_object_id(), CollectCornerCoordinates(), EDGE, FACE, ug::GridObject::reference_object_id(), UG_THROW, VERTEX, and VOLUME.
bool ug::InnerDoFPositionElem | ( | std::vector< MathVector< dim > > & | vPos, |
const ReferenceObjectID | roid, | ||
const std::vector< MathVector< dim > > & | vVertPos, | ||
const LFEID & | lfeID | ||
) |
bool ug::InnerDoFPositionVertex | ( | std::vector< MathVector< dim > > & | vPos, |
const ReferenceObjectID | roid, | ||
const std::vector< MathVector< dim > > & | vVertPos, | ||
const LFEID & | lfeID | ||
) |
number ug::Integral | ( | number | val, |
SmartPtr< TGridFunction > | spGridFct | ||
) |
References Integral().
number ug::Integral | ( | number | val, |
SmartPtr< TGridFunction > | spGridFct, | ||
const char * | subsets | ||
) |
References Integral().
number ug::Integral | ( | number | val, |
SmartPtr< TGridFunction > | spGridFct, | ||
const char * | subsets, | ||
number | time | ||
) |
References Integral().
number ug::Integral | ( | number | val, |
SmartPtr< TGridFunction > | spGridFct, | ||
const char * | subsets, | ||
number | time, | ||
int | quadOrder | ||
) |
References dim, Integral(), and make_sp().
number ug::Integral | ( | number | val, |
SmartPtr< TGridFunction > | spGridFct, | ||
number | time | ||
) |
References Integral().
number ug::Integral | ( | SmartPtr< TGridFunction > | spGridFct, |
const char * | cmp | ||
) |
References Integral().
number ug::Integral | ( | SmartPtr< TGridFunction > | spGridFct, |
const char * | cmp, | ||
const char * | subsets | ||
) |
References Integral().
number ug::Integral | ( | SmartPtr< TGridFunction > | spGridFct, |
const char * | cmp, | ||
const char * | subsets, | ||
int | quadOrder | ||
) |
References Integral().
number ug::Integral | ( | SmartPtr< UserData< number, TGridFunction::dim > > | spData, |
SmartPtr< TGridFunction > | spGridFct | ||
) |
References Integral().
number ug::Integral | ( | SmartPtr< UserData< number, TGridFunction::dim > > | spData, |
SmartPtr< TGridFunction > | spGridFct, | ||
const char * | subsets | ||
) |
References Integral().
number ug::Integral | ( | SmartPtr< UserData< number, TGridFunction::dim > > | spData, |
SmartPtr< TGridFunction > | spGridFct, | ||
const char * | subsets, | ||
number | time | ||
) |
References Integral().
number ug::Integral | ( | SmartPtr< UserData< number, TGridFunction::dim > > | spData, |
SmartPtr< TGridFunction > | spGridFct, | ||
const char * | subsets, | ||
number | time, | ||
int | order | ||
) |
References Integral().
number ug::Integral | ( | SmartPtr< UserData< number, TGridFunction::dim > > | spData, |
SmartPtr< TGridFunction > | spGridFct, | ||
const char * | subsets, | ||
number | time, | ||
int | quadOrder, | ||
std::string | quadType | ||
) |
References Integral().
number ug::Integral | ( | SmartPtr< UserData< number, TGridFunction::dim > > | spData, |
SmartPtr< TGridFunction > | spGridFct, | ||
number | time | ||
) |
References Integral().
number ug::Integral | ( | SmartPtr< UserData< number, TGridFunction::dim > > | spData, |
TGridFunction & | spGridFct, | ||
const char * | subsets, | ||
number | time, | ||
int | quadOrder, | ||
std::string | quadType | ||
) |
References IntegrateSubsets().
Referenced by AdjustMeanValue(), ug::L2QuotientSpace< TGridFunction >::distance2(), Integral(), and ug::L2QuotientSpace< TGridFunction >::norm2().
number ug::Integral | ( | TGridFunction & | gridFct, |
const char * | cmp, | ||
const char * | subsets, | ||
int | quadOrder | ||
) |
References ug::SubsetGroup::add(), ug::SubsetGroup::add_all(), pcl::ProcessCommunicator::allreduce(), ug::SubsetGroup::dim(), IntegrateSubsets(), ug::detail::local(), pcl::NumProcs(), PCL_DT_DOUBLE, PCL_RO_SUM, RemoveLowerDimSubsets(), s, SameDimensionsInAllSubsets(), ug::SubsetGroup::size(), StdFuncIntegralOnVertex(), TokenizeString(), UG_COND_THROW, and UG_THROW.
number ug::IntegralNormalComponentOnManifold | ( | SmartPtr< UserData< MathVector< TGridFunction::dim >, TGridFunction::dim > > | spData, |
SmartPtr< TGridFunction > | spGridFct, | ||
const char * | BndSubset | ||
) |
References IntegralNormalComponentOnManifold().
number ug::IntegralNormalComponentOnManifold | ( | SmartPtr< UserData< MathVector< TGridFunction::dim >, TGridFunction::dim > > | spData, |
SmartPtr< TGridFunction > | spGridFct, | ||
const char * | BndSubset, | ||
const char * | InnerSubset | ||
) |
References IntegralNormalComponentOnManifold().
number ug::IntegralNormalComponentOnManifold | ( | SmartPtr< UserData< MathVector< TGridFunction::dim >, TGridFunction::dim > > | spData, |
SmartPtr< TGridFunction > | spGridFct, | ||
const char * | BndSubset, | ||
const char * | InnerSubset, | ||
number | time | ||
) |
References IntegralNormalComponentOnManifold().
number ug::IntegralNormalComponentOnManifold | ( | SmartPtr< UserData< MathVector< TGridFunction::dim >, TGridFunction::dim > > | spData, |
SmartPtr< TGridFunction > | spGridFct, | ||
const char * | BndSubset, | ||
const char * | InnerSubset, | ||
number | time, | ||
int | quadOrder | ||
) |
References dim, IntegralNormalComponentOnManifoldSubsets(), and make_sp().
Referenced by IntegralNormalComponentOnManifold().
number ug::IntegralNormalComponentOnManifold | ( | SmartPtr< UserData< MathVector< TGridFunction::dim >, TGridFunction::dim > > | spData, |
SmartPtr< TGridFunction > | spGridFct, | ||
const char * | BndSubset, | ||
number | time | ||
) |
References IntegralNormalComponentOnManifold().
number ug::IntegralNormalComponentOnManifoldGeneral | ( | TConstIterator | iterBegin, |
TConstIterator | iterEnd, | ||
typename domain_traits< WorldDim >::position_accessor_type & | aaPos, | ||
const ISubsetHandler * | ish, | ||
IIntegrand< MathVector< WorldDim >, WorldDim > & | integrand, | ||
const SubsetGroup & | bndSSGrp, | ||
int | quadOrder, | ||
Grid & | grid | ||
) |
References ug::Grid::associated_elements_sorted(), CollectCornerCoordinates(), ug::SubsetGroup::contains(), ug::DimReferenceElement< d >::corner(), dim, ug::ReferenceMappingProvider::get(), ug::QuadratureRuleProvider< TDim >::get(), ug::ISubsetHandler::get_subset_index(), ug::ReferenceElement::id(), ug::DimReferenceMapping< TDim, TWorldDim >::jacobian_transposed(), ug::DimReferenceMapping< TDim, TWorldDim >::local_to_global(), ug::ReferenceElement::num(), ug::PointerConstArray< TPtr >::size(), SqrtGramDeterminant(), UG_CATCH_THROW, and VecDot().
number ug::IntegralNormalComponentOnManifoldSubset | ( | SmartPtr< IIntegrand< MathVector< TGridFunction::dim >, TGridFunction::dim > > | spIntegrand, |
SmartPtr< TGridFunction > | spGridFct, | ||
int | si, | ||
const SubsetGroup & | bndSSGrp, | ||
int | quadOrder | ||
) |
number ug::IntegralNormalComponentOnManifoldSubsets | ( | SmartPtr< IIntegrand< MathVector< TGridFunction::dim >, TGridFunction::dim > > | spIntegrand, |
SmartPtr< TGridFunction > | spGridFct, | ||
const char * | BndSubsets, | ||
const char * | InnerSubsets, | ||
int | quadOrder | ||
) |
References ug::SubsetGroup::add(), ug::SubsetGroup::add_all(), pcl::ProcessCommunicator::allreduce(), dim, ug::SubsetGroup::dim(), DIM_SUBSET_EMPTY_GRID, ug::detail::local(), pcl::NumProcs(), PCL_DT_DOUBLE, PCL_RO_SUM, RemoveLowerDimSubsets(), SameDimensionsInAllSubsets(), ug::SubsetGroup::size(), TokenizeString(), and UG_THROW.
Referenced by IntegralNormalComponentOnManifold().
number ug::IntegralNormalComponentOnManifoldUsingFV1Geom | ( | TConstIterator | iterBegin, |
TConstIterator | iterEnd, | ||
typename domain_traits< WorldDim >::position_accessor_type & | aaPos, | ||
const ISubsetHandler * | ish, | ||
IIntegrand< MathVector< WorldDim >, WorldDim > & | integrand, | ||
const SubsetGroup & | bndSSGrp | ||
) |
number ug::Integrate | ( | TConstIterator | iterBegin, |
TConstIterator | iterEnd, | ||
typename domain_traits< WorldDim >::position_accessor_type & | aaPos, | ||
IIntegrand< number, WorldDim > & | integrand, | ||
int | quadOrder, | ||
std::string | quadType, | ||
Grid::AttachmentAccessor< typename domain_traits< dim >::grid_base_object, ANumber > * | paaElemContribs = NULL |
||
) |
integrates on the whole domain
This function integrates an arbitrary integrand over the whole domain. Note:
[in] | iterBegin | iterator to first geometric object to integrate |
[in] | iterBegin | iterator to last geometric object to integrate |
[in] | integrand | Integrand |
[in] | quadOrder | order of quadrature rule |
[in] | quadType | |
[in] | paaElemContribs | (optional). If != NULL, the method will store the contribution of each element in the associated attachment entry. |
References CollectCornerCoordinates(), ug::QuadratureRuleProvider< TDim >::get(), GetQuadratureType(), ug::DimReferenceMapping< TDim, TWorldDim >::jacobian_transposed(), ug::DimReferenceMapping< TDim, TWorldDim >::local_to_global(), ug::QuadratureRule< TDim >::points(), PROFILE_FUNC, ug::QuadratureRule< TDim >::size(), SqrtGramDeterminant(), UG_CATCH_THROW, ug::DimReferenceMapping< TDim, TWorldDim >::update(), ug::AttachmentAccessor< TElem, TAttachment, TElemHandler >::valid(), ug::IIntegrand< TData, TWorldDim >::values(), and ug::QuadratureRule< TDim >::weight().
number ug::IntegrateDiscFlux | ( | SmartPtr< IAssemble< typename TGridFunction::algebra_type > > | spAssemble, |
SmartPtr< TGridFunction > | spGridFct, | ||
const char * | pCmps, | ||
const char * | subsets | ||
) |
References ug::SubsetGroup::add(), ug::SubsetGroup::add_all(), pcl::ProcessCommunicator::allreduce(), CT_DIRICHLET, dim, ug::SubsetGroup::dim(), EDT_BND, ug::detail::local(), ug::FunctionGroup::name(), pcl::NumProcs(), PCL_DT_DOUBLE, PCL_RO_SUM, RemoveLowerDimSubsets(), SameDimensionsInAllSubsets(), ug::FunctionGroup::size(), ug::SubsetGroup::size(), TokenizeString(), UG_CATCH_THROW, UG_LOG, and UG_THROW.
void ug::IntegrateDiscFlux | ( | std::vector< number > & | vValue, |
const TGridFunction & | rDefect, | ||
const FunctionGroup & | fctGrp, | ||
int | si | ||
) |
References dim, DoFRef(), ug::FunctionGroup::size(), and UG_THROW.
number ug::IntegrateNormalComponentOnManifold | ( | TGridFunction & | u, |
const char * | cmp, | ||
const char * | BndSubset | ||
) |
Integrates a component over some boundary subsets.
This function integrates \( -c \cdot \vec{n} \) over some selected boundary subsets, where c is a component of the grid function u. The integral is taken over all boundary subset manifold geometric objects
u | a grid function |
cmp | the component c which should be integrated |
BndSubset | a comma-separated string of symbolic boundary subset names |
References ug::SubsetGroup::add(), ug::DimFV1Geometry< TDim, TWorldDim >::add_boundary_subset(), pcl::ProcessCommunicator::allreduce(), ug::DimFV1Geometry< TDim, TWorldDim >::bf(), CollectCornerCoordinates(), dim, DoFRef(), ug::LFEID::LAGRANGE, ug::detail::local(), pcl::NumProcs(), PCL_DT_DOUBLE, PCL_RO_SUM, s, ug::SubsetGroup::size(), TokenizeString(), UG_ASSERT, UG_CATCH_THROW, UG_THROW, ug::DimFV1Geometry< TDim, TWorldDim >::update(), VecDot(), VecScaleAdd(), and VecSet().
number ug::IntegrateNormalGradientOnManifold | ( | TGridFunction & | u, |
const char * | cmp, | ||
const char * | BndSubset, | ||
const char * | InnerSubset = NULL |
||
) |
Integrates the Flux of a component over some boundary subsets.
This function integrates \( - \nabla c \cdot \vec{n} \) over some selected boundary subsets. In order to compute the gradient of a function a world- dimension element must be given and, thus, some "inner" subsets have to be specified to indicate the full-dimensional subsets. The integral sum is then taken over all boundary subset manifold geometric objects, that are part of an element of the scheduled "inner" elements
u | a grid function |
cmp | the component, whose gradient should be integrated |
BndSubset | a comma-separated string of symbolic boundary subset names |
InnerSubset | a comma-separated string of symbolic inner subset names |
References ug::SubsetGroup::add(), ug::SubsetGroup::add_all(), ug::DimFV1Geometry< TDim, TWorldDim >::add_boundary_subset(), pcl::ProcessCommunicator::allreduce(), ug::DimFV1Geometry< TDim, TWorldDim >::bf(), CollectCornerCoordinates(), dim, ug::SubsetGroup::dim(), DoFRef(), ug::LFEID::LAGRANGE, ug::detail::local(), pcl::NumProcs(), PCL_DT_DOUBLE, PCL_RO_SUM, s, ug::SubsetGroup::size(), TokenizeString(), UG_ASSERT, UG_CATCH_THROW, UG_THROW, ug::DimFV1Geometry< TDim, TWorldDim >::update(), VecDot(), VecScaleAdd(), and VecSet().
number ug::IntegrateSubset | ( | IIntegrand< number, TGridFunction::dim > & | spIntegrand, |
TGridFunction & | spGridFct, | ||
int | si, | ||
int | quadOrder, | ||
std::string | quadType | ||
) |
References ug::IIntegrand< TData, TWorldDim >::set_subset().
number ug::IntegrateSubsets | ( | IIntegrand< number, TGridFunction::dim > & | spIntegrand, |
TGridFunction & | spGridFct, | ||
const char * | subsets, | ||
int | quadOrder, | ||
std::string | quadType = std::string() |
||
) |
References ug::SubsetGroup::add(), ug::SubsetGroup::add_all(), pcl::ProcessCommunicator::allreduce(), dim, ug::SubsetGroup::dim(), DIM_SUBSET_EMPTY_GRID, ug::detail::local(), pcl::NumProcs(), PCL_DT_DOUBLE, PCL_RO_SUM, RemoveLowerDimSubsets(), SameDimensionsInAllSubsets(), ug::SubsetGroup::size(), TokenizeString(), UG_CATCH_THROW, UG_COND_THROW, UG_LOG, and UG_THROW.
Referenced by GetMinimum(), GridFunctionDistance2(), H1EnergyNorm2(), H1Error(), H1Norm2(), H1SemiNorm2(), Integral(), L2Error(), L2Norm2(), and ug::H1EnergyComponentSpace< TGridFunction >::norm2().
void ug::Interpolate | ( | number | val, |
SmartPtr< TGridFunction > | spGridFct, | ||
const char * | cmp | ||
) |
References Interpolate().
void ug::Interpolate | ( | number | val, |
SmartPtr< TGridFunction > | spGridFct, | ||
const char * | cmp, | ||
const char * | subsets | ||
) |
References Interpolate().
void ug::Interpolate | ( | number | val, |
SmartPtr< TGridFunction > | spGridFct, | ||
const char * | cmp, | ||
const char * | subsets, | ||
number | time | ||
) |
References dim, Interpolate(), and make_sp().
void ug::Interpolate | ( | number | val, |
SmartPtr< TGridFunction > | spGridFct, | ||
const char * | cmp, | ||
const char * | subsets, | ||
number | time, | ||
const SmartPtr< CplUserData< MathVector< TGridFunction::dim >, TGridFunction::dim > > | m_diff_pos | ||
) |
void ug::Interpolate | ( | number | val, |
SmartPtr< TGridFunction > | spGridFct, | ||
const char * | cmp, | ||
number | time | ||
) |
References Interpolate().
void ug::Interpolate | ( | SmartPtr< UserData< number, TGridFunction::dim > > | spInterpolFunction, |
SmartPtr< TGridFunction > | spGridFct, | ||
const char * | cmp | ||
) |
References Interpolate().
void ug::Interpolate | ( | SmartPtr< UserData< number, TGridFunction::dim > > | spInterpolFunction, |
SmartPtr< TGridFunction > | spGridFct, | ||
const char * | cmp, | ||
const char * | subsets | ||
) |
References Interpolate().
void ug::Interpolate | ( | SmartPtr< UserData< number, TGridFunction::dim > > | spInterpolFunction, |
SmartPtr< TGridFunction > | spGridFct, | ||
const char * | cmp, | ||
const char * | subsets, | ||
number | time | ||
) |
interpolates a function on a subset
This function interpolates a GridFunction. To evaluate the function on every point a functor must be passed.
[in] | spInterpolFunction | data providing interpolation values |
[out] | spGridFct | interpolated grid function |
[in] | cmp | symbolic name of function component |
[in] | subsets | subsets, where to interpolate (NULL = everywhere) |
[in] | time | time point |
References dim.
Referenced by Interpolate().
void ug::Interpolate | ( | SmartPtr< UserData< number, TGridFunction::dim > > | spInterpolFunction, |
SmartPtr< TGridFunction > | spGridFct, | ||
const char * | cmp, | ||
const char * | subsets, | ||
number | time, | ||
const MathVector< TGridFunction::dim > | diff_pos | ||
) |
interpolates a function on a subset
This function interpolates a GridFunction. To evaluate the function on every point a functor must be passed.
[in] | spInterpolFunction | data providing interpolation values |
[out] | spGridFct | interpolated grid function |
[in] | cmp | symbolic name of function component |
[in] | subsets | subsets, where to interpolate (NULL = everywhere) |
[in] | time | time point |
References Interpolate(), and UG_THROW.
void ug::Interpolate | ( | SmartPtr< UserData< number, TGridFunction::dim > > | spInterpolFunction, |
SmartPtr< TGridFunction > | spGridFct, | ||
const char * | cmp, | ||
const MathVector< TGridFunction::dim > & | m_diff_pos | ||
) |
References Interpolate().
void ug::Interpolate | ( | SmartPtr< UserData< number, TGridFunction::dim > > | spInterpolFunction, |
SmartPtr< TGridFunction > | spGridFct, | ||
const char * | cmp, | ||
number | time | ||
) |
References Interpolate().
void ug::Interpolate | ( | SmartPtr< UserData< number, TGridFunction::dim > > | spInterpolFunction, |
SmartPtr< TGridFunction > | spGridFct, | ||
const size_t | fct, | ||
const char * | subsets, | ||
number | time, | ||
const MathVector< TGridFunction::dim > | diff_pos | ||
) |
interpolates a function on a subset
This function interpolates a GridFunction. To evaluate the function on every point a functor must be passed.
[in] | spInterpolFunction | data providing interpolation values |
[out] | spGridFct | interpolated grid function |
[in] | cmp | symbolic name of function component |
[in] | subsets | subsets, where to interpolate (NULL = everywhere) |
[in] | time | time point |
References ug::SubsetGroup::add(), ug::SubsetGroup::add_all(), Interpolate(), ug::LFEID::LAGRANGE, RemoveLowerDimSubsets(), SameDimensionsInAllSubsets(), TokenizeString(), and UG_THROW.
void ug::Interpolate | ( | SmartPtr< UserData< number, TGridFunction::dim > > | spInterpolFunction, |
SmartPtr< TGridFunction > | spGridFct, | ||
const size_t | fct, | ||
const SubsetGroup & | ssGrp, | ||
number | time, | ||
const MathVector< TGridFunction::dim > | diff_pos | ||
) |
interpolates a function on a subset
This function interpolates a GridFunction. To evaluate the function on every point a functor must be passed.
[in] | spInterpolFunction | data providing interpolation values |
[out] | spGridFct | interpolated grid function |
[in] | fct | id of function component |
[in] | subsets | subsets, where to interpolate (NULL = everywhere) |
[in] | time | time point |
References ug::LFEID::LAGRANGE, PST_CONSISTENT, and UG_THROW.
|
inline |
References dim, DoFRef(), ElementDebugInfo(), and UG_ASSERT.
void ug::InterpolateInner | ( | number | val, |
SmartPtr< TGridFunction > | spGridFct, | ||
const char * | cmp | ||
) |
References InterpolateInner().
void ug::InterpolateInner | ( | number | val, |
SmartPtr< TGridFunction > | spGridFct, | ||
const char * | cmp, | ||
const char * | subsets | ||
) |
References InterpolateInner().
void ug::InterpolateInner | ( | number | val, |
SmartPtr< TGridFunction > | spGridFct, | ||
const char * | cmp, | ||
const char * | subsets, | ||
number | time | ||
) |
References dim, InterpolateInner(), and make_sp().
void ug::InterpolateInner | ( | number | val, |
SmartPtr< TGridFunction > | spGridFct, | ||
const char * | cmp, | ||
number | time | ||
) |
References InterpolateInner().
void ug::InterpolateInner | ( | SmartPtr< UserData< number, TGridFunction::dim > > | spInterpolFunction, |
SmartPtr< TGridFunction > | spGridFct, | ||
const char * | cmp | ||
) |
References InterpolateInner().
void ug::InterpolateInner | ( | SmartPtr< UserData< number, TGridFunction::dim > > | spInterpolFunction, |
SmartPtr< TGridFunction > | spGridFct, | ||
const char * | cmp, | ||
const char * | subsets | ||
) |
References InterpolateInner().
void ug::InterpolateInner | ( | SmartPtr< UserData< number, TGridFunction::dim > > | spInterpolFunction, |
SmartPtr< TGridFunction > | spGridFct, | ||
const char * | cmp, | ||
const char * | subsets, | ||
number | time | ||
) |
interpolates a function on a subset
This function interpolates a Lagrange type GridFunction. In contrast to its "big brother" Interpolate() in interpolate.h, this function will only write to inner DoFs, but to all of them, on any element located in any of the given subsets. This is more intuitive and secure than writing to all (not necessarily inner) DoFs of an element located in a subset, as this takes into account the unique subsets of sub-elements.
At the moment, this is only meant for Lagrange-type elements. Please feel free to add functionality for other types if you like.
[in] | spInterpolFunction | data providing interpolation values |
[out] | spGridFct | interpolated grid function |
[in] | cmp | symbolic name of function component |
[in] | subsets | subsets, where to interpolate (NULL = everywhere) |
[in] | time | time point |
References ug::SubsetGroup::add(), ug::SubsetGroup::add_all(), ug::LFEID::LAGRANGE, PST_CONSISTENT, TokenizeString(), and UG_THROW.
Referenced by InterpolateInner().
void ug::InterpolateInner | ( | SmartPtr< UserData< number, TGridFunction::dim > > | spInterpolFunction, |
SmartPtr< TGridFunction > | spGridFct, | ||
const char * | cmp, | ||
number | time | ||
) |
References InterpolateInner().
void ug::InterpolateInnerDiff | ( | SmartPtr< UserData< number, TGridFunction::dim > > | spInterpolFunction, |
SmartPtr< TGridFunction > | spGridFct, | ||
const char * | cmp, | ||
const char * | subsets, | ||
number | time, | ||
const SmartPtr< CplUserData< MathVector< TGridFunction::dim >, TGridFunction::dim > > | m_diff_pos | ||
) |
interpolates a function on a subset
This function interpolates a Lagrange type GridFunction. In contrast to its "big brother" Interpolate() in interpolate.h, this function will only write to inner DoFs, but to all of them, on any element located in any of the given subsets. This is more intuitive and secure than writing to all (not necessarily inner) DoFs of an element located in a subset, as this takes into account the unique subsets of sub-elements.
At the moment, this is only meant for Lagrange-type elements. Please feel free to add functionality for other types if you like.
[in] | spInterpolFunction | data providing interpolation values |
[out] | spGridFct | interpolated grid function |
[in] | cmp | symbolic name of function component |
[in] | subsets | subsets, where to interpolate (NULL = everywhere) |
[in] | time | time point |
References ug::SubsetGroup::add(), ug::SubsetGroup::add_all(), ug::LFEID::LAGRANGE, PST_CONSISTENT, TokenizeString(), and UG_THROW.
void ug::InterpolateOnDiffElements | ( | SmartPtr< UserData< number, TGridFunction::dim > > | spInterpolFunction, |
SmartPtr< TGridFunction > | spGridFct, | ||
size_t | fct, | ||
int | si, | ||
number | time, | ||
const MathVector< TGridFunction::dim > | diff_pos | ||
) |
This function interpolates a grid function on an element by element loop. On each element the all associated (up to the boundary of the element) are interpolated and the values are stored in the grid function.
[in] | spInterpolFunction | data providing interpolation values |
[out] | spGridFct | interpolated grid function |
[in] | fct | symbolic name of function component |
[in] | si | subset, where to interpolate |
[in] | time | time point |
References CollectCornerCoordinates(), dim, DoFRef(), ug::ReferenceMapping< TRefElem, TWorldDim >::local_to_global(), ug::LocalDoFSet::num_sh(), ug::DimLocalDoFSet< TDim >::position(), UG_THROW, and ug::ReferenceMapping< TRefElem, TWorldDim >::update().
void ug::InterpolateOnDiffElements | ( | SmartPtr< UserData< number, TGridFunction::dim > > | spInterpolFunction, |
SmartPtr< TGridFunction > | spGridFct, | ||
size_t | fct, | ||
number | time, | ||
const SubsetGroup & | ssGrp, | ||
const MathVector< TGridFunction::dim > | diff_pos | ||
) |
This function interpolates a grid function on an element by element loop. On each element the all associated (up to the boundary of the element) are interpolated and the values are stored in the grid function.
[in] | spInterpolFunction | data providing interpolation values |
[out] | spGridFct | interpolated grid function |
[in] | fct | symbolic name of function component |
[in] | ssGrp | subsets, where to interpolate |
[in] | time | time point |
References dim, ug::SubsetGroup::dim(), DIM_SUBSET_EMPTY_GRID, ug::SubsetGroup::size(), UG_CATCH_THROW, and UG_THROW.
void ug::InterpolateOnDiffVertices | ( | SmartPtr< UserData< number, TGridFunction::dim > > | spInterpolFunction, |
SmartPtr< TGridFunction > | spGridFct, | ||
size_t | fct, | ||
number | time, | ||
const SubsetGroup & | ssGrp, | ||
const MathVector< TGridFunction::dim > | diff_pos | ||
) |
This function interpolates a grid function on a vertex loop. Thus, it can only be used if all degrees of freedom are located in the vertices only (e.g. P1 finite elements). In those cases it is faster than the element by element loop.
[in] | spInterpolFunction | data providing interpolation values |
[out] | spGridFct | interpolated grid function |
[in] | fct | symbolic name of function component |
[in] | ssGrp | subsets, where to interpolate |
[in] | time | time point |
[in] | diff_pos | different vector between Interpolatin values and spGridFct. |
References DoFRef(), and ug::SubsetGroup::size().
void ug::InterpolateOnElements | ( | SmartPtr< UserData< number, TGridFunction::dim > > | spInterpolFunction, |
SmartPtr< TGridFunction > | spGridFct, | ||
size_t | fct, | ||
int | si, | ||
number | time | ||
) |
This function interpolates a grid function on an element by element loop. On each element the all associated (up to the boundary of the element) are interpolated and the values are stored in the grid function.
[in] | spInterpolFunction | data providing interpolation values |
[out] | spGridFct | interpolated grid function |
[in] | fct | symbolic name of function component |
[in] | si | subset, where to interpolate |
[in] | time | time point |
References dim.
void ug::InterpolateOnElements | ( | SmartPtr< UserData< number, TGridFunction::dim > > | spInterpolFunction, |
SmartPtr< TGridFunction > | spGridFct, | ||
size_t | fct, | ||
number | time, | ||
const SubsetGroup & | ssGrp | ||
) |
This function interpolates a grid function on an element by element loop. On each element the all associated (up to the boundary of the element) are interpolated and the values are stored in the grid function.
[in] | spInterpolFunction | data providing interpolation values |
[out] | spGridFct | interpolated grid function |
[in] | fct | symbolic name of function component |
[in] | ssGrp | subsets, where to interpolate |
[in] | time | time point |
References dim, ug::SubsetGroup::dim(), DIM_SUBSET_EMPTY_GRID, ug::SubsetGroup::size(), UG_CATCH_THROW, and UG_THROW.
void ug::InterpolateOnElementsInner | ( | SmartPtr< UserData< number, TGridFunction::dim > > | spInterpolFunction, |
SmartPtr< TGridFunction > | spGridFct, | ||
size_t | fct, | ||
int | si, | ||
number | time | ||
) |
This function interpolates a grid function on a specific subset and for a specific element type. All inner dofs of all grid elements of the given type in the given subset will be assigned an interpolated value.
[in] | spInterpolFunction | data providing interpolation values |
[out] | spGridFct | interpolated grid function |
[in] | fct | symbolic name of function component |
[in] | si | subset, where to interpolate |
[in] | time | time point |
References dim, and ROID_TETRAHEDRON.
void ug::InterpolateOnElementsInner | ( | SmartPtr< UserData< number, TGridFunction::dim > > | spInterpolFunction, |
SmartPtr< TGridFunction > | spGridFct, | ||
size_t | fct, | ||
int | si, | ||
number | time, | ||
const MathVector< TGridFunction::dim > | diff_pos | ||
) |
This function interpolates a grid function on a specific subset and for a specific element type. All inner dofs of all grid elements of the given type in the given subset will be assigned an interpolated value.
[in] | spInterpolFunction | data providing interpolation values |
[out] | spGridFct | interpolated grid function |
[in] | fct | symbolic name of function component |
[in] | si | subset, where to interpolate |
[in] | time | time point |
References DoFRef(), ROID_TETRAHEDRON, and UG_THROW.
void ug::InterpolateOnElementsInner | ( | SmartPtr< UserData< number, TGridFunction::dim > > | spInterpolFunction, |
SmartPtr< TGridFunction > | spGridFct, | ||
size_t | fct, | ||
number | time, | ||
const SubsetGroup & | ssGrp | ||
) |
This function interpolates a grid function on a subset group. All inner dofs of all grid elements in the subset group will be assigned an inter- polated value.
[in] | spInterpolFunction | data providing interpolation values |
[out] | spGridFct | interpolated grid function |
[in] | fct | symbolic name of function component |
[in] | ssGrp | subsets, where to interpolate |
[in] | time | time point |
References dim, ug::SubsetGroup::dim(), DIM_SUBSET_EMPTY_GRID, EDGE, FACE, ug::SubsetGroup::size(), UG_CATCH_THROW, UG_THROW, VERTEX, and VOLUME.
void ug::InterpolateOnVertices | ( | SmartPtr< UserData< number, TGridFunction::dim > > | spInterpolFunction, |
SmartPtr< TGridFunction > | spGridFct, | ||
size_t | fct, | ||
number | time, | ||
const SubsetGroup & | ssGrp | ||
) |
This function interpolates a grid function on a vertex loop. Thus, it can only be used if all degrees of freedom are located in the vertices only (e.g. P1 finite elements). In those cases it is faster than the element by element loop.
[in] | spInterpolFunction | data providing interpolation values |
[out] | spGridFct | interpolated grid function |
[in] | fct | symbolic name of function component |
[in] | ssGrp | subsets, where to interpolate |
[in] | time | time point |
References dim.
void ug::InterpolateValues | ( | TVector & | u, |
std::vector< size_t > & | constrainedIndex, | ||
std::vector< std::vector< size_t > > & | vConstrainingIndex | ||
) |
References frac, UG_ASSERT, and VecScaleAdd().
Referenced by ug::SymP1Constraints< TDomain, TAlgebra >::adjust_solution(), and ug::OneSideP1Constraints< TDomain, TAlgebra >::adjust_solution().
bool ug::IntersectCloseEdges | ( | Grid & | grid, |
TObjectCollection & | elems, | ||
TAAPosVRT & | aaPos, | ||
number | snapThreshold | ||
) |
THIS METHOD USES Grid::mark. Intersects all edges in elems which are closer to each other than snapThreshold.
THIS METHOD USES Grid::mark. Intersects all edges in elems which are closer to each other than snapThreshold.
TObjectCollection has to fulfill the interface of a GridObjectCollection.
References ug::Grid::associated_elements(), ug::Grid::begin_marking(), ug::Grid::end_marking(), ug::Grid::is_marked(), ug::Grid::mark(), ResolveEdgeEdgeIntersection(), ug::PointerConstArray< TPtr >::size(), sq(), and UG_LOG.
Referenced by ResolveTriangleIntersections().
bool ug::IntersectCoplanarTriangles | ( | std::vector< typename TAAPos::ValueType > & | edgesOut, |
FaceVertices * | tri1, | ||
FaceVertices * | tri2, | ||
TAAPos | aaPos | ||
) |
Intersects Coplanar Triangles.
fills a vector with the intersections on tri 1. Each pair of points corresponds to an intersection-edge.
References CalculateCenter(), ug::UGError::get_msg(), IntersectCoplanarTriangles(), ug::FaceVertices::num_vertices(), UG_THROW, and ug::FaceVertices::vertex().
|
inline |
Intersects Coplanar Triangles.
fills a vector with the intersections on tri 1. Each pair of points corresponds to an intersection-edge. Please note that the returned list may contain multiple copies of a point.
References LineLineIntersection2d(), PointIsInsideTriangle(), SMALL, sq(), UG_COND_THROW, VecDistanceSq(), VecDot(), VecLength(), VecLengthSq(), VecScale(), and VecSubtract().
Referenced by IntersectCoplanarTriangles(), and ResolveTriangleIntersections().
|
inline |
Intersects Coplanar Triangles.
fills a vector with the intersections on tri 1. Each pair of points corresponds to an intersection-edge. Please note that the returned list may contain multiple copies of a point. This method works even if the triangles are not perfectly coplanar. In this case the projection of the triangle (p10,p11,p12) onto the triangle (p00,p01,p02) is intersected. Please note that the returned list may contain multiple copies of a point.
References CalculateTriangleNormal(), ConstructOrthonormalSystem(), IntersectCoplanarTriangles(), MatVecMult(), TransposedMatVecMult(), UG_LOG, VecCopy(), and VecSubtract().
void ug::InvalidateSmallLenses | ( | Field< T > & | field, |
size_t | thresholdCellCount, | ||
const T & | noDataValue | ||
) |
invalidates cells that belong to a small lense
Given a valid cell, the assoicated lense is the set of valid cells that can be reached from that cell by only traversing valid neighbors. Whether a lense is small or not is determined by the number of cells that belong to a lense.
References ug::Field< T >::at(), ug::Field< T >::height(), and ug::Field< T >::width().
Referenced by ug::RasterLayers::invalidate_small_lenses().
void ug::InverseFromInverseType | ( | TMatrix & | mat, |
TInverseMatrixType & | inv, | ||
TVector & | x, | ||
TVector & | e | ||
) |
References MatMult().
void ug::InverseFromInverseType | ( | TMatrix & | mat, |
TMatrix & | inv, | ||
TVector & | x, | ||
TVector & | e | ||
) |
|
inline |
|
inline |
you can implement this function with GetInverse and MatMult
Referenced by ug::NLGaussSeidelSolver< TDomain, TAlgebra >::apply(), ug::NLJacobiSolver< TAlgebra >::apply(), ug::MatrixDiagonalInverse< M, X, Y >::apply(), ug::MatrixDiagonalInverse< M, X, Y >::apply_sub(), ug::ILUTPreconditioner< TAlgebra >::applyLU(), backward_gs_step(), ug::BlockGaussSeidelIterative< TAlgebra, backward, forward >::correct(), diag_step(), Diag_Vanka_step(), ElementGaussSeidelStep(), forward_gs_step(), gs_step_LL(), gs_step_UR(), invert_U(), ug::LineGaussSeidel< TDomain, TAlgebra >::linegs_step(), ug::LineVanka< TDomain, TAlgebra >::linevanka_step(), ug::ILUTPreconditioner< TAlgebra >::multi_apply(), ug::PILUTPreconditioner< TAlgebra >::step(), ug::LocalIndexSubspace< TDomain, TAlgebra, TObject >::update_solution(), ug::LocalDoFSubspace< TDomain, TAlgebra, TObject >::update_solution(), and Vanka_step().
bool ug::Invert | ( | DenseMatrix< FixedArray2< T, TUnknowns, TUnknowns > > & | mat | ) |
References getrf(), getri(), UG_ASSERT, and UG_COND_THROW.
|
inline |
|
inline |
bool ug::invert_L | ( | const Matrix_type & | A, |
Vector_type & | x, | ||
const Vector_type & | b | ||
) |
References MatMultAdd(), PROFILE_FUNC_GROUP, and s.
Referenced by ug::ILU< TAlgebra >::applyLU().
bool ug::invert_U | ( | const Matrix_type & | A, |
Vector_type & | x, | ||
const Vector_type & | b, | ||
const number | eps = 1e-8 |
||
) |
References BlockNorm(), InverseMatMult(), MatMultAdd(), PROFILE_FUNC_GROUP, s, and UG_LOG.
Referenced by ug::ILU< TAlgebra >::applyLU().
bool ug::InvertNdyn | ( | DenseMatrix< T > & | mat | ) |
void ug::InvertOrientation | ( | Grid & | grid, |
iter_t | elemsBegin, | ||
iter_t | elemsEnd | ||
) |
inverts the orientation of all elements between elemsBegin and elemsEnd
Make sure that iter_t::value_type is of type Edge*, Face*, or Volume*.
References ug::Grid::flip_orientation().
template void ug::InvertSelection< MGSelector > | ( | MGSelector & | ) |
template void ug::InvertSelection< Selector > | ( | Selector & | ) |
AnisotropyState ug::is_anisotropic | ( | Edge * | elem, |
const TAAPos & | aaPos, | ||
number | thresholdRatio | ||
) |
References ISOTROPIC.
Referenced by close_sides_of_anisotropic_elem(), is_anisotropic(), and long_edges_of_anisotropic_elem().
AnisotropyState ug::is_anisotropic | ( | Face * | elem, |
const TAAPos & | aaPos, | ||
number | thresholdRatio | ||
) |
References is_anisotropic(), and ISOTROPIC.
|
static |
References HEX_SHORTX, HEX_SHORTXY, HEX_SHORTXZ, HEX_SHORTY, HEX_SHORTYZ, HEX_SHORTZ, ISOTROPIC, ug::Hexahedron::vertex(), and VertexDistance().
|
static |
References ISOTROPIC, p, PRISM_FLAT, PRISM_LONG, and VertexDistance().
|
static |
AnisotropyState ug::is_anisotropic | ( | Volume * | elem, |
const TAAPos & | aaPos, | ||
number | thresholdRatio | ||
) |
References is_anisotropic(), and ISOTROPIC.
bool ug::is_permutation | ( | O_t & | o | ) |
Referenced by ug::BoostCuthillMcKeeOrdering< TAlgebra, O_t >::check(), ug::BoostMinimumDegreeOrdering< TAlgebra, O_t >::check(), ug::NativeCuthillMcKeeOrdering< TAlgebra, O_t >::check(), ug::SCCOrdering< TAlgebra, O_t >::check(), ug::TopologicalOrdering< TAlgebra, O_t >::check(), ug::DirectionalOrdering< TAlgebra, TDomain, O_t >::check(), ug::LexOrdering< TAlgebra, TDomain, O_t >::check(), and ug::RiverOrdering< TAlgebra, TDomain, O_t >::check().
bool ug::IsFinite | ( | const ParallelVector< TVector > & | v | ) |
|
inline |
References IsFiniteAndNotTooBig().
|
inline |
References IsFiniteAndNotTooBig().
|
inline |
|
inline |
References IsFiniteAndNotTooBig(), and ug::MathTensor< TRank, N, T >::size().
|
inline |
References IsFiniteAndNotTooBig(), and ug::MathTensorX< TEntry, N >::size().
|
inline |
References IsFiniteAndNotTooBig(), and ug::MathVector< N, T >::size().
bool ug::IsFiniteAndNotTooBig | ( | const ParallelVector< TVector > & | v | ) |
|
inline |
References IsFiniteAndNotTooBig().
bool ug::IsFiniteAndNotTooBig | ( | const TVector & | v, |
double | tooBigValue = 1e24 |
||
) |
References BlockVectorFiniteAndNotTooBig().
|
inline |
Referenced by ug::InverseLinker< dim >::eval_and_deriv(), ug::LuaUserFunction< TData, dim, TDataIn >::eval_and_deriv(), ug::LuaUserFunction< TData, dim, TDataIn >::eval_deriv(), ug::LuaUserFunction< TData, dim, TDataIn >::eval_value(), ug::LuaUserFunction< TData, dim, TDataIn >::evaluate(), IsFinite(), IsFiniteAndNotTooBig(), IsVectorFiniteAndNotTooBig(), ug::LuaFunction< TData, TDataIn >::operator()(), ug::LuaUserFunction< TData, dim, TDataIn >::operator()(), ReturnValueToNumber(), ThrowIfIsVectorNanOrTooBig(), and WarnIfIsVectorNanOrTooBig().
|
inline |
References find().
Referenced by AddIfUnique().
bool ug::IsLonger | ( | const string & | a, |
const string & | b | ||
) |
bool ug::IsMemTrackerEnabled | ( | ) |
References bMemTracker.
bool ug::IsShiftChar | ( | char | c | ) |
References shiftCharacters, and shiftCharactersLength.
Referenced by ConfigShift().
UG_API int ug::IsSliver | ( | const vector3 & | v0, |
const vector3 & | v1, | ||
const vector3 & | v2, | ||
const vector3 & | v3, | ||
number | thresholdRatio | ||
) |
Checks for all edges of the given tetrahedron whether the distance to the opposite edge is smaller than the given ratio of the length of the longest edge in the element.
References DistanceLineToLine(), ug::tet_rules::EDGE_VRT_INDS, ug::tet_rules::NUM_EDGES, ug::tet_rules::OPPOSED_EDGE, and VecDistanceSq().
Referenced by FindSlivers().
bool ug::IsSubSurfaceElement | ( | MultiGrid & | mg, |
TElem * | e, | ||
bool | checkSides = false |
||
) |
returns true, if the element lies one level below the surface
If checkSides == false, then only children of the same base type as TElem will be regarded. If checkSides == true, also children of the elements sides will be regarded, too. If all regarded children lie on the surface (i.e. do not have children them selfs), then the element is regarded as a surface element.
References ug::MultiGrid::get_child(), ug::Grid::get_side(), and ug::MultiGrid::num_children().
|
inline |
References IsFiniteAndNotTooBig().
References SMALL.
References SMALL.
|
inline |
|
inline |
You should avoid casting whenever possible!
std::string ug::JuliaString | ( | const DenseMatrix< TStorage > & | A, |
const char * | name | ||
) |
References name, and NonzeroString().
Referenced by ug::SchurComplementOperator< TAlgebra >::debug_compute_matrix().
number ug::L2Distance | ( | TGridFunction & | spGridFct1, |
const char * | cmp1, | ||
TGridFunction & | spGridFct2, | ||
const char * | cmp2, | ||
int | quadOrder, | ||
const char * | subsets | ||
) |
number ug::L2Distance2 | ( | TGridFunction & | spGridFct1, |
const char * | cmp1, | ||
TGridFunction & | spGridFct2, | ||
const char * | cmp2, | ||
int | quadOrder, | ||
const char * | subsets | ||
) |
computes the squared l2 distance between two functions
number ug::L2Distance2 | ( | TGridFunction & | spGridFct1, |
const char * | cmp1, | ||
TGridFunction & | spGridFct2, | ||
const char * | cmp2, | ||
int | quadOrder, | ||
const char * | subsets, | ||
ConstSmartPtr< typename L2Integrand< TGridFunction >::weight_type > | spWeight, | ||
number | avgDist12 = 0.0 |
||
) |
computes the squared l2 distance between two functions
Referenced by ug::L2ComponentSpace< TGridFunction >::distance2(), ug::L2QuotientSpace< TGridFunction >::distance2(), and L2Distance().
number ug::L2Error | ( | SmartPtr< TGridFunction > | spGridFct1, |
const char * | cmp1, | ||
SmartPtr< TGridFunction > | spGridFct2, | ||
const char * | cmp2, | ||
int | quadOrder | ||
) |
References L2Distance().
number ug::L2Error | ( | SmartPtr< TGridFunction > | spGridFct1, |
const char * | cmp1, | ||
SmartPtr< TGridFunction > | spGridFct2, | ||
const char * | cmp2, | ||
int | quadOrder, | ||
const char * | subsets | ||
) |
References L2Distance().
number ug::L2Error | ( | SmartPtr< UserData< number, TGridFunction::dim > > | spExactSol, |
SmartPtr< TGridFunction > | spGridFct, | ||
const char * | cmp, | ||
number | time, | ||
int | quadOrder | ||
) |
References L2Error().
number ug::L2Error | ( | SmartPtr< UserData< number, TGridFunction::dim > > | spExactSol, |
SmartPtr< TGridFunction > | spGridFct, | ||
const char * | cmp, | ||
number | time, | ||
int | quadOrder, | ||
const char * | subsets | ||
) |
References L2Error().
number ug::L2Error | ( | SmartPtr< UserData< number, TGridFunction::dim > > | spExactSol, |
TGridFunction & | gridFct, | ||
const char * | cmp, | ||
number | time, | ||
int | quadOrder, | ||
const char * | subsets | ||
) |
computes the l2 error function on the whole domain or on some subsets
This function computes the L2-difference between a given analytic function and a grid function.
[in] | ExactSol | analytic function |
[in] | spGridFct | grid function |
[in] | cmp | symbolic name of component function |
[in] | time | time point |
[in] | quadOrder | order of quadrature rule |
[in] | subsets | subsets, where to compute |
References IntegrateSubsets(), and UG_COND_THROW.
Referenced by L2Error(), and ug::L2QuotientSpace< TGridFunction >::norm2().
number ug::L2Norm | ( | SmartPtr< TGridFunction > | spGridFct, |
const char * | cmp, | ||
int | quadOrder | ||
) |
References L2Norm().
number ug::L2Norm | ( | SmartPtr< TGridFunction > | spGridFct, |
const char * | cmp, | ||
int | quadOrder, | ||
const char * | subsets | ||
) |
References L2Norm().
number ug::L2Norm | ( | TGridFunction & | gridFct, |
const char * | cmp, | ||
int | quadOrder | ||
) |
This function computes the L2-norm of a grid function on all full-dim subsets.
[in] | spGridFct | grid function |
[in] | cmp | symbolic name of function |
[in] | quadOrder | order of quadrature rule |
References L2Norm().
number ug::L2Norm | ( | TGridFunction & | u, |
const char * | cmp, | ||
int | quadOrder, | ||
const char * | subsets | ||
) |
number ug::L2Norm2 | ( | TGridFunction & | u, |
const char * | cmp, | ||
int | quadOrder, | ||
const char * | subsets | ||
) |
References IntegrateSubsets(), and UG_COND_THROW.
number ug::L2Norm2 | ( | TGridFunction & | u, |
const char * | cmp, | ||
int | quadOrder, | ||
const char * | subsets, | ||
ConstSmartPtr< typename L2Integrand< TGridFunction >::weight_type > | spWeight | ||
) |
This function computes the square of the L2-norm of a grid function.
[in] | spGridFct | grid function |
[in] | cmp | symbolic name of function |
[in] | quadOrder | order of quadrature rule |
[in] | subsets | subsets, where to interpolate (NULL indicates that all full-dimensional subsets shall be considered) |
References IntegrateSubsets(), and UG_COND_THROW.
Referenced by L2Norm(), and ug::L2ComponentSpace< TGridFunction >::norm2().
size_t ug::LagrangeNumDoFOnSub | ( | const ReferenceObjectID | elem, |
const ReferenceObjectID | sub, | ||
const size_t | p | ||
) |
returns number of DoFs Subelement for an element type and order p
References BinomCoeff(), GetNumberOfDoFsOfPyramid(), p, ROID_EDGE, ROID_HEXAHEDRON, ROID_OCTAHEDRON, ROID_PRISM, ROID_PYRAMID, ROID_QUADRILATERAL, ROID_TETRAHEDRON, ROID_TRIANGLE, ROID_VERTEX, and UG_THROW.
Referenced by ug::LagrangeLDS< TRefElem >::num_dof().
size_t ug::LagrangeNumDoFs | ( | const ReferenceObjectID | elem, |
const size_t | p | ||
) |
returns number of DoFs on element type for order p
References BinomCoeff(), GetNumberOfDoFsOfPyramid(), p, ROID_EDGE, ROID_HEXAHEDRON, ROID_OCTAHEDRON, ROID_PRISM, ROID_PYRAMID, ROID_QUADRILATERAL, ROID_TETRAHEDRON, ROID_TRIANGLE, ROID_VERTEX, and UG_THROW.
Referenced by SetLagrangeLocalDoFs().
returns the values of the Legendre polynomials
The polynomials are \(L_2\)-orthogonal on \([-1, 1]\). They satisfy the recursion \(P_0 (x) = 1\), \(P_1 (1) = x\), \(P_k (x) = ((2 k - 1) x P_{k-1} (x) - (k - 1) P_{k-2} (x)) / k\). The \(L_2\)-norm of \(P_k\) is \(\sqrt {2 / (2 k + 1)}\).
k | index of the polynomial, \(k \ge 0\) |
x | argument of the polynomial |
Referenced by NormalizedLegendrePoly(), and ug::bridge::RegisterBridge_OrthoPoly().
size_t ug::LevenshteinDistance | ( | const string & | s1, |
const string & | s2 | ||
) |
References cost_del, cost_ins, cost_sub, and p.
Referenced by ug::bridge::lua::GetBestMatchingMember(), and ug::bridge::RegisterBridge_Misc().
DebugID ug::LIB_ALG_AMG | ( | "LIB_ALG_AMG" | ) |
DebugID ug::LIB_ALG_LINEAR_OPERATOR | ( | "LIB_ALG_LINEAR_OPERATOR" | ) |
DebugID ug::LIB_ALG_LINEAR_SOLVER | ( | "LIB_ALG_LINEAR_SOLVER" | ) |
DebugID ug::LIB_ALG_MATRIX | ( | "LIB_ALG_MATRIX" | ) |
DebugID ug::LIB_ALG_VECTOR | ( | "LIB_ALG_VECTOR" | ) |
DebugID ug::LIB_DISC | ( | "LIB_DISC" | ) |
DebugID ug::LIB_DISC_ASSEMBLE | ( | "LIB_DISC_ASSEMBLE" | ) |
DebugID ug::LIB_DISC_D3F | ( | "LIB_DISC_D3F" | ) |
DebugID ug::LIB_DISC_DISCRETE_FUNCTION | ( | "LIB_DISC_DISCRETE_FUNCTION" | ) |
DebugID ug::LIB_DISC_LINKER | ( | "LIB_DISC_LINKER" | ) |
DebugID ug::LIB_DISC_MULTIGRID | ( | "LIB_DISC_MULTIGRID" | ) |
DebugID ug::LIB_DISC_NEWTON | ( | "LIB_DISC_NEWTON" | ) |
DebugID ug::LIB_DISC_OPERATOR_INVERSE | ( | "LIB_DISC_OPERATOR_INVERSE" | ) |
DebugID ug::LIB_DISC_OUTPUT | ( | "LIB_DISC_OUTPUT" | ) |
DebugID ug::LIB_DISC_TRANSFER | ( | "LIB_DISC_TRANSFER" | ) |
DebugID ug::LIB_GRID | ( | "LIB_GRID" | ) |
DebugID ug::LIB_GRID_REFINER | ( | "LIB_GRID_REFINER" | ) |
DebugID ug::LIB_PCL | ( | "LIB_PCL" | ) |
template void ug::LoadDomain< Domain1d > | ( | Domain1d & | domain, |
const char * | filename | ||
) |
template void ug::LoadDomain< Domain1d > | ( | Domain1d & | domain, |
const char * | filename, | ||
int | procId | ||
) |
template void ug::LoadDomain< Domain2d > | ( | Domain2d & | domain, |
const char * | filename | ||
) |
template void ug::LoadDomain< Domain2d > | ( | Domain2d & | domain, |
const char * | filename, | ||
int | procId | ||
) |
template void ug::LoadDomain< Domain3d > | ( | Domain3d & | domain, |
const char * | filename | ||
) |
template void ug::LoadDomain< Domain3d > | ( | Domain3d & | domain, |
const char * | filename, | ||
int | procId | ||
) |
|
static |
This method calls specific load routines or delegates loading to LoadGrid3d.
References pcl::AllProcsTrue(), FindFileInStandardPaths(), GMCT_CREATION_STARTS, GMCT_CREATION_STOPS, LoadGrid3d(), LoadGridFromUGX(), LoadGridFromVTU(), ug::Grid::message_hub(), pcl::OneProcTrue(), and pcl::ProcRank().
|
static |
|
static |
References ug::Grid::attach_to_vertices(), ug::Grid::detach_from_vertices(), and LoadGrid3d_IMPL().
|
static |
References ug::Grid::attach_to_vertices(), ug::Grid::detach_from_vertices(), and LoadGrid3d_IMPL().
|
static |
References LoadGrid3d_IMPL().
Referenced by LoadGrid().
|
static |
References ug::ISubsetHandler::assign_subset(), ug::Grid::faces_begin(), ug::Grid::faces_end(), GetFilenameExtension(), ImportGridFromLGM(), ImportGridFromNG(), LoadGridFrom2DF(), LoadGridFromART(), LoadGridFromASC(), LoadGridFromDUMP(), LoadGridFromELE(), LoadGridFromGRDECL(), LoadGridFromLGB(), LoadGridFromMSH(), LoadGridFromOBJ(), LoadGridFromSMESH(), LoadGridFromSTL(), LoadGridFromSWC(), LoadGridFromTXT(), and ToLower().
Referenced by LoadGrid3d().
bool ug::LoadGridFrom2DF | ( | Grid & | grid, |
const char * | filename, | ||
ISubsetHandler * | psh, | ||
AVector3 & | aPos | ||
) |
Reads .2df files. 'psh' is optional and may be NULL.
References ug::ISubsetHandler::assign_subset(), ug::Grid::attach_to_vertices(), ug::Grid::create(), ug::Grid::has_vertex_attachment(), and NextValid2DFLine().
Referenced by LoadGrid3d_IMPL().
bool ug::LoadGridFromART | ( | Grid & | grid, |
const char * | filename, | ||
ISubsetHandler * | pSH, | ||
AVector3 & | aPos | ||
) |
loads a grid from art
References ug::GridSubsetHandler::assign_grid(), ug::ISubsetHandler::assign_subset(), ug::Grid::attach_to_vertices(), CollectUniqueObjects(), ug::Grid::create(), CreatePrism(), CreatePyramid(), CreateTetrahedron(), ug::Grid::has_vertex_attachment(), LOG, ug::FaceVertices::num_vertices(), ReadIndices(), ROID_HEXAHEDRON, ROID_PRISM, ROID_PYRAMID, ROID_TETRAHEDRON, ROID_UNKNOWN, ug::FaceVertices::size(), UG_LOG, and ug::EdgeVertices::vertex().
Referenced by LoadGrid3d_IMPL().
References ug::Grid::attach_to_vertices(), ug::FileReaderASC::cell_size(), CreateGridFromField(), ug::FileReaderASC::field(), ug::Grid::has_vertex_attachment(), ug::FileReaderASC::load_file(), ug::FileReaderASC::lower_left_corner_x(), ug::FileReaderASC::lower_left_corner_y(), and ug::FileReaderASC::no_data_value().
Referenced by LoadGrid3d_IMPL().
bool ug::LoadGridFromDUMP | ( | Grid & | grid, |
const char * | filename, | ||
ISubsetHandler * | pSH = NULL , |
||
AVector3 & | aPos = aPosition |
||
) |
loads dump-files.
A dump-file is a very simple format that describes a triangular grid. The format is an ASCII format. a # at the beginning of a line marks a comment. other lines should either be empty or should describe a triangle. a triangle is described be three coordinate-triples. Space is used as seperator. a file could look like this:
0 0 0 1 0 0 0 1 0
References ug::Grid::attach_to_vertices(), ug::ISubsetHandler::get_default_subset_index(), ug::Grid::has_vertex_attachment(), LOG, ReadTetrahedrons(), ReadTriangles(), ug::ISubsetHandler::set_default_subset_index(), and split_parameters().
Referenced by LoadGrid3d_IMPL().
bool ug::LoadGridFromELE | ( | Grid & | grid, |
const char * | filename, | ||
ISubsetHandler * | pSH, | ||
APosition & | aPos | ||
) |
References ImportGridFromTETGEN(), and LOG.
Referenced by LoadGrid3d_IMPL().
template bool ug::LoadGridFromFile | ( | Grid & | , |
ISubsetHandler & | , | ||
const char * | , | ||
AVector1 & | , | ||
int | |||
) |
template bool ug::LoadGridFromFile | ( | Grid & | , |
ISubsetHandler & | , | ||
const char * | , | ||
AVector2 & | , | ||
int | |||
) |
template bool ug::LoadGridFromFile | ( | Grid & | , |
ISubsetHandler & | , | ||
const char * | , | ||
AVector3 & | , | ||
int | |||
) |
template bool ug::LoadGridFromFile | ( | Grid & | , |
SPProjectionHandler & | , | ||
size_t & | , | ||
ISubsetHandler & | , | ||
std::vector< std::string > | , | ||
std::vector< SmartPtr< ISubsetHandler >> | , | ||
const char * | , | ||
AVector1 & | , | ||
int | |||
) |
template bool ug::LoadGridFromFile | ( | Grid & | , |
SPProjectionHandler & | , | ||
size_t & | , | ||
ISubsetHandler & | , | ||
std::vector< std::string > | , | ||
std::vector< SmartPtr< ISubsetHandler >> | , | ||
const char * | , | ||
AVector2 & | , | ||
int | |||
) |
template bool ug::LoadGridFromFile | ( | Grid & | , |
SPProjectionHandler & | , | ||
size_t & | , | ||
ISubsetHandler & | , | ||
std::vector< std::string > | , | ||
std::vector< SmartPtr< ISubsetHandler >> | , | ||
const char * | , | ||
AVector3 & | , | ||
int | |||
) |
Loads a grid from a file. Position data is written to aPosition.
If the given file can't be found, LoadGridFromFile will looks for it reative to the following additional places:
The method posts the following messages at the message hub of the given grid:
procId can be used to only load a grid on one process in a parallel environment. By default, procId is set to -1, which means that the domain is loaded on all processes.
References aPosition, and LoadGrid().
bool ug::LoadGridFromFile | ( | Grid & | grid, |
const char * | filename, | ||
TAPos & | aPos, | ||
int | procId | ||
) |
References LoadGrid().
UG_API bool ug::LoadGridFromFile | ( | Grid & | grid, |
const char * | filename, | ||
TAPos & | aPos, | ||
int | procId = -1 |
||
) |
Loads a grid from a file. Position data is written to the specified attachment.
Make sure that the given position attachment is either of type AVector1, AVector2 or AVector3.
If the given file can't be found, LoadGridFromFile will looks for it reative to the following additional places:
The method posts the following messages at the message hub of the given grid:
procId can be used to only load a grid on one process in a parallel environment. By default, procId is set to -1, which means that the domain is loaded on all processes.
References LoadGrid().
UG_API bool ug::LoadGridFromFile | ( | Grid & | grid, |
ISubsetHandler & | sh, | ||
const char * | filename, | ||
int | procId = -1 |
||
) |
Loads a grid from a file. Position data is written to aPosition.
If the given file can't be found, LoadGridFromFile will looks for it reative to the following additional places:
The method posts the following messages at the message hub of the given grid:
procId can be used to only load a grid on one process in a parallel environment. By default, procId is set to -1, which means that the domain is loaded on all processes.
References aPosition, and LoadGrid().
bool ug::LoadGridFromFile | ( | Grid & | grid, |
ISubsetHandler & | sh, | ||
const char * | filename, | ||
TAPos & | aPos, | ||
int | procId | ||
) |
References LoadGrid().
UG_API bool ug::LoadGridFromFile | ( | Grid & | grid, |
ISubsetHandler & | sh, | ||
const char * | filename, | ||
TAPos & | aPos, | ||
int | procId = -1 |
||
) |
Loads a grid from a file. Position data is written to the specified attachment.
Make sure that the given position attachment is either of type AVector1, AVector2 or AVector3.
If the given file can't be found, LoadGridFromFile will looks for it reative to the following additional places:
The method posts the following messages at the message hub of the given grid:
procId can be used to only load a grid on one process in a parallel environment. By default, procId is set to -1, which means that the domain is loaded on all processes.
References LoadGrid().
UG_API bool ug::LoadGridFromFile | ( | Grid & | grid, |
SPProjectionHandler & | ph, | ||
size_t & | num_ph, | ||
ISubsetHandler & | sh, | ||
std::vector< std::string > | additionalSHNames, | ||
std::vector< SmartPtr< ISubsetHandler >> | ash, | ||
const char * | filename, | ||
TAPos & | aPos, | ||
int | procId = -1 |
||
) |
Loads a grid from a file. Position data is written to the specified attachment.
Make sure that the given position attachment is either of type AVector1, AVector2 or AVector3.
If the given file can't be found, LoadGridFromFile will looks for it reative to the following additional places:
The method posts the following messages at the message hub of the given grid:
procId can be used to only load a grid on one process in a parallel environment. By default, procId is set to -1, which means that the domain is loaded on all processes.
bool ug::LoadGridFromFile | ( | Grid & | grid, |
SPProjectionHandler & | ph, | ||
size_t & | num_ph, | ||
ISubsetHandler & | sh, | ||
vector< string > | additionalSHNames, | ||
vector< SmartPtr< ISubsetHandler >> | ash, | ||
const char * | filename, | ||
TAPos & | aPos, | ||
int | procId | ||
) |
References LoadGrid().
Referenced by LoadDomain(), ug::bridge::LoadGrid(), LoadMarkerPointsFromFile(), and ug::bridge::TestNTree().
loads a grid from txt
References ug::Grid::attach_to_vertices(), AttachAct(), AttachProperty(), ug::Grid::create(), dim, GetAct(), GetCoord(), GetDim(), ug::Grid::has_vertex_attachment(), name, s, UG_THROW, ug::Grid::vertices_begin(), and ug::Grid::vertices_end().
Referenced by LoadGrid3d_IMPL().
bool ug::LoadGridFromLGB | ( | Grid & | grid, |
const char * | filename, | ||
ISubsetHandler ** | ppSH, | ||
int | numSHs, | ||
ISelector ** | ppSel, | ||
int | numSels, | ||
ProjectionHandler * | pPH = NULL , |
||
APosition | aPos = aPosition |
||
) |
Loads a grid from LibGridBinary-format. Awaits a list of subset-handler-pointers and the number of subset-handlers that shall be read. Make sure that all passed subset-handlers are already registered at the grid.
References ug::Grid::attach_to_vertices(), ug::BinaryBuffer::buffer(), ug::Grid::clear_geometry(), DeserializeGridElements(), DeserializeProjectionHandler(), DeserializeSelector(), DeserializeSubsetHandler(), ug::Grid::get_options(), GRIDOPT_NONE, ug::Grid::has_vertex_attachment(), LGBC_PROJECTION_HANDLER, LGBC_SELECTOR, LGBC_SUBSET_HANDLER, LOG, ug::BinaryBuffer::read(), ug::BinaryBuffer::reserve(), ug::Grid::set_options(), ug::BinaryBuffer::set_write_pos(), and UG_LOG.
Referenced by LoadGridFromLGB().
bool ug::LoadGridFromLGB | ( | Grid & | grid, |
const char * | filename, | ||
ISubsetHandler ** | ppSH, | ||
int | numSHs, | ||
ProjectionHandler * | pPH, | ||
APosition | aPos | ||
) |
References LoadGridFromLGB().
Referenced by LoadGrid3d_IMPL().
bool ug::LoadGridFromMSH | ( | Grid & | grid, |
const char * | filename, | ||
ISubsetHandler * | psh = NULL , |
||
AVector3 & | aPos = aPosition |
||
) |
loads a grid from the GMSH ascii .msh format
Please check the GMSH manual for syntax information.
References ug::ISubsetHandler::assign_subset(), ug::Grid::attach_to_vertices(), ug::Grid::create(), ug::Grid::has_vertex_attachment(), ug::Grid::num(), p, and UG_LOG.
Referenced by LoadGrid3d_IMPL().
bool ug::LoadGridFromOBJ | ( | Grid & | grid, |
const char * | filename, | ||
AVector3 & | aPos = aPosition , |
||
AVector2 * | paTexCoord = NULL , |
||
ISubsetHandler * | pSubsetHandler = NULL , |
||
std::vector< OBJMaterial > * | pvMaterials = NULL |
||
) |
Loads a file from a wavefront '.obj' file. Fills optional subset-infos.
paTex, pSubsetHandler and pvMaterials may be specified optionally. aPos and paTex are used as vertex-attachments.
grid | Grid |
filename | Filename |
aPos | position attachment |
paTexCoord | vertex attachment. If specified texture coords will be stored in the grids vertices. |
pSubsetHandler | if specified then faces are assigned to subsets depending on their associated objects. |
pvMaterials | Holds material data. |
References ug::ISubsetHandler::assign_subset(), ug::Grid::attach_to_vertices(), ug::Grid::begin(), ug::Grid::create(), ug::Grid::end(), ug::LoaderObj::get_material(), ug::Grid::has_vertex_attachment(), ug::LoaderObj::load_file(), ug::LoaderObj::Material::m_fAlpha, ug::LoaderObj::Object::m_iMaterialIndex, ug::LoaderObj::Object::m_strName, ug::LoaderObj::Material::m_strName, ug::LoaderObj::Material::m_strTextureDiffuse, ug::LoaderObj::Material::m_vDiffuse, ug::LoaderObj::Object::m_vEdgeList, ug::LoaderObj::Object::m_vQuadList, ug::LoaderObj::Object::m_vTriangleList, ug::LoaderObj::Object::m_vTriangleListTex, ug::SubsetInfo::materialIndex, ug::SubsetInfo::name, ug::LoaderObj::num_materials(), ug::LoaderObj::num_points(), ug::LoaderObj::objects_begin(), ug::LoaderObj::objects_end(), ug::LoaderObj::point(), ug::ISubsetHandler::set_subset_info(), ug::ISubsetHandler::subset_info(), UG_THROW, and ug::LoaderObj::uv().
Referenced by LoadGrid3d_IMPL().
bool ug::LoadGridFromSMESH | ( | Grid & | grid, |
const char * | filename, | ||
AVector3 & | aPos, | ||
ISubsetHandler * | psh | ||
) |
References ug::ISubsetHandler::assign_subset(), ug::Grid::attach_to_vertices(), ug::Grid::create(), dim, ug::Grid::has_vertex_attachment(), TrimString(), UG_CATCH_THROW, UG_COND_THROW, and UG_THROW.
Referenced by LoadGrid3d_IMPL().
bool ug::LoadGridFromSTL | ( | Grid & | grid, |
const char * | filename, | ||
ISubsetHandler * | pSH = NULL , |
||
AVector3 & | aPos = aPosition , |
||
AVector3 & | aNormFACE = aNormal |
||
) |
loads stl-ascii-files.
if aPosition is not attached to the vertices of the grid, it will be automatically attached. If however aNormal is not attached to the faces of the grid, it will be ignored.
References ug::Grid::AttachmentAccessor< TElem, TAttachment >::access(), ug::ISubsetHandler::assign_subset(), ug::Grid::attach_to_vertices(), ug::Grid::create(), ug::Grid::has_face_attachment(), ug::Grid::has_vertex_attachment(), ug::Grid::num(), p, stl_reader::ReadStlFile(), ug::Grid::reserve(), and ug::AttachmentAccessor< TElem, TAttachment, TElemHandler >::valid().
Referenced by LoadGrid3d_IMPL().
bool ug::LoadGridFromSTL_ASCII | ( | Grid & | grid, |
const char * | filename, | ||
ISubsetHandler * | pSH = NULL , |
||
AVector3 & | aPos = aPosition , |
||
AVector3 & | aNormFACE = aNormal |
||
) |
bool ug::LoadGridFromSTL_BINARY | ( | Grid & | grid, |
const char * | filename, | ||
ISubsetHandler * | pSH = NULL , |
||
AVector3 & | aPos = aPosition , |
||
AVector3 & | aNormFACE = aNormal |
||
) |
bool ug::LoadGridFromSWC | ( | Grid & | g, |
ISubsetHandler * | pSH, | ||
const char * | fileName, | ||
AVector3 & | aPos | ||
) |
References ug::FileReaderSWC::create_grid(), and ug::FileReaderSWC::load_file().
Referenced by LoadGrid3d_IMPL().
loads a grid from txt
References ug::Grid::attach_to_vertices(), ug::Grid::create(), find(), ug::Grid::has_vertex_attachment(), TrimString(), UG_THROW, ug::Grid::vertices_begin(), and ug::Grid::vertices_end().
Referenced by LoadGrid3d_IMPL().
bool ug::LoadGridFromUGX | ( | Grid & | grid, |
ISubsetHandler & | sh, | ||
const char * | filename | ||
) |
Reads a grid to an ugx file.
Before reading a grid from file, this method searches for the attached standard position attachment with the highest dimension. This will be used as position-attachment in a call to the overloaded version of LoadGridFromUGX.
If no standard attachment is found, aPosition will be attached and used.
References aPosition, aPosition1, aPosition2, ug::Grid::attach_to_vertices(), and ug::Grid::has_vertex_attachment().
Referenced by LoadGrid().
bool ug::LoadGridFromUGX | ( | Grid & | grid, |
ISubsetHandler & | sh, | ||
const char * | filename, | ||
APosition & | aPos | ||
) |
Reads a grid to an ugx file. internally uses GridReaderUGX.
The position attachment can be specified. Since the type of the position attachment is a template parameter, MathVector attachments of any dimension are supported. Especially ug::aPosition, ug::aPostion2 and ug::aPosition1.
bool ug::LoadGridFromUGX | ( | Grid & | grid, |
ISubsetHandler & | sh, | ||
const char * | filename, | ||
TAPosition & | aPos | ||
) |
bool ug::LoadGridFromUGX | ( | Grid & | grid, |
SPProjectionHandler & | ph, | ||
size_t & | num_ph, | ||
ISubsetHandler & | sh, | ||
std::vector< std::string > | additionalSHNames, | ||
std::vector< SmartPtr< ISubsetHandler >> | ash, | ||
const char * | filename, | ||
TAPosition & | aPos | ||
) |
References ug::GridReaderUGX::get_projection_handler_subset_handler_index(), ug::GridReaderUGX::get_subset_handler_name(), ug::GridReaderUGX::grid(), ug::GridReaderUGX::num_grids(), ug::GridReaderUGX::num_projection_handlers(), ug::GridReaderUGX::num_subset_handlers(), ug::GridReaderUGX::parse_file(), ug::GridReaderUGX::projection_handler(), ug::GridReaderUGX::subset_handler(), UG_CATCH_THROW, and UG_LOG.
bool ug::LoadGridFromVTU | ( | Grid & | grid, |
ISubsetHandler & | sh, | ||
const char * | filename | ||
) |
Reads a grid to a vtu (vtk unstructured mesh) file.
Before reading a grid from file, this method searches for the attached standard position attachment with the highest dimension. This will be used as position-attachment in a call to the overloaded version of LoadGridFromVTU.
If no standard attachment is found, aPosition will be attached and used.
References aPosition, aPosition1, aPosition2, ug::Grid::attach_to_vertices(), and ug::Grid::has_vertex_attachment().
Referenced by LoadGrid().
bool ug::LoadGridFromVTU | ( | Grid & | grid, |
ISubsetHandler & | sh, | ||
const char * | filename, | ||
APosition & | aPos | ||
) |
Reads a grid to an vtu (vtk) file. internally uses GridReaderVTK.
The position attachment can be specified. Since the type of the position attachment is a template parameter, MathVector attachments of any dimension are supported. Especially ug::aPosition, ug::aPostion2 and ug::aPosition1.
bool ug::LoadGridFromVTU | ( | Grid & | grid, |
ISubsetHandler & | sh, | ||
const char * | filename, | ||
TAPosition & | aPos | ||
) |
void UG_API ug::LoadHeightfieldFromASC | ( | Heightfield & | hfield, |
const char * | filename | ||
) |
References ug::FileReaderASC::cell_size(), ug::Heightfield::field(), FindFileInStandardPaths(), ug::FileReaderASC::load_file(), ug::FileReaderASC::lower_left_corner_x(), ug::FileReaderASC::lower_left_corner_y(), name, ug::FileReaderASC::no_data_value(), ug::Heightfield::set_cell_size(), ug::FileReaderASC::set_field(), ug::Heightfield::set_no_data_value(), ug::Heightfield::set_offset(), and UG_COND_THROW.
Referenced by ug::RasterLayers::load_from_files(), and ug::bridge::RegisterGridBridge_Layers().
bool ug::LoadMarkerPointsFromFile | ( | MarkerPointManager & | manager, |
const char * | filename | ||
) |
Loads marker points from a file.
References ug::Grid::AttachmentAccessor< TElem, TAttachment >::access(), ug::MarkerPointManager::add_marker(), aNormal, aPosition, ug::Grid::begin(), ug::Grid::end(), ug::Grid::has_vertex_attachment(), LoadGridFromFile(), and ug::AttachmentAccessor< TElem, TAttachment, TElemHandler >::valid().
bool ug::LoadPlugins | ( | const char * | pluginPath, |
string | parentGroup, | ||
bridge::Registry & | reg, | ||
bool | bPrefixGroup | ||
) |
void ug::LoadVector | ( | TGridFunction & | u, |
const char * | filename | ||
) |
References dim, PROFILE_FUNC, and ReadVector().
void ug::LogIndexLayout | ( | IndexLayout & | layout, |
int | depth = 0 |
||
) |
Logs the internals of an index layout.
Writes information about an index interface. If depth >= 1 is passed, then also the current indices in the interfaces are printed.
References pcl::SingleLevelLayout< TInterface >::begin(), pcl::SingleLevelLayout< TInterface >::end(), GetLogAssistant(), pcl::SingleLevelLayout< TInterface >::proc_id(), and UG_LOG.
Referenced by LogIndexLayoutOnAllProcs().
void ug::LogIndexLayoutOnAllProcs | ( | IndexLayout & | layout, |
int | depth | ||
) |
logs index infos for all procs successively
References ug::LogAssistant::get_output_process(), GetLogAssistant(), LogIndexLayout(), pcl::NumProcs(), outproc, p, pcl::ProcRank(), ug::LogAssistant::set_output_process(), pcl::SynchronizeProcesses(), and UG_LOG.
AnisotropyState ug::long_edges_of_anisotropic_elem | ( | Edge * | elem, |
Grid & | grid, | ||
const TAAPos & | aaPos, | ||
number | thresholdRatio, | ||
std::vector< Edge * > & | longEdges | ||
) |
References ISOTROPIC.
Referenced by MarkAnisotropic(), and MarkAnisotropicOnlyX().
AnisotropyState ug::long_edges_of_anisotropic_elem | ( | Face * | elem, |
Grid & | grid, | ||
const TAAPos & | aaPos, | ||
number | thresholdRatio, | ||
std::vector< Edge * > & | longEdges | ||
) |
References close_sides_of_anisotropic_elem().
AnisotropyState ug::long_edges_of_anisotropic_elem | ( | Volume * | elem, |
Grid & | grid, | ||
const TAAPos & | aaPos, | ||
number | thresholdRatio, | ||
std::vector< Edge * > & | longEdges | ||
) |
bool ug::LUDecomp | ( | DenseMatrix< matrix_t > & | A, |
size_t * | pInterchange | ||
) |
References dabs(), and UG_ASSERT.
Referenced by ug::DenseMatrixInverse< TStorage >::invert().
bool ug::LUDecompIKJ | ( | DenseMatrix< matrix_t > & | A, |
size_t * | pInterchange | ||
) |
DebugID ug::MAIN | ( | "MAIN" | ) |
std::tuple<dirichlet_iterator<TAlgebra>, dirichlet_iterator<TAlgebra> > ug::make_dirichlet_iterator | ( | typename TAlgebra::matrix_type & | mat | ) |
std::tuple<non_dirichlet_iterator<TAlgebra>, non_dirichlet_iterator<TAlgebra> > ug::make_non_dirichlet_iterator | ( | typename TAlgebra::matrix_type & | mat | ) |
bool ug::MakeConsistent | ( | const ParallelMatrix< matrix_type > & | _mat, |
ParallelMatrix< matrix_type > & | newMat | ||
) |
References ug::GenerateOverlapClass< matrix_type >::calculate(), ug::ParallelMatrix< TMatrix >::layouts(), ug::GenerateOverlapClass< matrix_type >::m_masterDirichletLast, ug::GenerateOverlapClass< matrix_type >::m_overlapDepthMaster, ug::GenerateOverlapClass< matrix_type >::m_overlapDepthSlave, ug::GenerateOverlapClass< matrix_type >::m_slaveDirichletLast, PROFILE_FUNC_GROUP, and ug::ParallelMatrix< TMatrix >::set_layouts().
Referenced by ug::GaussSeidelBase< TAlgebra >::preprocess(), ug::Vanka< TAlgebra >::preprocess(), ug::DiagVanka< TAlgebra >::preprocess(), ug::ComponentGaussSeidel< TDomain, TAlgebra >::preprocess(), ug::ElementGaussSeidel< TDomain, TAlgebra >::preprocess(), ug::UzawaBase< TDomain, TAlgebra >::preprocess(), ug::LineGaussSeidel< TDomain, TAlgebra >::preprocess(), and ug::LineVanka< TDomain, TAlgebra >::preprocess().
template bool ug::MakeDelaunay | ( | DelaunayInfo< Grid::VertexAttachmentAccessor< AVector3 > > & | ) |
Referenced by QualityGridGeneration().
bool ug::MakeDelaunay | ( | DelaunayInfo< TAAPos > & | info | ) |
References CalculateCenter(), ug::DelaunayInfo< TAAPos >::candidates_left(), CollectAssociated(), GetAssociatedFaces(), GetConnectedVertex(), ug::DelaunayInfo< TAAPos >::grid(), ug::DelaunayInfo< TAAPos >::is_candidate(), ug::DelaunayInfo< TAAPos >::is_segment(), boost::num_vertices(), ug::DelaunayInfo< TAAPos >::pop_candidate(), ug::DelaunayInfo< TAAPos >::position_accessor(), ug::DelaunayInfo< TAAPos >::push_candidate(), SwapEdge(), TriangleCircumcenter(), UG_LOG, VecDistanceSq(), and ug::EdgeVertices::vertex().
SPIGeometry3d ug::MakeGeometry3d | ( | Grid & | grid, |
TAPos | aPos | ||
) |
Utility method to construct an IGeometry3d for a given grid and position attachment.
References make_sp().
Referenced by AdaptSurfaceGridToCylinder(), ug::bridge::CreateSmoothHierarchy(), CutEdgesWithPlane(), ug::Domain< d, TGrid, TSubsetHandler >::Domain(), GenerateIcosphere(), and ug::IRefiner::refine().
string ug::MakeTmpFile | ( | string | filename, |
const string & | extension, | ||
bool & | bSuccess | ||
) |
!!! Serial i/o version !!!
References FileExists(), name, and PROFILE_FUNC.
Referenced by ug::bridge::LUACompiler::createC().
void ug::MapLagrangeMultiIndexQuad | ( | std::vector< size_t > & | vOrientOffset, |
const int | id0, | ||
bool | sameOrientation, | ||
const size_t | pOuter | ||
) |
Referenced by ComputeOrientationOffsetLagrange().
void ug::MapLagrangeMultiIndexTriangle | ( | std::vector< size_t > & | vOrientOffset, |
const int | id0, | ||
bool | sameOrientation, | ||
const size_t | pOuter | ||
) |
Referenced by ComputeOrientationOffsetLagrange().
void ug::MaplePrint | ( | const DenseMatrix< TStorage > & | A, |
const char * | name | ||
) |
|
static |
References ug::IRefiner::get_mark(), ug::IRefiner::grid(), ug::Grid::has_periodic_boundaries(), ug::PeriodicBoundaryManager::is_master(), ug::PeriodicBoundaryManager::is_periodic(), ug::IRefiner::mark(), ug::PeriodicBoundaryManager::master(), ug::Grid::periodic_boundary_manager(), and ug::PeriodicBoundaryManager::slaves().
Referenced by ug::StdHNodeAdjuster::ref_marks_changed().
|
static |
This function marks all grid elements of type TElem for assembly BUT H-slaves in a BoolMarker.
[out] | grid | Grid |
[out] | bMarker | BoolMarker containing all marked elements of type TElem BUT H-slaves |
References ug::Grid::begin(), ug::DistributedGridManager::contains_status(), ug::Grid::distributed_grid_manager(), ug::Grid::end(), ES_H_SLAVE, ug::BoolMarker::mark(), and ug::BoolMarker::unmark().
|
static |
This function marks all elements for assembly BUT H-slaves in a BoolMarker and sets it in the assemble tuner of the given assemble object. Necessary to avoid multiple assembly of manifold elements when using inner_boundary discretization in parallel mode.
[out] | grid | Smart pointer to assemble object with assemble tuner as member |
[out] | ass | Grid |
void ug::MarkAllFromInterface | ( | std::vector< bool > & | mark, |
const IndexLayout::Interface & | interface | ||
) |
Marks all indices in the IndexLayout::Interface with true
mark | a std::vector which has to be big enough for maximum index in interface |
layout |
Referenced by MarkAllFromLayout().
void ug::MarkAllFromInterface | ( | std::vector< T > & | mark, |
const IndexLayout::Interface & | interface, | ||
const T & | default_val | ||
) |
void ug::MarkAllFromLayout | ( | std::vector< bool > & | mark, |
const IndexLayout & | layout | ||
) |
Marks all indices in the IndexLayout with true
mark | a std::vector which has to be big enough for maximum index in layout |
layout |
References pcl::SingleLevelLayout< TInterface >::begin(), pcl::SingleLevelLayout< TInterface >::end(), pcl::SingleLevelLayout< TInterface >::interface(), and MarkAllFromInterface().
Referenced by ug::SchurPrecond< TAlgebra >::get_skeleton_slicing().
void ug::MarkAllFromLayout | ( | std::vector< T > & | mark, |
const IndexLayout & | layout, | ||
const T & | default_val | ||
) |
void ug::MarkAlongSurface | ( | SmartPtr< IRefiner > | refiner, |
SmartPtr< TDomain > | domain, | ||
const std::vector< std::string > & | surfaceSubsets, | ||
const std::vector< std::string > & | volumeSubsets | ||
) |
Mark elements neighboring a surface.
For a given pair of surface subset and volume subset, marks all full-dim elements of the volume subset for refinement that have at least one vertex in the surface subset.
References ug::Grid::associated_elements(), ug::SurfaceView::begin(), ug::Flag< TEnum, TStorageType, defaultValue >::contains(), ug::SurfaceView::end(), ug::ISubsetHandler::get_subset_index(), ug::SurfaceView::MG_ALL, ug::SurfaceView::MG_SHADOW_PURE, RM_REFINE, ug::SurfaceView::surface_state(), UG_CATCH_THROW, and UG_COND_THROW.
void ug::MarkAnisotropic | ( | SmartPtr< IRefiner > | refiner, |
SmartPtr< TDomain > | domain, | ||
number | thresholdRatio | ||
) |
Mark all anisotropic elements of the surface grid for ansiotropic refinement.
Whether an element is isotropic or not is decided using the is_anisotropic() functions from lib_grid's anisotropy_util and the given threshold ratio.
References ug::SurfaceView::ALL_BUT_SHADOW_COPY, ug::Grid::associated_elements(), ug::SurfaceView::begin(), ug::SurfaceView::end(), ISOTROPIC, long_edges_of_anisotropic_elem(), RM_CLOSURE, RM_FULL, s, and ug::PointerConstArray< TPtr >::size().
void ug::MarkAnisotropicOnlyX | ( | SmartPtr< IRefiner > | refiner, |
SmartPtr< TDomain > | domain, | ||
number | thresholdRatio | ||
) |
Mark all elements that are anisotropic in direction of the x-axis for ansiotropic refinement.
Whether an element is isotropic or not is decided using the is_anisotropic() functions from lib_grid's anisotropy_util and the given threshold ratio.
"Anisotropic in direction of the x-axis" means that the long edges (only the first one is checked) point more or less in x-direction, to be precise: the normalized vector connecting this edge's vertices has an x-entry of more than 0.9.
References ug::SurfaceView::ALL_BUT_SHADOW_COPY, ug::Grid::associated_elements(), ug::SurfaceView::begin(), ug::SurfaceView::end(), ISOTROPIC, long_edges_of_anisotropic_elem(), RM_CLOSURE, RM_FULL, s, ug::PointerConstArray< TPtr >::size(), UG_COND_THROW, VecNormalize(), VecSubtract(), and ug::EdgeVertices::vertex().
UG_API void ug::MarkCorners | ( | Grid & | grid, |
ISubsetHandler & | sh, | ||
TVertexIterator | vrtsBegin, | ||
TVertexIterator | vrtsEnd, | ||
Grid::edge_traits::callback | cbPathEdge, | ||
int | subsetIndex, | ||
number | angle, | ||
TAPosition & | aPos | ||
) |
Assigns vertices between vrtsBegin and vrtsEnd to the specified subsetIndex if they are adjacent to more than 2 path edges or to exactly 1 path edge or. If a vertex is adjacent to exactly 2 path edges, it will be assigned if the angle between those edges is smaller than the given threshold-angle.
References ug::ISubsetHandler::assign_subset(), ug::Grid::associated_elements(), deg_to_rad(), GetConnectedVertex(), ug::Grid::has_vertex_attachment(), ug::PointerConstArray< TPtr >::size(), VecDot(), VecNormalize(), and VecSubtract().
void ug::MarkCorners | ( | Grid & | grid, |
ISubsetHandler & | sh, | ||
TVertexIterator | vrtsBegin, | ||
TVertexIterator | vrtsEnd, | ||
Grid::edge_traits::callback | cbPathEdge, | ||
int | subsetIndex, | ||
number | angle, | ||
TAPosition & | aPos | ||
) |
Assigns vertices between vrtsBegin and vrtsEnd to the specified subsetIndex if they are adjacent to more than 2 path edges or to exactly 1 path edge or. If a vertex is adjacent to exactly 2 path edges, it will be assigned if the angle between those edges is smaller than the given threshold-angle.
References ug::ISubsetHandler::assign_subset(), ug::Grid::associated_elements(), deg_to_rad(), GetConnectedVertex(), ug::Grid::has_vertex_attachment(), ug::PointerConstArray< TPtr >::size(), VecDot(), VecNormalize(), and VecSubtract().
void ug::MarkCreaseEdges | ( | Grid & | grid, |
ISubsetHandler & | sh, | ||
TEdgeIterator | edgesBegin, | ||
TEdgeIterator | edgesEnd, | ||
int | subsetIndex, | ||
number | angle, | ||
APosition & | aPos = aPosition , |
||
ANormal * | paFaceNormal = NULL |
||
) |
paFaceNormal is ignored in the current implementation. In the moment normals are calculated on the fly and not stored. That means that the normal of each single face is calculated up to four times. This can be improved!
References ug::ISubsetHandler::assign_subset(), CalculateNormal(), GetAssociatedFaces(), ug::Grid::has_vertex_attachment(), and VecDot().
UG_API void ug::MarkCreaseEdges | ( | Grid & | grid, |
ISubsetHandler & | sh, | ||
TEdgeIterator | edgesBegin, | ||
TEdgeIterator | edgesEnd, | ||
int | subsetIndex, | ||
number | angle, | ||
APosition & | aPos = aPosition , |
||
ANormal * | paFaceNormal = NULL |
||
) |
paFaceNormal is ignored in the current implementation. In the moment normals are calculated on the fly and not stored. That means that the normal of each single face is calculated up to four times. This can be improved!
References ug::ISubsetHandler::assign_subset(), CalculateNormal(), GetAssociatedFaces(), ug::Grid::has_vertex_attachment(), and VecDot().
void ug::MarkElements | ( | MultiGrid::AttachmentAccessor< TElem, ug::Attachment< number > > & | aaError, |
IRefiner & | refiner, | ||
ConstSmartPtr< DoFDistribution > | dd, | ||
number | TOL, | ||
number | refineFrac, | ||
number | coarseFrac, | ||
int | maxLevel | ||
) |
marks elements according to an attached error value field
This function marks elements for refinement and coarsening. The passed error attachment is used as a weight for the amount of the error an each element. All elements that have an indicated error with s* max <= err <= max are marked for refinement. Here, max is the maximum error measured, s is a scaling quantity chosen by the user. In addition, all elements with an error smaller than TOL (user defined) are not refined.
[in,out] | refiner | Refiner, elements marked on exit |
[in] | dd | dof distribution |
[in] | TOL | Minimum error, such that an element is marked |
[in] | scale | scaling factor indicating lower bound for marking |
[in] | aaError | Error value attachment to elements ( \( \eta_i^2 \)) |
References pcl::ProcessCommunicator::allreduce(), ComputeMinMaxTotal(), ug::IRefiner::mark(), pcl::NumProcs(), PCL_RO_SUM, pcl::ProcRank(), RM_COARSEN, RM_REFINE, and UG_LOG.
void ug::MarkElementsAbsolute | ( | MultiGrid::AttachmentAccessor< TElem, ug::Attachment< number > > & | aaError, |
IRefiner & | refiner, | ||
ConstSmartPtr< DoFDistribution > | dd, | ||
number | refTol, | ||
number | coarsenTol, | ||
int | minLevel, | ||
int | maxLevel, | ||
bool | refTopLvlOnly = false |
||
) |
marks elements according to an attached error value field
This function marks elements for refinement. The passed error attachment is used as a weight for the amount of the error an each element. All elements that have an indicated error > refineTol are marked for refinement and elements with an error < coarsenTol are marked for coarsening
[in,out] | refiner | Refiner, elements marked on exit |
[in] | dd | dof distribution |
[in] | refTol | all elements with error > refTol are marked for refinement. If refTol is negative, no element will be marked for refinement. |
[in] | coarsenTol | all elements with error < coarsenTol are marked for coarsening. If coarsenTol is negative, no element will be marked for coarsening. |
[in] | aaError | Error value attachment to elements |
References pcl::ProcessCommunicator::allreduce(), ConstSmartPtr< T, FreePolicy >::get(), ug::MultiGrid::get_level(), ug::IRefiner::mark(), pcl::NumProcs(), PCL_RO_SUM, pcl::ProcRank(), RM_COARSEN, RM_REFINE, ug::MultiGrid::top_level(), and UG_LOG.
Referenced by MarkForAdaption_GradientAverage(), MarkForAdaption_GradientJump(), MarkForAdaption_L2ErrorExact(), MarkForAdaption_ResidualErrorP1Absolute(), and MarkForAdaption_ResidualErrorP1Relative().
void ug::MarkElementsForCoarsening | ( | MultiGrid::AttachmentAccessor< TElem, ug::Attachment< number > > & | aaError, |
IRefiner & | refiner, | ||
ConstSmartPtr< DoFDistribution > | dd, | ||
number | TOL, | ||
number | safety, | ||
int | minLevel = 0 |
||
) |
marks elements for coarsening according to an attached error value field
This function marks elements for coarsening. The passed error attachment is used as an indicator for the the error on each element. Elements one level below surface are marked if the average error of its children is lower than tol / #elems / 4 / safety. The safety factor is supposed to ensure that elements are not refined and coarsened back and forth in a dynamic adaptive simulation.
[in] | aaError | error value attachment to elements ( \( \eta_i^2 \)) |
[in,out] | refiner | refiner, elements marked on exit |
[in] | dd | dof distribution |
[in] | tol | tolerated global error |
[in] | safety | safety factor |
References pcl::ProcessCommunicator::allreduce(), ComputeMinMaxTotal(), ug::IRefiner::get_mark(), ug::IRefiner::mark(), pcl::NumProcs(), PCL_RO_SUM, RM_COARSEN, and UG_LOG.
void ug::MarkElementsForRefinement | ( | MultiGrid::AttachmentAccessor< TElem, ug::Attachment< number > > & | aaError, |
IRefiner & | refiner, | ||
ConstSmartPtr< DoFDistribution > | dd, | ||
number | tol, | ||
int | maxLevel | ||
) |
marks elements according for refinement to an attached error value field
This function marks elements for refinement. The passed error attachment is used as an indicator for the the error on each element. Elements are refined if the error sum taken over all elements is greater than the tolerance value tol. In that case, elements with an indicated error of err >= tol / #elems are marked for refinement if and only if their multigrid level is below the tolerated maximum of maxLevel.
[in] | aaError | error value attachment to elements ( \( \eta_i^2 \)) |
[in,out] | refiner | refiner, elements marked on exit |
[in] | dd | dof distribution |
[in] | tol | tolerated global error (no refinement if error below) |
[in] | maxLevel | maximal refinement level in multigrid |
References pcl::ProcessCommunicator::allreduce(), ComputeMinMaxTotal(), ug::IRefiner::mark(), pcl::NumProcs(), PCL_RO_SUM, RM_REFINE, and UG_LOG.
void ug::MarkForAdaption_AbsoluteGradientIndicator | ( | IRefiner & | refiner, |
GridFunction< TDomain, TAlgebra > & | u, | ||
const char * | fctName, | ||
number | refTol, | ||
number | coarsenTol, | ||
int | minLvl, | ||
int | maxLevel | ||
) |
References ComputeGradientCrouzeixRaviart(), ComputeGradientLagrange1(), ComputeGradientPiecewiseConstant(), ug::LFEID::CROUZEIX_RAVIART, dim, ug::GridFunction< TDomain, TAlgebra >::dof_distribution(), ug::GridFunction< TDomain, TAlgebra >::domain(), ug::DoFDistributionInfoProvider::fct_id_by_name(), ug::LFEID::LAGRANGE, ug::DoFDistributionInfoProvider::local_finite_element_id(), ug::LFEID::PIECEWISE_CONSTANT, PROFILE_FUNC, and UG_THROW.
void ug::MarkForAdaption_AbsoluteGradientJumpIndicator | ( | IRefiner & | refiner, |
GridFunction< TDomain, TAlgebra > & | u, | ||
const char * | fctName, | ||
number | refTol, | ||
number | coarsenTol, | ||
int | minLvl, | ||
int | maxLevel | ||
) |
References ComputeGradientCrouzeixRaviart(), computeGradientJump(), ComputeGradientLagrange1(), ComputeGradientPiecewiseConstant(), ug::LFEID::CROUZEIX_RAVIART, dim, ug::GridFunction< TDomain, TAlgebra >::dof_distribution(), ug::GridFunction< TDomain, TAlgebra >::domain(), ug::DoFDistributionInfoProvider::fct_id_by_name(), ug::LFEID::LAGRANGE, ug::DoFDistributionInfoProvider::local_finite_element_id(), ug::LFEID::PIECEWISE_CONSTANT, PROFILE_FUNC, and UG_THROW.
void ug::MarkForAdaption_GradientAverage | ( | IRefiner & | refiner, |
SmartPtr< GridFunction< TDomain, TAlgebra > > | u, | ||
const char * | cmp, | ||
number | refFrac, | ||
int | minLvl, | ||
int | maxLvl | ||
) |
References pcl::ProcessCommunicator::allreduce(), CalculateVolume(), pcl::InterfaceCommunicator< TLayout >::communicate(), dim, pcl::InterfaceCommunicator< TLayout >::exchange_data(), ug::ConstrainedVertex::get_constraining_object(), ug::DistributedGridManager::grid_layout_map(), INT_H_MASTER, INT_H_SLAVE, INT_V_MASTER, INT_V_SLAVE, MarkElementsAbsolute(), p, ug::Flag< TEnum, TStorageType, defaultValue >::partially_contains(), PCL_RO_MAX, PCL_RO_MIN, PCL_RO_SUM, PROFILE_FUNC, s, SetAttachmentValues(), ug::SurfaceView::SHADOW_RIM, ug::PointerConstArray< TPtr >::size(), ug::GridLevel::SURFACE, ug::SurfaceView::SURFACE_RIM, ug::SurfaceView::surface_state(), UG_COND_THROW, VecDistance(), and VecSet().
void ug::MarkForAdaption_GradientIndicator | ( | IRefiner & | refiner, |
GridFunction< TDomain, TAlgebra > & | u, | ||
const char * | fctName, | ||
number | TOL, | ||
number | refineFrac, | ||
number | coarseFrac, | ||
int | maxLevel | ||
) |
References ComputeGradientCrouzeixRaviart(), ComputeGradientLagrange1(), ComputeGradientPiecewiseConstant(), ug::LFEID::CROUZEIX_RAVIART, dim, ug::GridFunction< TDomain, TAlgebra >::dof_distribution(), ug::GridFunction< TDomain, TAlgebra >::domain(), ug::DoFDistributionInfoProvider::fct_id_by_name(), ug::LFEID::LAGRANGE, ug::DoFDistributionInfoProvider::local_finite_element_id(), ug::LFEID::PIECEWISE_CONSTANT, PROFILE_FUNC, and UG_THROW.
void ug::MarkForAdaption_GradientJump | ( | IRefiner & | refiner, |
SmartPtr< GridFunction< TDomain, TAlgebra > > | u, | ||
const char * | cmp, | ||
number | refFrac, | ||
int | minLvl, | ||
int | maxLvl, | ||
std::string | jumpType | ||
) |
This gradient jump error indicator runs in parallel environments and works with h-nodes.
[in] | refFrac | given minElemError and maxElemError, all elements with an error > minElemError+refFrac*(maxElemError-minElemError) will be refined. |
[in] | jumpType | defines the type of jump that shall be evaluated:
|
References pcl::ProcessCommunicator::allreduce(), ug::DoFDistributionInfoProvider::fct_id_by_name(), MarkElementsAbsolute(), PCL_RO_MAX, PCL_RO_MIN, PROFILE_FUNC, UG_COND_THROW, and UG_THROW.
void ug::MarkForAdaption_GradientJumpIndicator | ( | IRefiner & | refiner, |
GridFunction< TDomain, TAlgebra > & | u, | ||
const char * | fctName, | ||
number | TOL, | ||
number | refineFrac, | ||
number | coarseFrac, | ||
int | maxLevel | ||
) |
References ComputeGradientCrouzeixRaviart(), computeGradientJump(), ComputeGradientLagrange1(), ComputeGradientPiecewiseConstant(), ug::LFEID::CROUZEIX_RAVIART, dim, ug::GridFunction< TDomain, TAlgebra >::dof_distribution(), ug::GridFunction< TDomain, TAlgebra >::domain(), ug::DoFDistributionInfoProvider::fct_id_by_name(), ug::LFEID::LAGRANGE, ug::DoFDistributionInfoProvider::local_finite_element_id(), ug::LFEID::PIECEWISE_CONSTANT, PROFILE_FUNC, and UG_THROW.
void ug::MarkForAdaption_L2ErrorExact | ( | IRefiner & | refiner, |
SmartPtr< GridFunction< TDomain, TAlgebra > > | u, | ||
SmartPtr< UserData< number, TDomain::dim > > | spExactSol, | ||
const char * | cmp, | ||
number | minL2Error, | ||
number | maxL2Error, | ||
number | refFrac, | ||
int | minLvl, | ||
int | maxLvl, | ||
number | time, | ||
int | quadOrder | ||
) |
[in] | maxL2Error | errors below maxL2Error are considered fine. |
References pcl::ProcessCommunicator::allreduce(), dim, MarkElementsAbsolute(), PCL_RO_MAX, PCL_RO_MIN, PCL_RO_SUM, PROFILE_FUNC, sq(), UG_COND_THROW, and UG_LOG.
number ug::MarkForAdaption_ResidualErrorP1Absolute | ( | IRefiner & | refiner, |
SmartPtr< GridFunction< TDomain, TAlgebra > > | u, | ||
SmartPtr< UserData< number, TDomain::dim > > | f, | ||
const char * | cmp, | ||
number | time, | ||
number | refTol, | ||
number | coarsenTol, | ||
int | maxLvl, | ||
int | quadOrder, | ||
std::string | quadType, | ||
bool | refTopLvlOnly = false |
||
) |
A classical residual error for the poisson problem on linear shape functions works with h-nodes.
Evaluates the element residual error sqrt{hT^2 * ||RT||^2 + 0.5*sum(hS*||RS||^2)} where the sum contains all sides S of an element T. RT denotes the residuum and RS the gradient-jump over sides of T.
[in] | refTol | Threshold value. Only elements with a higher residual error than refTol are refined. |
References pcl::ProcessCommunicator::allreduce(), ug::GridFunction< TDomain, TAlgebra >::domain(), EvaluateResidualErrorP1(), frac, ug::IRefiner::get_mark(), MarkElementsAbsolute(), PCL_RO_SUM, PROFILE_FUNC, RM_ANISOTROPIC, RM_REFINE, and sq().
void ug::MarkForAdaption_ResidualErrorP1Relative | ( | IRefiner & | refiner, |
SmartPtr< GridFunction< TDomain, TAlgebra > > | u, | ||
SmartPtr< UserData< number, TDomain::dim > > | f, | ||
const char * | cmp, | ||
number | time, | ||
number | refFrac, | ||
int | minLvl, | ||
int | maxLvl, | ||
int | quadOrder, | ||
std::string | quadType | ||
) |
A classical residual error for the poisson problem on linear shape functions works with h-nodes.
Evaluates the element residual error sqrt{hT^2 * ||RT||^2 + 0.5*sum(hS*||RS||^2)} where the sum contains all sides S of an element T. RT denotes the residuum and RS the gradient-jump over sides of T.
[in] | refFrac | given minElemError and maxElemError, all elements with an error > minElemError+refFrac*(maxElemError-minElemError) will be refined. |
References pcl::ProcessCommunicator::allreduce(), ug::GridFunction< TDomain, TAlgebra >::domain(), EvaluateResidualErrorP1(), MarkElementsAbsolute(), PCL_RO_MAX, PCL_RO_MIN, and PROFILE_FUNC.
void ug::MarkForAnisotropicRefinement | ( | Grid & | grid, |
TRef & | ref, | ||
number | minEdgeRatio, | ||
TIter | elemsBegin, | ||
TIter | elemsEnd, | ||
TAAPos | aaPos | ||
) |
grid | The whose elements shall be marked. |
ref | The specified refiner has to feature methods 'mark(elem_t*, byte)' where elem_t = Vertex, Edge, Face, and Volume. Note that you may also pass a selector instead of a refiner. |
minEdgeRatio | If the ratio between the shortest and the longest edge of an element is smaller than minEdgeRatio, the element is considered to be anisotropic. The element itself and all of its edges with a smaller ratio ar marked for refinement. |
elemsBegin | Iterator to the first element in the sequence of elements that shall be checked. |
elemsEnd | Iterator to the (pseudo-) element directly behind the last element in the sequence of elements that shall be checked. |
aaPos | A VertexAttachmentAccessor to an APosition compatible type. |
References ug::Grid::associated_elements(), EdgeLengthSq(), end_for, for_each_in_vec, RM_ANISOTROPIC, RM_CLOSURE, RM_REFINE, ug::PointerConstArray< TPtr >::size(), SMALL_SQ, and sq().
Referenced by MarkForRefinement_AnisotropicElements().
void ug::MarkForCoarsenening_SurfaceLayer | ( | const GridFunction< TDomain, TAlgebra > & | u, |
IRefiner & | refiner | ||
) |
Mark surface layer for coarsening.
References ug::IRefiner::coarsen(), ug::GridFunction< TDomain, TAlgebra >::dof_distribution(), ug::IRefiner::mark(), and RM_COARSEN.
void ug::MarkGlobal | ( | SmartPtr< IRefiner > | refiner, |
SmartPtr< TDomain > | domain | ||
) |
Mark all surface elements for refinement.
References ug::SurfaceView::ALL_BUT_SHADOW_COPY, ug::SurfaceView::begin(), ug::SurfaceView::end(), and RM_FULL.
unsigned long ug::MarkOutOfRangeElems | ( | SmartPtr< IRefiner > | refiner, |
ConstSmartPtr< TGridFunction > | u, | ||
size_t | cmp, | ||
number | lowerBnd, | ||
number | upperBnd | ||
) |
References ug::Grid::associated_elements(), DoFRef(), RM_FULL, and RM_NONE.
void ug::MarkOutOfRangeElems | ( | SmartPtr< IRefiner > | refiner, |
ConstSmartPtr< TGridFunction > | u, | ||
size_t | cmp, | ||
number | lowerBnd, | ||
number | upperBnd | ||
) |
Marks for refinement all (full-dim) elements neighboring grid elements that contain a degree of freedom (Lagrangian) whose value is outside a given range.
This function can be used to adaptively refine geometries with Q1 shape functions, which can become negative, e.g., in diffusion problems.
refiner | refiner for hanging node refinement |
u | solution grid function |
cmp | component to check |
lowerBnd | lower bound |
upperBnd | upper bound |
References pcl::ProcessCommunicator::allreduce(), pcl::NumProcs(), PCL_RO_SUM, and UG_LOGN.
void ug::MarkSubsets | ( | SmartPtr< IRefiner > | refiner, |
SmartPtr< TDomain > | domain, | ||
const std::vector< std::string > & | vSubset | ||
) |
Mark all surface elements of specific subsets for refinement.
References ug::SubsetGroup::add(), ug::SurfaceView::ALL_BUT_SHADOW_COPY, ug::SurfaceView::begin(), ug::SurfaceView::end(), ug::ISubsetHandler::get_subset_index(), ug::ISubsetHandler::num_subsets(), RM_FULL, ug::SubsetGroup::size(), and UG_CATCH_THROW.
void ug::MatAdd | ( | MatrixOperator< M, X, Y > & | res, |
number | alpha1, | ||
MatrixOperator< M, X, Y > & | A1, | ||
number | alpha2, | ||
MatrixOperator< M, X, Y > & | A2 | ||
) |
References ug::MatrixOperator< M, X, Y >::get_matrix(), MatAdd(), and PROFILE_FUNC_GROUP.
void ug::MatAdditiveToConsistentOnDiag | ( | typename TAlgebra::matrix_type * | pMat, |
const IndexLayout & | masterLayout, | ||
const IndexLayout & | slaveLayout, | ||
pcl::InterfaceCommunicator< IndexLayout > * | pCom = NULL |
||
) |
changes parallel storage type from additive to consistent on diagonal of a matrix
This function changes the storage type of a matrix from additive to consistent on the diagonal. A InterfaceCommunicator is created iff no communicator passed.
[in,out] | pVec | Parallel Vector |
[in] | masterLayout | Master Layout |
[in] | slaveLayout | Slave Layout |
[in] | pCom | Parallel Communicator |
References AdditiveToConsistent(), MatExtractDiagOnLayout(), MatWriteDiagOnLayout(), and PROFILE_FUNC_GROUP.
|
inline |
|
inline |
void ug::MatExtractDiagOnLayout | ( | TVector * | pDiagVector, |
const TMatrix * | pMatrix, | ||
const IndexLayout & | Layout | ||
) |
extracts diagonal of a matrix for interface indices
This function extracts diagonal values of a matrix for all interface indices. No communication is performed.
[out] | pDiagVector | Vector with diagonal entries |
[in] | pMatrix | Matrix |
[in] | Layout | Index Layout |
References pcl::SingleLevelLayout< TInterface >::begin(), BlockRef(), pcl::SingleLevelLayout< TInterface >::end(), pcl::OrderedInterface< TType, TContainer, TAlloc >::get_element(), GetCols(), and PROFILE_FUNC_GROUP.
Referenced by MatAdditiveToConsistentOnDiag().
void ug::MatIdentity | ( | MatrixOperator< M, X, Y > & | opOut | ) |
References ug::MatrixOperator< M, X, Y >::get_matrix(), and PROFILE_FUNC_GROUP.
std::string ug::MatlabString | ( | const DenseMatrix< TStorage > & | A, |
const char * | name | ||
) |
References name, and NonzeroString().
Referenced by ug::DenseMatrix< TStorage >::maple_print().
|
inline |
calculates dest = beta1 * A1;
Referenced by ug::ComponentGaussSeidel< TDomain, TAlgebra >::apply_blocks(), ug::ComponentGaussSeidel< TDomain, TAlgebra >::apply_blocks_weighted(), ug::MapSparseMatrix< TValueType >::axpy(), AxpyCommonSparseMatrix(), GetBlockGSCorrection(), InverseFromInverseType(), InverseMatMultN(), MatMult(), MatMultDirect(), sgs_step(), SolveTensorMatrixEquation(), ug::ProjSymmetricGaussSeidel< TDomain, TAlgebra >::step(), ug::Jacobi< TAlgebra >::step(), and VectorAssign().
|
inline |
calculates dest = alpha1*v1 + alpha2*v2 + beta1 * A1 *w1;
References MatMultAdd().
|
inline |
calculates dest = alpha1*v1 + beta1 * A1 *w1;
Referenced by ug::ComponentGaussSeidel< TDomain, TAlgebra >::apply_blocks(), ug::ComponentGaussSeidel< TDomain, TAlgebra >::apply_blocks_weighted(), ug::ILUTPreconditioner< TAlgebra >::applyLU(), ug::MapSparseMatrix< TValueType >::axpy(), AxpyCommonSparseMatrix(), backward_gs_step(), Diag_Vanka_step(), ElementGaussSeidelStep(), ug::LocalIndexSubspace< TDomain, TAlgebra, TObject >::extract_rhs(), ug::LocalDoFSubspace< TDomain, TAlgebra, TObject >::extract_rhs(), forward_gs_step(), gs_step_LL(), gs_step_UR(), invert_L(), invert_U(), ug::LineGaussSeidel< TDomain, TAlgebra >::linegs_step(), ug::LineVanka< TDomain, TAlgebra >::linevanka_step(), ug::GPUSparseMatrix< TValueType >::mat_mult_add_row(), ug::MapSparseMatrix< TValueType >::mat_mult_add_row(), MatMult(), MatMultAdd(), MatMultAddDirect(), ug::ILUTPreconditioner< TAlgebra >::multi_apply(), ug::PILUTPreconditioner< TAlgebra >::step(), Vanka_step(), and VectorAssign().
|
inline |
calculates dest = alpha1*v1 + beta1 * A1 *w1 + beta2 * A2*w2;
References MatMultAdd().
|
inline |
calculates dest = beta1 * A1 *w1 + beta2 * A2*w2;
References MatMultAdd().
|
inline |
|
inline |
|
inline |
calculates dest = alpha1*v1 + beta1 * A1 *w1;
References VecScaleAssign().
Referenced by ug::mat_operations_class< vector_t, matrix_t, MATRIX_USE_GLOBAL_FUNCTIONS >::MatMultAdd(), and MatMultAddDirect().
|
inline |
calculates dest = alpha1*v1 + beta1 * A1 *w1 + alpha2*v2;
References MatMultDirect(), and VecScaleAdd().
|
inline |
calculates dest = beta1 * A1 *w1 + beta2 * A2*w2;
References MatMultAddDirect(), and MatMultDirect().
|
inline |
calculates dest = beta1 * A1 *w1 + beta2 * A2*w2 + alpha1*v1;
References MatMultAddDirect(), and VecScaleAdd().
|
inline |
References GetMultType(), MatMult(), PROFILE_FUNC_GROUP, PST_UNDEFINED, and ug::ParallelVector< TVector >::set_storage_type().
Referenced by ug::ActiveSet< TDomain, TAlgebra >::check_inequ(), ug::mat_operations_class< vector_t, matrix_t, MATRIX_USE_GLOBAL_FUNCTIONS >::MatMult(), MatMultAddDirect(), ug::StdTransfer< TDomain, TAlgebra >::prolongate(), and ug::ActiveSet< TDomain, TAlgebra >::residual_lagrange_mult().
|
inline |
calculates dest = alpha1*v1 + beta1 * A1 *w1;
Referenced by ug::mat_operations_class< vector_t, matrix_t, MATRIX_USE_GLOBAL_FUNCTIONS >::MatMultTransposed(), ug::mat_operations_class< vector_t, matrix_t, MATRIX_USE_ROW_FUNCTIONS >::MatMultTransposed(), and MatMultTransposedDirect().
|
inline |
calculates dest = alpha1*v1 + beta1 * A1 *w1;
Referenced by ug::SparseMatrix< TValueType >::apply_transposed_ignore_zero_rows(), ug::SparseMatrix< TValueType >::axpy_transposed(), ug::MapSparseMatrix< TValueType >::axpy_transposed(), Axpy_transposedCommonSparseMatrix(), MatMultTransposedAdd(), and MatMultTransposedScaledAdd().
|
inline |
void ug::MatScale | ( | MatrixOperator< M, X, Y > & | A, |
number | alpha | ||
) |
References alpha, ug::MatrixOperator< M, X, Y >::get_matrix(), and PROFILE_FUNC_GROUP.
|
inline |
|
inline |
|
inline |
References alpha.
|
inline |
|
inline |
void ug::MatTranspose | ( | MatrixOperator< M, X, Y > & | AT, |
MatrixOperator< M, X, Y > & | A | ||
) |
References ug::MatrixOperator< M, X, Y >::get_matrix(), and PROFILE_FUNC_GROUP.
void ug::MatWriteDiagOnLayout | ( | TMatrix * | pMatrix, |
const TVector * | pDiagVector, | ||
const IndexLayout & | Layout | ||
) |
writes diagonal of a matrix for interface indices
This function writes diagonal values of a matrix for all interface indices. No communication is performed.
[out] | pMatrix | Matrix |
[in] | pDiagVector | Vector with diagonal entries |
[in] | Layout | Index Layout |
References pcl::SingleLevelLayout< TInterface >::begin(), BlockRef(), pcl::SingleLevelLayout< TInterface >::end(), pcl::OrderedInterface< TType, TContainer, TAlloc >::get_element(), GetCols(), and PROFILE_FUNC_GROUP.
Referenced by MatAdditiveToConsistentOnDiag().
|
inline |
|
inline |
References UG_ASSERT.
template number ug::MaxElementDiameter< Domain1d > | ( | Domain1d & | domain, |
int | level | ||
) |
template number ug::MaxElementDiameter< Domain2d > | ( | Domain2d & | domain, |
int | level | ||
) |
template number ug::MaxElementDiameter< Domain3d > | ( | Domain3d & | domain, |
int | level | ||
) |
number ug::MaxError | ( | number | val, |
SmartPtr< TGridFunction > | spGridFct, | ||
const char * | cmp | ||
) |
References MaxError().
number ug::MaxError | ( | number | val, |
SmartPtr< TGridFunction > | spGridFct, | ||
const char * | cmp, | ||
const char * | subsets | ||
) |
References MaxError().
number ug::MaxError | ( | number | val, |
SmartPtr< TGridFunction > | spGridFct, | ||
const char * | cmp, | ||
const char * | subsets, | ||
number | time | ||
) |
References dim, make_sp(), and MaxError().
number ug::MaxError | ( | number | val, |
SmartPtr< TGridFunction > | spGridFct, | ||
const char * | cmp, | ||
number | time | ||
) |
References MaxError().
number ug::MaxError | ( | SmartPtr< UserData< number, TGridFunction::dim > > | spInterpolFunction, |
SmartPtr< TGridFunction > | spGridFct, | ||
const char * | cmp | ||
) |
References MaxError().
number ug::MaxError | ( | SmartPtr< UserData< number, TGridFunction::dim > > | spInterpolFunction, |
SmartPtr< TGridFunction > | spGridFct, | ||
const char * | cmp, | ||
const char * | subsets | ||
) |
References MaxError().
number ug::MaxError | ( | SmartPtr< UserData< number, TGridFunction::dim > > | spInterpolFunction, |
SmartPtr< TGridFunction > | spGridFct, | ||
const char * | cmp, | ||
const char * | subsets, | ||
number | time | ||
) |
computes maximum error of a grid function on a subset
This function computes the maximum error of a GridFunction. To evaluate the exact solution on every point a functor must be passed.
[in] | spInterpolFunction | data providing exact solution |
[out] | spGridFct | interpolated grid function |
[in] | cmp | symbolic name of function component |
[in] | subsets | subsets (NULL = everywhere) |
[in] | time | time point |
References ug::SubsetGroup::add(), ug::SubsetGroup::add_all(), ug::LFEID::LAGRANGE, PST_CONSISTENT, RemoveLowerDimSubsets(), SameDimensionsInAllSubsets(), TokenizeString(), and UG_THROW.
Referenced by MaxError().
number ug::MaxError | ( | SmartPtr< UserData< number, TGridFunction::dim > > | spInterpolFunction, |
SmartPtr< TGridFunction > | spGridFct, | ||
const char * | cmp, | ||
number | time | ||
) |
References MaxError().
void ug::MaxErrorOnElements | ( | number & | globalMaxError, |
SmartPtr< UserData< number, TGridFunction::dim > > | spInterpolFunction, | ||
SmartPtr< TGridFunction > | spGridFct, | ||
size_t | fct, | ||
int | si, | ||
number | time | ||
) |
This function computes maximum error of a grid function on an element by element loop.
[in] | globalMaxError | reference to global max error |
[in] | spInterpolFunction | data providing exact solution |
[out] | spGridFct | interpolated grid function |
[in] | fct | symbolic name of function component |
[in] | si | subset |
[in] | time | time point |
References CollectCornerCoordinates(), dim, DoFRef(), ug::ReferenceMapping< TRefElem, TWorldDim >::local_to_global(), ug::LocalDoFSet::num_sh(), ug::DimLocalDoFSet< TDim >::position(), UG_THROW, and ug::ReferenceMapping< TRefElem, TWorldDim >::update().
void ug::MaxErrorOnElements | ( | number & | globalMaxError, |
SmartPtr< UserData< number, TGridFunction::dim > > | spInterpolFunction, | ||
SmartPtr< TGridFunction > | spGridFct, | ||
size_t | fct, | ||
number | time, | ||
const SubsetGroup & | ssGrp | ||
) |
This function computes maximum error of grid function on an element by element loop.
[in] | globalMaxError | reference to global max error |
[in] | spInterpolFunction | data providing exact solution |
[out] | spGridFct | grid function |
[in] | fct | symbolic name of function component |
[in] | ssGrp | subsets |
[in] | time | time point |
References dim, ug::SubsetGroup::dim(), DIM_SUBSET_EMPTY_GRID, ug::SubsetGroup::size(), UG_CATCH_THROW, and UG_THROW.
void ug::MaxErrorOnVertices | ( | number & | globalMaxError, |
SmartPtr< UserData< number, TGridFunction::dim > > | spInterpolFunction, | ||
SmartPtr< TGridFunction > | spGridFct, | ||
size_t | fct, | ||
number | time, | ||
const SubsetGroup & | ssGrp | ||
) |
This function computes max error of a grid function on a vertex loop. Thus, it can only be used if all degrees of freedom are located in the vertices only (e.g. P1 finite elements). In those cases it is faster than the element by element loop.
[in] | globalMaxError | reference to global max error |
[in] | spInterpolFunction | data providing exact solution |
[out] | spGridFct | grid function |
[in] | fct | symbolic name of function component |
[in] | ssGrp | subsets, where to compute max error |
[in] | time | time point |
References DoFRef(), and ug::SubsetGroup::size().
void ug::MemSwap | ( | T & | a, |
T & | b | ||
) |
void ug::MergeGlobalLayout | ( | GlobalLayout & | globalLayout, |
const std::map< int, int > & | merge | ||
) |
References merge(), pcl::ProcRank(), and PROFILE_FUNC_GROUP.
template void ug::MergeGrids | ( | Grid & | , |
Grid & | , | ||
ISubsetHandler & | , | ||
ISubsetHandler & | , | ||
APosition1 | , | ||
bool | |||
) |
template void ug::MergeGrids | ( | Grid & | , |
Grid & | , | ||
ISubsetHandler & | , | ||
ISubsetHandler & | , | ||
APosition2 | , | ||
bool | |||
) |
template void ug::MergeGrids | ( | Grid & | , |
Grid & | , | ||
ISubsetHandler & | , | ||
ISubsetHandler & | , | ||
APosition3 | , | ||
bool | |||
) |
void ug::MergeGrids | ( | Grid & | mrgGrid, |
Grid & | grid, | ||
ISubsetHandler & | mrgSh, | ||
ISubsetHandler & | sh, | ||
TAPos | aPos, | ||
bool | joinSubsets | ||
) |
Merges to grids into one grid.
Merges all grid elements and subset information from grid to mrgGrid
[in,out] | mrgGrid | merged grid |
[in] | grid | input to be merged into merged grid |
[in] | mrgSH | the SubsetHandler for mrgGrid |
[in,out] | sh | the SubsetHandler for grid |
References ug::ISubsetHandler::assign_subset(), ug::Grid::attach_to_vertices(), ug::Grid::begin(), ug::Grid::create_by_cloning(), ug::Grid::detach_from_vertices(), ug::Grid::end(), ug::ISubsetHandler::get_subset_index(), ug::ISubsetHandler::num_subsets(), ug::FaceVertices::num_vertices(), ug::FaceDescriptor::num_vertices(), ug::VolumeVertices::num_vertices(), ug::VolumeDescriptor::num_vertices(), ug::FaceDescriptor::set_num_vertices(), ug::VolumeDescriptor::set_num_vertices(), ug::FaceDescriptor::set_vertex(), ug::VolumeDescriptor::set_vertex(), ug::EdgeDescriptor::set_vertices(), ug::ISubsetHandler::subset_info(), ug::EdgeVertices::vertex(), ug::FaceVertices::vertex(), and ug::VolumeVertices::vertex().
void ug::MergeInterfaces | ( | TLayout & | layout, |
const std::map< int, int > | merge | ||
) |
References AppendInterface(), merge(), and RemoveInterface().
void ug::MergeInterfaces | ( | TLayout & | layout, |
const std::vector< int > | pidSources, | ||
int | pidAppendTo | ||
) |
References AppendInterface(), and RemoveInterface().
void ug::MeshLayerBoundaries | ( | Grid & | grid, |
const RasterLayers & | layers, | ||
Grid::VertexAttachmentAccessor< AVector3 > | aaPos, | ||
ISubsetHandler * | pSH | ||
) |
void ug::MeshLayers | ( | Grid & | grid, |
const RasterLayers & | layers, | ||
Grid::VertexAttachmentAccessor< AVector3 > | aaPos, | ||
ISubsetHandler * | pSH | ||
) |
bool ug::MightContainGhosts | ( | const GridLayoutMap & | layoutMap, |
int | lvl | ||
) |
References ug::GridLayoutMap::get_layout(), ug::GridLayoutMap::has_layout(), and INT_V_MASTER.
|
inline |
References Inverse(), and MaxAbsEigenvalue().
template number ug::MinElementDiameter< Domain1d > | ( | Domain1d & | domain, |
int | level | ||
) |
template number ug::MinElementDiameter< Domain2d > | ( | Domain2d & | domain, |
int | level | ||
) |
template number ug::MinElementDiameter< Domain3d > | ( | Domain3d & | domain, |
int | level | ||
) |
number ug::Minimum | ( | SmartPtr< TGridFunction > | spGridFct, |
const char * | cmp, | ||
const char * | subsets | ||
) |
References GetMinimum().
void ug::MultiEdgeSplit | ( | Grid & | grid, |
Edge * | edge, | ||
TVrtIter | vrtsBegin, | ||
TVrtIter | vrtsEnd, | ||
TAAPos | aaPos | ||
) |
Inserts the specified vertices on the given edge.
The method assumes that the specified vertices do lie on the specified edge. The specified vertices do not have to be sorted in any specific order, since the method will sort them automatically.
References CollectFaces(), ug::Grid::create(), EdgeOrientationMatches(), ElementDebugInfo(), ug::Grid::erase(), ug::Grid::get_element(), GetConnectedVertex(), boost::num_vertices(), ug::FaceDescriptor::set_vertex(), SpacialVertexSort(), Triangulate(), UG_COND_THROW, VecSubtract(), ug::EdgeVertices::vertex(), and ug::FaceDescriptor::vertex().
Referenced by ProjectVerticesToCloseEdges().
void ug::MultiEnergyProd | ( | matrix_type & | A, |
SmartPtrVector< vector_type > & | px, | ||
DenseMatrix< densematrix_type > & | rA, | ||
size_t | n | ||
) |
References ug::ParallelMatrix< TMatrix >::apply(), CloneVector(), PINVIT_PROFILE_FUNC, PST_CONSISTENT, and UG_ASSERT.
void ug::MultiScalProd | ( | vector_type & | px, |
DenseMatrix< densematrix_type > & | rA, | ||
size_t | n | ||
) |
References PINVIT_PROFILE_FUNC, and UG_ASSERT.
T* ug::MyCudaAlloc | ( | size_t | N | ) |
References CUDAError(), DID_CUDA, p, UG_DLOG, and UG_THROW.
|
static |
|
static |
References bp_defect_and_gradient(), PI, UG_COND_THROW, VecNormSquared(), and VecScaleAdd().
Referenced by pos_in_bp().
|
inlinestatic |
References TrimString().
Referenced by LoadGridFrom2DF().
std::string ug::NonzeroString | ( | const DenseMatrix< TStorage > & | A, |
const char * | brackets, | ||
const char * | seperator, | ||
int | base, | ||
const char * | name | ||
) |
References name.
Referenced by CPPString(), JuliaString(), and MatlabString().
returns the values the normalized Chebyshev polynomials of the first kind
The polynomials are orthogonal on \([-1, 1]\) w.r.t. the scalar product \( \int_{-1}^1 \phi (x) \cdot \psi (x) \frac{1}{\sqrt {1 - x^2}} \, dx \) They satisfy the recursion \(T_0 (x) = 1\), \(T_1 (1) = x\), \(T_k (x) = 2 x T_{k-1} (x) - T_{k-2} (x)\). The corresponding norm of \(T_k\) is \(\tfrac{\pi}{2}\) for \(k > 0\) and \(\pi\) for \(k = 0\).
This function returns \(T_k (x)\) divided by its norm.
k | index of the polynomial, \(k \ge 0\) |
x | argument of the polynomial |
References Chebyshev1Poly(), and PI.
Referenced by ug::bridge::RegisterBridge_OrthoPoly().
returns the values the normalized Chebyshev polynomials of the second kind
The polynomials are orthogonal on \([-1, 1]\) w.r.t. the scalar product \( \int_{-1}^1 \phi (x) \cdot \psi (x) \sqrt {1 - x^2} \, dx \) They satisfy the recursion \(U_0 (x) = 1\), \(U_1 (1) = 2 x\), \(U_k (x) = 2 x U_{k-1} (x) - U_{k-2} (x)\). The corresponding norm of \(T_k\) is \(\tfrac{\pi}{2}\).
k | index of the polynomial, \(k \ge 0\) |
x | argument of the polynomial |
References Chebyshev2Poly(), and PI.
Referenced by ug::bridge::RegisterBridge_OrthoPoly().
returns the values of the normalized Legendre polynomials
The Legendre polynomials are \(L_2\)-orthogonal on \([-1, 1]\). They satisfy the recursion \(P_0 (x) = 1\), \(P_1 (1) = x\), \((n+1) P_k (x) = (2 k - 1) x P_{k-1} (x) - (k - 1) P_{n-2} (x)\). The \(L_2\)-norm of \(P_k\) is \(\sqrt {2 / (2 k + 1)}\). This function returns \(\sqrt {(2 k + 1) / 2} P_k (x)\).
k | index of the polynomial, \(k \ge 0\) |
x | argument of the polynomial |
References LegendrePoly().
Referenced by ug::bridge::RegisterBridge_OrthoPoly().
References SMALL.
References SMALL.
void ug::NumeriereKnoten | ( | const std::vector< std::vector< size_t > > & | vvConnections, |
std::vector< bool > & | vVisited, | ||
std::vector< size_t > & | vAncestorsCount, | ||
std::vector< size_t > & | vNewIndex, | ||
size_t & | N, | ||
size_t | v | ||
) |
Numbers vertices based on a adjacency matrix. Depth first traversal approach. based on "NumeriereKnoten in chapter Downwind-Numbering in <<Finite Volumen- und Mehrgitterverfahren für elliptische Randwertprobleme>> by Jürgen Bey
[in] | vvConnections | an adjacency vector of vectors of vertex indices |
[in/out] | vVisited a vector of booleans. vVisited[vertex] = true only if vertex was visited by NumeriereKnoten | |
[in] | vAncestorsCount | a vector of count of ancestor vertices per vertex. |
[out] | vNewIndex | a vector of new indices per vector, usable for reordering |
[in/out] | N the highest Index up until now. | |
[in] | v | the vertex to inspect. |
Referenced by OrderDownwindForDofDist().
|
static |
bool ug::ObtainSimpleGrid | ( | SimpleGrid & | sgOut, |
Grid & | grid, | ||
Vertex * | vrt1, | ||
Vertex * | vrt2, | ||
size_t | size, | ||
TPosAcc & | aaPos, | ||
TNormAcc & | aaNorm, | ||
TIntAcc & | aaInt | ||
) |
returns a neighbourhood of the edge defined by vrt1 and vrt2 in a SimpleGrid.
Uses Grid::mark(). Make sure that the queried sub-grid only contains triangles. vrt1 and vrt2 will be the first two vertices in the returned vertex-list. The triangles that contain both vrt1 and vrt2 are the first triangles in the triangle list. The vertices that are contained in those triangles are the next vertices in the vertex list (excluding vrt1 and vrt2).
You have to pass an accessor to the positions of the grids vertices (aaPos). Additionally you have to pass an accessor to an integer-attachment at the vertices. This attachment is only intended as a helper during the algorithm. You don't have to initialise it with any special values, nor are the values of this attachment cruical in any consecutive calls.
size determines the size of the neighbourhood. If size == 0 then only the triangles that contain the edge (vrt1, vrt2) are copied to sgOut. If size > 0 then each triangle that contains a vertex of the neighbourhood N(size - 1) is contained in N(size).
References ug::Grid::associated_faces_begin(), ug::Grid::associated_faces_end(), ug::Grid::begin_marking(), CalculateTriangleNormals(), ug::SimpleGrid::clear(), ug::Grid::end_marking(), ug::Grid::is_marked(), ug::Grid::mark(), ug::FaceVertices::size(), ug::SimpleGrid::triangles, ug::FaceVertices::vertex(), ug::SimpleGrid::vertexNormals, and ug::SimpleGrid::vertices.
Referenced by TryCollapse(), and TrySwap().
bool ug::ObtainSimpleGrid_CollapseEdge | ( | SimpleGrid & | sgOut, |
Grid & | grid, | ||
Edge * | e, | ||
size_t | size, | ||
TPosAcc & | aaPos, | ||
TNormAcc & | aaNorm, | ||
TIntAcc & | aaInt | ||
) |
returns a neighbourhood of the edge e after e has been collapsed.
This algorithm uses Grid::mark.
The new vertex which corresponds to the collapsed edge can be found at sgOut.vertices[0].
Please note that this method is capable of treating non-surface grids (i.e. grids where edges have more than two adjacent triangles).
Make sure that the neighbourhood of e only contains triangles.
Please note that the resulting grid is not suited for swap, split or collapse operations.
References ug::Grid::begin_marking(), CalculateCenter(), CalculateTriangleNormals(), ug::SimpleGrid::clear(), CollectNeighborhood(), ug::Grid::end_marking(), ug::Grid::is_marked(), ug::Grid::mark(), ug::FaceVertices::num_vertices(), ug::SimpleGrid::triangles, VecAdd(), VecNormalize(), ug::EdgeVertices::vertex(), ug::FaceVertices::vertex(), ug::SimpleGrid::vertexNormals, and ug::SimpleGrid::vertices.
Referenced by TryCollapse().
void ug::OctReferenceMappingTest | ( | std::vector< number > | vCornerCoord0, |
std::vector< number > | vCornerCoord1, | ||
std::vector< number > | vCornerCoord2, | ||
std::vector< number > | vCornerCoord3, | ||
std::vector< number > | vCornerCoord4, | ||
std::vector< number > | vCornerCoord5, | ||
std::vector< number > | vGlobPos | ||
) |
References ug::DimReferenceMapping< TDim, TWorldDim >::global_to_local(), ROID_OCTAHEDRON, UG_CATCH_THROW, and UG_LOG.
Referenced by ug::bridge::RegisterBridge_ReferenceMappingTest().
|
inline |
|
inline |
MatVec_Expression<L, R> ug::operator* | ( | const AlphaMat_Expression< L > & | l, |
const R & | r | ||
) |
create a MatVec_Expression by (alpha*MATRIX) * VECTOR
References ug::AlphaMat_Expression< R >::alpha, getScaling(), getVector(), and ug::AlphaMat_Expression< R >::r.
Referenced by ug::MapSparseMatrix< TValueType >::row_iterator::index(), ug::MapSparseMatrix< TValueType >::const_row_iterator::index(), ug::GenericGridObjectIterator< TValue, TBaseIterator >::operator*(), ug::ConstGenericGridObjectIterator< TValue, TBaseIterator, TConstBaseIterator >::operator*(), ug::MapSparseMatrix< TValueType >::row_iterator::value(), and ug::MapSparseMatrix< TValueType >::const_row_iterator::value().
TE_AlphaVec<typename T::vector_type> ug::operator* | ( | const TE_AlphaVec< T > & | l, |
double | alpha | ||
) |
References alpha, ug::TE_AlphaVec< T >::cast(), and ug::TE_AlphaVec< T >::scaling().
TE_VecAdd2<T> ug::operator* | ( | const TE_VecAdd2< T > & | t, |
double | alpha | ||
) |
create AlphaMatVec_X_Expression<L, operation_add, R> by conjunction of TE_AMV_X<L> + TE_AMV_X<R>
References ug::TE_VecAdd2< T >::a1, ug::TE_VecAdd2< T >::a2, alpha, ug::TE_VecAdd2< T >::v1, and ug::TE_VecAdd2< T >::v2.
TE_VecAdd3<T> ug::operator* | ( | const TE_VecAdd3< T > & | t, |
double | alpha | ||
) |
create AlphaMatVec_X_Expression<L, operation_add, R> by conjunction of TE_AMV_X<L> + TE_AMV_X<R>
References ug::TE_VecAdd3< T >::a1, ug::TE_VecAdd3< T >::a2, ug::TE_VecAdd3< T >::a3, alpha, ug::TE_VecAdd3< T >::v1, ug::TE_VecAdd3< T >::v2, and ug::TE_VecAdd3< T >::v3.
double ug::operator* | ( | const TRANSPOSED< Vector< value_type > > & | x, |
const Vector< value_type > & | y | ||
) |
TE_VecScale<typename T::vector_type> ug::operator* | ( | double | alpha, |
const TE_AlphaVec< T > & | r | ||
) |
References alpha, ug::TE_AlphaVec< T >::cast(), and ug::TE_AlphaVec< T >::scaling().
TE_VecAdd2<T> ug::operator* | ( | double | alpha, |
const TE_VecAdd2< T > & | t | ||
) |
create AlphaMatVec_X_Expression<L, operation_add, R> by conjunction of TE_AMV_X<L> + TE_AMV_X<R>
References ug::TE_VecAdd2< T >::a1, ug::TE_VecAdd2< T >::a2, alpha, ug::TE_VecAdd2< T >::v1, and ug::TE_VecAdd2< T >::v2.
TE_VecAdd3<T> ug::operator* | ( | double | alpha, |
const TE_VecAdd2< T > & | t | ||
) |
create AlphaMatVec_X_Expression<L, operation_add, R> by conjunction of TE_AMV_X<L> + TE_AMV_X<R>
References ug::TE_VecAdd2< T >::a1, ug::TE_VecAdd2< T >::a2, alpha, ug::TE_VecAdd2< T >::v1, and ug::TE_VecAdd2< T >::v2.
TE_VecAdd2<typename L::vector_type> ug::operator+ | ( | const TE_AlphaVec< L > & | l, |
const TE_AlphaVec< R > & | r | ||
) |
create AlphaMatVec_X_Expression<L, operation_add, R> by conjunction of TE_AMV_X<L> + TE_AMV_X<R>
References ug::TE_AlphaVec< T >::cast(), and ug::TE_AlphaVec< T >::scaling().
TE_VecAdd3<typename L::vector_type> ug::operator+ | ( | const TE_AlphaVec< R > & | r, |
const TE_VecAdd2< L > & | l | ||
) |
AlphaMatVec_X_Expression<L, operation_add, R> ug::operator+ | ( | const TE_AMV_X< L > & | l, |
const TE_AMV_X< R > & | r | ||
) |
create AlphaMatVec_X_Expression<L, operation_add, R> by conjunction of TE_AMV_X<L> + TE_AMV_X<R>
References ug::TE_AMV_X< A >::cast().
TE_VecAdd3<typename L::vector_type> ug::operator+ | ( | const TE_VecAdd2< L > & | l, |
const TE_AlphaVec< R > & | r | ||
) |
create AlphaMatVec_X_Expression<L, operation_add, R> by conjunction of TE_AMV_X<L> + TE_AMV_X<R>
References ug::TE_VecAdd2< T >::a1, ug::TE_VecAdd2< T >::a2, ug::TE_AlphaVec< T >::cast(), ug::TE_AlphaVec< T >::scaling(), ug::TE_VecAdd2< T >::v1, and ug::TE_VecAdd2< T >::v2.
|
inline |
TE_VecAdd2<typename L::vector_type> ug::operator- | ( | const TE_AlphaVec< L > & | l, |
const TE_AlphaVec< R > & | r | ||
) |
References ug::TE_AlphaVec< T >::cast(), and ug::TE_AlphaVec< T >::scaling().
TE_VecAdd3<typename L::vector_type> ug::operator- | ( | const TE_AlphaVec< R > & | r, |
const TE_VecAdd2< L > & | l | ||
) |
AlphaMatVec_X_Expression<L, operation_sub, R> ug::operator- | ( | const TE_AMV_X< L > & | l, |
const TE_AMV_X< R > & | r | ||
) |
create AlphaMatVec_X_Expression<L, operation_minus, R> by conjunction of TE_AMV_X<L> + TE_AMV_X<R>
References ug::TE_AMV_X< A >::cast().
TE_VecAdd3<typename L::vector_type> ug::operator- | ( | const TE_VecAdd2< L > & | l, |
const TE_AlphaVec< R > & | r | ||
) |
std::ostream & ug::operator<< | ( | std::ostream & | os, |
const NeuriteProjector::Mapping & | mapping | ||
) |
Standard precision for UGX coord export is 18. Is this even correct to use? Shouldn't one use std::numeric_limits<number>::digits10+1?
References ug::NeuriteProjector::Mapping::lambda, ug::MathVector< N, T >::size(), ug::NeuriteProjector::Mapping::v1, and ug::NeuriteProjector::Mapping::v2.
std::ostream & ug::operator<< | ( | std::ostream & | os, |
const NeuriteProjector::SurfaceParams & | surfParams | ||
) |
std::ostream& ug::operator<< | ( | std::ostream & | out, |
const AABox< vector_t > & | box | ||
) |
References ug::AABox< vector_t >::max, and ug::AABox< vector_t >::min.
std::ostream & ug::operator<< | ( | std::ostream & | out, |
const AlgebraID & | ID | ||
) |
std::ostream & ug::operator<< | ( | std::ostream & | out, |
const AlgebraLayouts & | layouts | ||
) |
std::ostream & ug::operator<< | ( | std::ostream & | out, |
const CommonLocalDoFSet & | v | ||
) |
writes to the output stream
References ug::CommonLocalDoFSet::NOT_SPECIFIED, ug::CommonLocalDoFSet::num_dof(), and NUM_REFERENCE_OBJECTS.
std::ostream& ug::operator<< | ( | std::ostream & | out, |
const DenseMatrix< TStorage > & | mat | ||
) |
std::ostream & ug::operator<< | ( | std::ostream & | out, |
const DenseMatrixInverse< T > & | mat | ||
) |
std::ostream& ug::operator<< | ( | std::ostream & | out, |
const DenseVector< TStorage > & | vec | ||
) |
template std::ostream& ug::operator<< | ( | std::ostream & | out, |
const DimLocalDoFSet< 0 > & | v | ||
) |
template std::ostream& ug::operator<< | ( | std::ostream & | out, |
const DimLocalDoFSet< 1 > & | v | ||
) |
template std::ostream& ug::operator<< | ( | std::ostream & | out, |
const DimLocalDoFSet< 2 > & | v | ||
) |
template std::ostream& ug::operator<< | ( | std::ostream & | out, |
const DimLocalDoFSet< 3 > & | v | ||
) |
std::ostream & ug::operator<< | ( | std::ostream & | out, |
const DimLocalDoFSet< dim > & | v | ||
) |
writes to the output stream
References ug::LocalDoFSet::local_dof(), ug::LocalDoFSet::num_dof(), and ug::DimLocalDoFSet< TDim >::position().
std::ostream& ug::operator<< | ( | std::ostream & | out, |
const FixedArray1< T, n > & | arr | ||
) |
References ug::FixedArray1< T, n >::size().
std::ostream& ug::operator<< | ( | std::ostream & | out, |
const FixedArray2< T, rowsT, colsT, T_ordering > & | arr | ||
) |
std::ostream & ug::operator<< | ( | std::ostream & | out, |
const GridLevel & | v | ||
) |
writes to the output stream
References ug::GridLevel::ghosts(), ug::GridLevel::is_level(), ug::GridLevel::is_surface(), ug::GridLevel::level(), ug::GridLevel::top(), and UG_THROW.
std::ostream & ug::operator<< | ( | std::ostream & | out, |
const HorizontalAlgebraLayouts & | layouts | ||
) |
std::ostream& ug::operator<< | ( | std::ostream & | out, |
const IndexLayout & | layout | ||
) |
std::ostream & ug::operator<< | ( | std::ostream & | out, |
const LFEID & | v | ||
) |
writes the Identifier to the output stream
std::ostream & ug::operator<< | ( | std::ostream & | out, |
const LocalDoF & | v | ||
) |
writes to the output stream
References ug::LocalDoF::dim(), ug::LocalDoF::id(), and ug::LocalDoF::offset().
std::ostream & ug::operator<< | ( | std::ostream & | out, |
const LocalDoFSet & | v | ||
) |
writes to the output stream
References ug::LocalDoFSet::num_dof(), and NUM_REFERENCE_OBJECTS.
std::ostream & ug::operator<< | ( | std::ostream & | out, |
const QuadType & | v | ||
) |
writes the Identifier to the output stream
References BEST, GAUSS, GAUSS_LEGENDRE, and NEWTON_COTES.
std::ostream& ug::operator<< | ( | std::ostream & | out, |
const ReservableArray2< T, T_ordering > & | arr | ||
) |
std::ostream& ug::operator<< | ( | std::ostream & | out, |
const VariableArray1< T > & | arr | ||
) |
References ug::VariableArray1< T >::size().
std::ostream& ug::operator<< | ( | std::ostream & | out, |
const VariableArray2< T, T_ordering > & | arr | ||
) |
|
inline |
|
inline |
References PST_ADDITIVE, PST_CONSISTENT, and PST_UNIQUE.
|
inline |
References ug::FunctionGroup::size().
|
inline |
References ug::FunctionIndexMapping::num_fct().
|
inline |
|
inline |
References ug::LocalVector::num_dof(), and ug::LocalVector::num_fct().
std::ostream& ug::operator<< | ( | std::ostream & | outStream, |
const ug::MultiIndex< N > & | v | ||
) |
|
inline |
|
inline |
References ROID_EDGE, ROID_HEXAHEDRON, ROID_OCTAHEDRON, ROID_PRISM, ROID_PYRAMID, ROID_QUADRILATERAL, ROID_TETRAHEDRON, ROID_TRIANGLE, ROID_UNKNOWN, and ROID_VERTEX.
|
inline |
References s.
|
inline |
|
inline |
References ToString().
std::istream & ug::operator>> | ( | std::istream & | in, |
NeuriteProjector::Mapping & | mapping | ||
) |
std::istream & ug::operator>> | ( | std::istream & | in, |
NeuriteProjector::SurfaceParams & | surfParams | ||
) |
void ug::OrderCuthillMcKee | ( | ApproximationSpace< TDomain > & | approxSpace, |
bool | bReverse | ||
) |
orders the all DofDistributions of the ApproximationSpace using Cuthill-McKee
References ug::IApproximationSpace::dof_distributions(), OrderCuthillMcKee(), and UG_LOG.
|
inline |
orders the dof distribution using Cuthill-McKee
References ComputeCuthillMcKeeOrder(), ug::DoFDistribution::get_connections(), ug::DoFDistribution::permute_indices(), PROFILE_FUNC, and UG_CATCH_THROW.
Referenced by ug::bridge::Ordering::Functionality::Domain(), and OrderCuthillMcKee().
void ug::OrderDirectionYForDofDist | ( | SmartPtr< DoFDistribution > | dd, |
ConstSmartPtr< TDomain > | domain, | ||
std::vector< size_t > & | indY | ||
) |
void ug::OrderDirectionZForDofDist | ( | SmartPtr< DoFDistribution > | dd, |
ConstSmartPtr< TDomain > | domain, | ||
std::vector< size_t > & | indZ | ||
) |
void ug::OrderDownwind | ( | ApproximationSpace< TDomain > & | approxSpace, |
const std::vector< number > & | vVel | ||
) |
void ug::OrderDownwind | ( | ApproximationSpace< TDomain > & | approxSpace, |
const std::vector< number > & | vVel, | ||
number | threshold | ||
) |
void ug::OrderDownwind | ( | ApproximationSpace< TDomain > & | approxSpace, |
SmartPtr< UserData< MathVector< TDomain::dim >, TDomain::dim > > | spVelocity | ||
) |
void ug::OrderDownwind | ( | ApproximationSpace< TDomain > & | approxSpace, |
SmartPtr< UserData< MathVector< TDomain::dim >, TDomain::dim > > | spVelocity, | ||
number | threshold | ||
) |
Calculates Downwind Numbering for all DofDistributions of one Domain.
[in] | approxSpace | the domain. |
[in] | spVelocity | the velocity field. |
threshold | threshold Threshold for the angle between a connection and the Velocity field in radians. |
References ug::IApproximationSpace::dof_distributions(), ug::ApproximationSpace< TDomain >::domain(), LIB_DISC_ORDER, UG_DLOG, and UG_LOG.
void ug::OrderDownwindForDofDist | ( | SmartPtr< DoFDistribution > | dd, |
ConstSmartPtr< TDomain > | domain, | ||
SmartPtr< UserData< MathVector< TDomain::dim >, TDomain::dim > > | spVelocity, | ||
number | time, | ||
int | si, | ||
number | threshold | ||
) |
References dim, ExtractPositions(), LIB_DISC_ORDER, NumeriereKnoten(), ug::MathVector< N, T >::size(), UG_DLOG, UG_THROW, VecAngle(), VecLengthSq(), and VecSubtract().
void ug::OrderDownwindForDofDist | ( | SmartPtr< DoFDistribution > | spDd, |
ConstSmartPtr< TDomain > | spDomain, | ||
SmartPtr< UserData< MathVector< TDomain::dim >, TDomain::dim > > | spVelocity, | ||
number | threshold | ||
) |
Calculates Downwind-Numbering for one DofDistribution only. uses NumeriereKnoten based on ideas of Jürgen Bey.
[in] | spDd | DofDistribution to apply Downwind-Numbering on. |
[in] | spDomain | Domain of the problem |
[in] | spVelocity | Velocity field |
[in] | threshold | Threshold for the angle between a connection and the Velocity field in radians. |
void ug::OrderLex | ( | ApproximationSpace< TDomain > & | approxSpace, |
const char * | order | ||
) |
orders the all DofDistributions of the ApproximationSpace using lexicographic order
References ug::IApproximationSpace::dof_distributions(), ug::ApproximationSpace< TDomain >::domain(), UG_LOG, and UG_THROW.
void ug::OrderLexForDofDist | ( | SmartPtr< DoFDistribution > | dd, |
ConstSmartPtr< TDomain > | domain, | ||
size_t | orderDim, | ||
bool | increasing | ||
) |
orders the dof distribution using Cuthill-McKee
orders the dof distribution using lexicographic order
References ExtractPositions(), ug::LocalFiniteElementProvider::get_dofs(), ug::CommonLocalDoFSet::num_dof(), NUM_REFERENCE_OBJECTS, and UG_LOG.
bool ug::OrientationMatches | ( | const EdgeVertices & | e1, |
const EdgeVertices & | e2 | ||
) |
References ug::EdgeVertices::vertex().
Referenced by ComputeOrientationOffsetLagrange(), EdgeOrientationMatches(), and FixFaceOrientation().
UG_API bool ug::OrientationMatches | ( | EdgeVertices * | ev, |
Face * | f | ||
) |
checks if the edge-orientation of the edge and the face matches.
the match is positive if the face contains the vertices of 'ev' in the same order as ev. please note: if the edge is contained by two faces and both faces have the same edge-orientation as ed, then the face-orientation of the faces differ.
References ug::FaceVertices::num_vertices(), boost::num_vertices(), ug::EdgeVertices::vertex(), and ug::FaceVertices::vertex().
UG_API bool ug::OrientationMatches | ( | FaceVertices * | fv, |
Volume * | v | ||
) |
|
inline |
References ConfigShift().
Referenced by operator<<().
|
static |
temporary method, which will be removed when debugging is done.
References ug::MultiGrid::num(), pcl::ProcRank(), SaveParallelGridLayout(), and UG_LOG.
Referenced by ug::HangingNodeRefiner_MultiGrid::perform_coarsening().
void ug::ParallelSubspaceCorrectionLoop | ( | const typename TAlgebra::matrix_type & | A, |
GridFunction< TDomain, TAlgebra > & | c, | ||
const typename TAlgebra::vector_type & | d, | ||
number | omega_relax, | ||
ILocalSubspace< TDomain, TAlgebra, TGroupObj > & | subspace, | ||
typename GridFunction< TDomain, TAlgebra >::template traits< TGroupObj >::const_iterator | objIterBegin, | ||
typename GridFunction< TDomain, TAlgebra >::template traits< TGroupObj >::const_iterator | objIterEnd | ||
) |
|
static |
|
static |
partitions a domain by repeatedly cutting it along the different axis
|
static |
Partitions a domain based on the elements of one level.
The elements are thereby weighted by the number of children they have. Partitioning is done using the metis graph library.
|
static |
|
static |
References ug::PartitionMap::add_target_proc(), ug::PartitionMap::assign_grid(), ug::GridSubsetHandler::assign_subset(), ug::MultiGrid::begin(), ug::GridSubsetHandler::empty(), ug::MultiGrid::end(), ug::PartitionMap::find_target_proc(), ug::PartitionMap::get_partition_handler(), ug::MultiGrid::num(), ug::PartitionMap::num_target_procs(), PartitionMultiGrid_MetisKway< Edge >(), PartitionMultiGrid_MetisKway< Face >(), PartitionMultiGrid_MetisKway< Volume >(), pcl::ProcRank(), PROFILE_FUNC_GROUP, and UG_LOG.
|
static |
partitions a domain by using graph-based partitioning by METIS
Weights can be chosen for borders between subsets in order to prevent them from being part of the border of the geometry distribution onto the available processors.
|
static |
References ug::PartitionMap::add_target_proc(), ug::PartitionMap::assign_grid(), ug::GridSubsetHandler::assign_subset(), ug::MultiGrid::begin(), ug::GridSubsetHandler::empty(), ug::MultiGrid::end(), ug::PartitionMap::find_target_proc(), ug::PartitionMap::get_partition_handler(), ug::MultiGrid::num(), ug::PartitionMap::num_target_procs(), PartitionMultiGrid_MetisKway< Edge >(), PartitionMultiGrid_MetisKway< Face >(), PartitionMultiGrid_MetisKway< Volume >(), pcl::ProcRank(), PROFILE_FUNC_GROUP, ug::PartitionWeighting::set_subset_handler(), and UG_LOG.
|
static |
partitions a domain by using graph-based partitioning by METIS
|
static |
partitions a domain by sorting all elements into a regular grid
|
static |
partitions a domain by sorting all elements into a regular grid
References ug::PartitionMap::add_target_proc(), ug::PartitionMap::assign_grid(), ug::MultiGrid::begin(), ug::GridSubsetHandler::empty(), ug::MultiGrid::end(), ug::PartitionMap::find_target_proc(), ug::PartitionMap::get_partition_handler(), LOG, ug::MultiGrid::num(), ug::PartitionMap::num_target_procs(), pcl::ProcRank(), PROFILE_FUNC_GROUP, and UG_LOG.
bool ug::PartitionGrid_MetisKway | ( | SubsetHandler & | shPartitionOut, |
Grid & | grid, | ||
int | numParts | ||
) |
Partitions the elements in the grid using the METIS library.
This method calls METIS_PartGraphKway. Note that METIS is an external library developed at Karypis Labs (http://glaros.dtc.umn.edu/gkhome/)
Note that this method is best suited for partitions with more than 8 procs. For less than 8 procs metis features other, better suited methods.
Valid template arguments are Edge, Face, Volume and derived types.
References ug::GridSubsetHandler::assign_subset(), ug::Grid::begin(), ug::Grid::end(), LIB_GRID, UG_DLOG, and UG_THROW.
template bool ug::PartitionGrid_MetisKway< Edge > | ( | SubsetHandler & | , |
Grid & | , | ||
int | |||
) |
template bool ug::PartitionGrid_MetisKway< Face > | ( | SubsetHandler & | , |
Grid & | , | ||
int | |||
) |
template bool ug::PartitionGrid_MetisKway< Volume > | ( | SubsetHandler & | , |
Grid & | , | ||
int | |||
) |
bool ug::PartitionMultiGrid_MetisKway | ( | SubsetHandler & | shPartitionOut, |
MultiGrid & | grid, | ||
int | numParts, | ||
size_t | baseLevel, | ||
boost::function< int(TGeomBaseObj *, TGeomBaseObj *)> & | weightFct | ||
) |
Partitions the elements in the multi-grid using the METIS library.
This method calls METIS_PartGraphKway. Note that METIS is an external library developed at Karypis Labs (http://glaros.dtc.umn.edu/gkhome/)
Note that this method is best suited for partitions with more than 8 procs. For less than 8 procs metis features other, better suited methods.
All elements in baseLevel and higher levels will be partitioned. elements below baseLevel will stay where they are and are completely ignored during load balancing.
weightFct specifies a function that attributes special weights to edges on the dual graph.
Valid template arguments are Edge, Face, Volume and derived types.
References ug::GridSubsetHandler::assign_subset(), ug::MultiGrid::begin(), ug::MultiGrid::end(), ug::Grid::front(), LIB_GRID, ug::MultiGrid::num(), ug::MultiGrid::num_levels(), UG_ASSERT, UG_DLOG, and UG_THROW.
bool ug::PartitionMultiGrid_MetisKway | ( | SubsetHandler & | shPartitionOut, |
MultiGrid & | grid, | ||
int | numParts, | ||
size_t | baseLevel = 0 , |
||
int | hWeight = 1 , |
||
int | vWeight = 1 |
||
) |
Partitions the elements in the multi-grid using the METIS library.
This method calls METIS_PartGraphKway. Note that METIS is an external library developed at Karypis Labs (http://glaros.dtc.umn.edu/gkhome/)
Note that this method is best suited for partitions with more than 8 procs. For less than 8 procs metis features other, better suited methods.
All elements in baseLevel and higher levels will be partitioned. elements below baseLevel will stay where they are and are completely ignored during load balancing.
hWeight and vWeight determine, how important it is to keep horizontal and vertical neighbors on the same process as the element itself. The bigger hWeight, the more attention is spend to keep neighbors together. Both parameters have to be > 0. Default is 1.
Valid template arguments are Edge, Face, Volume and derived types.
References ug::GridSubsetHandler::assign_subset(), ug::MultiGrid::begin(), ug::MultiGrid::end(), LIB_GRID, ug::MultiGrid::num_levels(), UG_DLOG, and UG_THROW.
template bool ug::PartitionMultiGrid_MetisKway< Edge > | ( | SubsetHandler & | , |
MultiGrid & | , | ||
int | , | ||
size_t | , | ||
boost::function< int(Edge *, Edge *)> & | |||
) |
template bool ug::PartitionMultiGrid_MetisKway< Edge > | ( | SubsetHandler & | , |
MultiGrid & | , | ||
int | , | ||
size_t | , | ||
int | , | ||
int | |||
) |
Referenced by PartitionDomain_MetisKWay().
template bool ug::PartitionMultiGrid_MetisKway< Face > | ( | SubsetHandler & | , |
MultiGrid & | , | ||
int | , | ||
size_t | , | ||
boost::function< int(Face *, Face *)> & | |||
) |
template bool ug::PartitionMultiGrid_MetisKway< Face > | ( | SubsetHandler & | , |
MultiGrid & | , | ||
int | , | ||
size_t | , | ||
int | , | ||
int | |||
) |
Referenced by PartitionDomain_MetisKWay().
template bool ug::PartitionMultiGrid_MetisKway< Volume > | ( | SubsetHandler & | , |
MultiGrid & | , | ||
int | , | ||
size_t | , | ||
boost::function< int(Volume *, Volume *)> & | |||
) |
template bool ug::PartitionMultiGrid_MetisKway< Volume > | ( | SubsetHandler & | , |
MultiGrid & | , | ||
int | , | ||
size_t | , | ||
int | , | ||
int | |||
) |
Referenced by PartitionDomain_MetisKWay().
bool ug::PartitionMultiGridLevel_MetisKway | ( | SubsetHandler & | shPartitionOut, |
MultiGrid & | mg, | ||
int | numParts, | ||
size_t | level | ||
) |
Partitions the elements in the multi-grid using the METIS library.
This method calls METIS_PartGraphKway. Note that METIS is an external library developed at Karypis Labs (http://glaros.dtc.umn.edu/gkhome/)
Note that this method is best suited for partitions with more than 8 procs. For less than 8 procs metis features other, better suited methods.
The method performs load balancing for the elements in the given level. The elements are weighted according to the number of children each has. Child elements will then be recursively assigned to the partitions into which their parents have been assigned, starting from level+1. Elements below the specified level will be assigned to the local process id.
References ug::GridSubsetHandler::assign_subset(), ug::Grid::attach_to(), ug::MultiGrid::begin(), ug::Grid::detach_from(), ug::MultiGrid::end(), ug::Grid::front(), ug::MultiGrid::get_child(), ug::MultiGrid::get_parent(), ug::ISubsetHandler::get_subset_index(), LIB_GRID, ug::MultiGrid::num(), ug::MultiGrid::num_children(), ug::MultiGrid::num_children_total(), ug::MultiGrid::num_levels(), pcl::ProcRank(), ug::MultiGrid::top_level(), UG_DLOG, UG_LOG, and UG_THROW.
template bool ug::PartitionMultiGridLevel_MetisKway< Edge > | ( | SubsetHandler & | , |
MultiGrid & | , | ||
int | , | ||
size_t | |||
) |
Referenced by PartitionDomain_LevelBased().
template bool ug::PartitionMultiGridLevel_MetisKway< Face > | ( | SubsetHandler & | , |
MultiGrid & | , | ||
int | , | ||
size_t | |||
) |
Referenced by PartitionDomain_LevelBased().
template bool ug::PartitionMultiGridLevel_MetisKway< Volume > | ( | SubsetHandler & | , |
MultiGrid & | , | ||
int | , | ||
size_t | |||
) |
Referenced by PartitionDomain_LevelBased().
bool ug::PartitionMultiGridLevel_ParmetisKway | ( | SubsetHandler & | shPartitionOut, |
MultiGrid & | mg, | ||
int | numParts, | ||
size_t | level | ||
) |
Partitions the elements in the multi-grid using the PARMETIS library.
This method calls METIS_PartGraphKway. Note that PARMETIS is an external library developed at Karypis Labs (http://glaros.dtc.umn.edu/gkhome/)
The method performs parallel load balancing for the elements in the given level. The elements are weighted according to the number of children each has. Child elements will then be recursively assigned to the partitions into which their parents have been assigned, starting from level+1. Elements below the specified level will be assigned to the local process id.
References ug::GridSubsetHandler::assign_subset(), ug::MultiGrid::begin(), pcl::InterfaceCommunicator< TLayout >::communicate(), pcl::ProcessCommunicator::create_sub_communicator(), ug::Grid::distributed_grid_manager(), pcl::ProcessCommunicator::empty(), ug::MultiGrid::end(), ug::MultiGrid::get_child(), ug::GridLayoutMap::get_layout(), pcl::ProcessCommunicator::get_mpi_communicator(), ug::ISubsetHandler::get_subset_index(), ug::DistributedGridManager::grid_layout_map(), ug::GridLayoutMap::has_layout(), INT_V_MASTER, INT_V_SLAVE, ug::DistributedGridManager::is_ghost(), ug::Grid::is_parallel(), LIB_GRID, ug::MultiGrid::num_children(), ug::MultiGrid::num_children_total(), ug::MultiGrid::num_levels(), pcl::ProcRank(), pcl::InterfaceCommunicator< TLayout >::receive_data(), pcl::InterfaceCommunicator< TLayout >::send_data(), pcl::ProcessCommunicator::size(), ug::MultiGrid::top_level(), UG_DLOG, and UG_THROW.
template bool ug::PartitionMultiGridLevel_ParmetisKway< Edge > | ( | SubsetHandler & | , |
MultiGrid & | , | ||
int | , | ||
size_t | |||
) |
Referenced by PartitionDistributedDomain_LevelBased().
template bool ug::PartitionMultiGridLevel_ParmetisKway< Face > | ( | SubsetHandler & | , |
MultiGrid & | , | ||
int | , | ||
size_t | |||
) |
Referenced by PartitionDistributedDomain_LevelBased().
template bool ug::PartitionMultiGridLevel_ParmetisKway< Volume > | ( | SubsetHandler & | , |
MultiGrid & | , | ||
int | , | ||
size_t | |||
) |
Referenced by PartitionDistributedDomain_LevelBased().
string ug::PathFromFilename | ( | const string & | str | ) |
References GetDirectorySeperatorPos().
Referenced by ug::script::LoadUGScript().
|
static |
bool ug::PerformCollapses | ( | Grid & | grid, |
SubsetHandler & | shMarks, | ||
EdgeSelector & | esel, | ||
number | minEdgeLen, | ||
TAAPosVRT & | aaPos, | ||
TAANormVRT & | aaNorm, | ||
TAAIntVRT & | aaInt, | ||
bool | adaptive = true |
||
) |
|
static |
References ug::GridSubsetHandler::assign_subset(), ug::Grid::attach_to_vertices(), ug::Grid::begin(), ug::Grid::create(), ug::Grid::detach_from_vertices(), ug::Grid::edges_begin(), ug::Grid::edges_end(), ug::Grid::end(), ug::Grid::erase(), ug::Grid::faces_begin(), ug::Grid::faces_end(), ug::ISubsetHandler::get_subset_index(), ug::Grid::has_vertex_attachment(), ug::Grid::has_volume_attachment(), ug::AttachmentAccessor< TElem, TAttachment, TElemHandler >::invalidate(), ug::Grid::num(), ug::GridSubsetHandler::num(), ug::ISubsetHandler::num_subsets(), ug::Grid::num_vertices(), SMALL, sTetgenMissing, UG_LOG, UG_THROW, ug::CustomTriangle< ConcreteTriangleType, BaseClass, RefTriType, RefQuadType >::vertex(), ug::Tetrahedron::vertex(), ug::Grid::vertices_begin(), and ug::Grid::vertices_end().
Referenced by Retetrahedralize().
|
static |
bool ug::PerformSplits | ( | Grid & | grid, |
SubsetHandler & | shMarks, | ||
EdgeSelector & | esel, | ||
number | maxEdgeLen, | ||
TAAPosVRT & | aaPos, | ||
TAANormVRT & | aaNorm, | ||
bool | adaptive = true |
||
) |
References ug::TElemSelector< TBaseElem >::begin(), CalculateLengthFac(), ug::ISelector::deselect(), ug::Selector::empty(), LOG, PROFILE_FUNC, TrySplit(), VecDistanceSq(), and ug::EdgeVertices::vertex().
Referenced by AdjustEdgeLength().
bool ug::PerformSwaps | ( | Grid & | grid, |
SubsetHandler & | shMarks, | ||
EdgeSelector & | esel, | ||
TAAPosVRT & | aaPos, | ||
TAANormVRT & | aaNorm, | ||
TAAIntVRT & | aaInt | ||
) |
References ug::TElemSelector< TBaseElem >::begin(), ug::Selector::clear(), ug::ISelector::deselect(), ug::Selector::empty(), LOG, ug::Selector::num(), PROFILE_FUNC, TrySwap(), and UG_LOG.
Referenced by AdjustEdgeLength().
|
static |
References ug::ISubsetHandler::assign_subset(), ug::Grid::attach_to_vertices(), ug::Grid::begin(), ug::Grid::create(), ug::Grid::detach_from_vertices(), ug::Grid::edges_begin(), ug::Grid::edges_end(), ug::Grid::end(), ug::Grid::erase(), ug::Grid::faces_begin(), ug::Grid::faces_end(), ug::ISubsetHandler::get_subset_index(), ug::Grid::has_vertex_attachment(), ug::AttachmentAccessor< TElem, TAttachment, TElemHandler >::invalidate(), ug::Grid::num(), ug::Grid::num_edges(), ug::Grid::num_faces(), ug::Grid::num_vertices(), ug::FaceVertices::num_vertices(), NumAssociatedEdges(), NumAssociatedFaces(), p, RemoveDuplicates(), SMALL, sTetgenMissing, Triangulate(), UG_LOG, UG_THROW, ug::FaceVertices::vertex(), ug::Grid::vertices_begin(), and ug::Grid::vertices_end().
Referenced by Tetrahedralize().
void ug::PermuteIndicesInIndexLayout | ( | IndexLayout & | layout, |
const std::vector< size_t > & | vIndNew | ||
) |
permutes an IndexLayout for the permutation of indices
This Function changes the indices in the layout according to a given permutation of the indices. (The order of the DoFs in the interfaces remains the same, but the DoFs are "renamed") The vector vIndNew must return the new index for each old index, i.e. newIndex = vIndNew[oldIndex].
[in] | vIndNew | mapping for each index |
References pcl::SingleLevelLayout< TInterface >::begin(), pcl::SingleLevelLayout< TInterface >::end(), pcl::OrderedInterface< TType, TContainer, TAlloc >::get_element(), and UG_ASSERT.
|
inline |
References UG_THROW.
|
inline |
References UG_THROW.
References CROSS, INSIDE, ug::TRI::m_P, MAX3, MIN3, OUTSIDE, p, SIGN3, and SUB.
Referenced by TriCubeIntersection().
|
static |
References ug::NeuriteProjector::axial_range_around_branching_region(), bp_newton_start_pos(), compute_angle(), compute_ONB(), compute_position_and_velocity_in_section(), ug::NeuriteProjector::neurite(), newton_for_bp_projection(), pos_in_neurite(), ug::NeuriteProjector::Neurite::refDir, s, ug::NeuriteProjector::BranchingRegion::t, UG_CATCH_THROW, UG_COND_THROW, ug::NeuriteProjector::Neurite::vBR, VecProd(), VecScaleAdd(), VecSubtract(), and ug::NeuriteProjector::Neurite::vSec.
Referenced by ug::NeuriteProjector::push_into_place().
|
static |
TODO: A similiar procedure as below has to be used for the soma/neurite BP iteration
References compute_ONB(), compute_position_and_velocity_in_section(), ug::NeuriteProjector::Neurite::refDir, UG_COND_THROW, VecScaleAdd(), and ug::NeuriteProjector::Neurite::vSec.
Referenced by bp_newton_start_pos(), pos_in_bp(), and ug::NeuriteProjector::push_into_place().
|
static |
References ug::NeuriteProjector::average_pos_from_parent(), ug::NeuriteProjector::Section::splineParamsR, ug::NeuriteProjector::Section::splineParamsX, ug::NeuriteProjector::Section::splineParamsY, ug::NeuriteProjector::Section::splineParamsZ, VecAdd(), VecProd(), VecScale(), VecSubtract(), and ug::NeuriteProjector::Neurite::vSec.
Referenced by ug::NeuriteProjector::push_into_place().
|
static |
Referenced by ug::DomainDiscretizationBase< TDomain, TAlgebra, TGlobAssembler >::assemble_defect(), ug::DomainDiscretizationBase< TDomain, TAlgebra, TGlobAssembler >::assemble_jacobian(), ug::DomainDiscretizationBase< TDomain, TAlgebra, TGlobAssembler >::assemble_linear(), ug::DomainDiscretizationBase< TDomain, TAlgebra, TGlobAssembler >::assemble_rhs(), ug::DomainDiscretizationBase< TDomain, TAlgebra, TGlobAssembler >::finish_timestep(), ug::DomainDiscretizationBase< TDomain, TAlgebra, TGlobAssembler >::prepare_timestep(), and ug::DomainDiscretizationBase< TDomain, TAlgebra, TGlobAssembler >::prepare_timestep_elem().
|
static |
DistInfos are post-processed and some values are adjusted (primarily missing vslaves-marks are added)
In some situations a copy of an element may be marked as vmaster but some associated copies are neither marked as vmaster or vslave. This would be invalid and we have to mark those copies as vslaves in those situations.
This occurs in situations where a low-dim element with copies on p1 and p2 (no v-interface) is distributed from p1 to a third process.
This method should be called after the distribution infos have been synchronized. Since it performs the exactly same actions on all processes for synchronized dist-infos, no further communication is required afterwards.
References ug::MultiGrid::begin(), ElementDebugInfo(), ug::MultiGrid::end(), ug::DistInfoSupplier::get(), ug::DistInfoSupplier::get_debug_info(), ug::TargetProcInfo::interfaceState, IS_DUMMY, IS_NORMAL, IS_VMASTER, IS_VSLAVE, UG_LOG, and UG_THROW.
|
static |
Referenced by ug::DomainDiscretizationBase< TDomain, TAlgebra, TGlobAssembler >::assemble_defect(), ug::DomainDiscretizationBase< TDomain, TAlgebra, TGlobAssembler >::assemble_jacobian(), ug::DomainDiscretizationBase< TDomain, TAlgebra, TGlobAssembler >::assemble_linear(), ug::DomainDiscretizationBase< TDomain, TAlgebra, TGlobAssembler >::assemble_rhs(), ug::DomainDiscretizationBase< TDomain, TAlgebra, TGlobAssembler >::finish_timestep(), ug::DomainDiscretizationBase< TDomain, TAlgebra, TGlobAssembler >::prepare_timestep(), and ug::DomainDiscretizationBase< TDomain, TAlgebra, TGlobAssembler >::prepare_timestep_elem().
|
inlinestatic |
References UG_LOG.
Referenced by ug::Progress::setD(), ug::ParallelProgress::setD(), and ug::Progress::stop().
|
inlinestatic |
void ug::PrintCondUserDataValue | ( | const UserData< TData, dim, bool > & | ud, |
const MathVector< dim > & | globIP, | ||
number | time, | ||
int | si | ||
) |
References UG_LOG.
void ug::PrintDebugInfos | ( | const vector< SweepLineVertex > & | vrts, |
const list< SweepLineEdge > & | edges | ||
) |
References ug::SweepLineVertex::connections, SLES_RIM, SLVS_END, SLVS_MERGE, SLVS_NONE, SLVS_REGULAR, SLVS_SPLIT, SLVS_START, UG_LOG, and ug::SweepLineVertex::vrtPtr.
void ug::PrintDoFCount | ( | const vector< DoFCount > & | vDC, |
const string & | sInfo, | ||
const string & | sAlgebra, | ||
const string & | sflags | ||
) |
References ConvertNumber(), ES_H_MASTER, ES_H_SLAVE, ES_NONE, ES_V_MASTER, ES_V_SLAVE, ug::GridLevel::ghosts(), ug::DoFCount::grid_level(), ug::GridLevel::is_level(), ug::GridLevel::is_surface(), name, ug::DoFCount::num(), ug::DoFCount::num_contains(), repeat(), SnipString(), UG_LOG, and UG_THROW.
Referenced by ug::IApproximationSpace::print_statistic().
void ug::PrintElementEdgeRatios | ( | Grid & | grid, |
TIterator | elemsBegin, | ||
TIterator | elemsEnd, | ||
TAAPos | aaPos | ||
) |
void ug::PrintGlobalLayout | ( | const GlobalLayout & | globalLayout, |
const char * | name | ||
) |
References LIB_ALG_AMG, name, PROFILE_FUNC_GROUP, UG_DLOG, and UG_LOG.
|
inline |
void ug::PrintLUA | ( | ) |
References UG_LOG.
Referenced by ug::bridge::RegisterBridge_Misc().
void ug::PrintMaple | ( | const matrix_type & | mat, |
const char * | name | ||
) |
void ug::PrintMatrix | ( | const matrix_type & | mat, |
const char * | name | ||
) |
void ug::PrintQuadRule | ( | const QuadratureRule< 2 > & | q | ) |
void ug::PrintSimpleGrid | ( | SimpleGrid & | sg | ) |
void ug::PrintStorageType | ( | const tvector & | v | ) |
References PST_ADDITIVE, PST_CONSISTENT, PST_UNDEFINED, PST_UNIQUE, and UG_LOG.
void ug::PrintSubdivisionVolumesRefinementMask | ( | ) |
Function for printing the subdivision volumes tet-oct refinement mask.
This function prints the subdivision volumes tet-oct refinement mask.
References UG_LOG.
void ug::PrintUserDataValue | ( | const UserData< TData, dim > & | ud, |
const MathVector< dim > & | globIP, | ||
number | time, | ||
int | si | ||
) |
References UG_LOG.
void ug::PrintVector | ( | const T & | v, |
std::string | desc = "" |
||
) |
References UG_LOG.
template void ug::ProjectHierarchyToSubdivisionLimit | ( | MultiGrid & | mg, |
APosition1 & | aPos | ||
) |
template void ug::ProjectHierarchyToSubdivisionLimit | ( | MultiGrid & | mg, |
APosition2 & | aPos | ||
) |
void ug::ProjectHierarchyToSubdivisionLimit | ( | MultiGrid & | mg, |
TAPosition & | aPos | ||
) |
Projection function for smooth subdivision (volumes+surface) refinement.
This function projects the vertices of all levels to their smooth limit positions determined by the subdivision volumes refinement.
mg | reference to MultiGrid |
aPos | reference to position attachment |
References pcl::ProcessCommunicator::allreduce(), ug::MultiGrid::begin(), pcl::InterfaceCommunicator< TLayout >::communicate(), ug::Grid::distributed_grid_manager(), ug::MultiGrid::end(), pcl::InterfaceCommunicator< TLayout >::exchange_data(), ug::MultiGrid::get_parent(), ug::DistributedGridManager::grid_layout_map(), INT_V_MASTER, INT_V_SLAVE, ug::MultiGrid::num_levels(), pcl::NumProcs(), PCL_RO_MAX, PROFILE_FUNC_GROUP, ug::MultiGrid::top_level(), and UG_THROW.
Referenced by ug::GlobalSubdivisionMultiGridRefiner< TAPosition >::nest_hierarchy().
void ug::ProjectToLayer | ( | Grid & | grid, |
const RasterLayers & | layers, | ||
int | layerIndex, | ||
Grid::VertexAttachmentAccessor< AVector3 > | aaPos | ||
) |
projects the given (surface-) grid to the specified raster
References ug::Grid::begin(), ug::Grid::end(), ug::RasterLayers::layer_t::heightfield, ug::RasterLayers::layer(), ug::Heightfield::no_data_value(), ug::RasterLayers::relative_to_global_height(), ug::RasterLayers::size(), and UG_COND_THROW.
bool ug::ProjectVerticesToCloseEdges | ( | Grid & | grid, |
GridObjectCollection | elems, | ||
TAAPosVRT & | aaPos, | ||
number | snapThreshold | ||
) |
Projects vertices in elems onto close edges in elems. Though this method can be used to remove degenerated triangles, it is not guaranteed, that no degenerated triangles will remain (indeed, new degenerated triangles may be introduced).
Referenced by ResolveTriangleIntersections().
bool ug::ProjectVerticesToCloseEdges | ( | Grid & | grid, |
GridObjectCollection | elems, | ||
TAPos & | aPos, | ||
number | snapThreshold | ||
) |
bool ug::ProjectVerticesToCloseFaces | ( | Grid & | grid, |
TObjectCollection & | elems, | ||
TAPos & | aPos, | ||
number | snapThreshold | ||
) |
Projects vertices in elems onto close faces in elems.
Projects vertices in elems onto close faces in elems. TObjectCollection has to fulfill the interface of a GridObjectCollection.
References FaceContains(), FindElementsInIntersectingNodes(), ug::FaceVertices::num_vertices(), ResolveVertexFaceIntersection(), sq(), VecDistanceSq(), VecSet(), and ug::FaceVertices::vertex().
void ug::Prolongate | ( | GridFunction< TDomain, TAlgebra > & | uFine, |
const GridFunction< TDomain, TAlgebra > & | uCoarse | ||
) |
References ug::GridFunction< TDomain, TAlgebra >::dof_distribution(), ug::GridFunction< TDomain, TAlgebra >::domain(), ug::DoFDistributionInfoProvider::function_pattern(), ug::LFEID::LAGRANGE, ug::DoFDistributionInfoProvider::local_finite_element_id(), ug::DoFDistributionInfoProvider::num_fct(), ug::LFEID::order(), ProlongateElemwise(), ProlongateP1(), ug::GridLevel::TOP, ug::LFEID::type(), and UG_THROW.
void ug::ProlongateElemwise | ( | GridFunction< TDomain, TAlgebra > & | uFine, |
const GridFunction< TDomain, TAlgebra > & | uCoarse | ||
) |
References CollectCornerCoordinates(), dim, ug::GridFunction< TDomain, TAlgebra >::dof_distribution(), DoFPosition(), DoFRef(), ug::GridFunction< TDomain, TAlgebra >::domain(), ug::MultiGrid::get_child(), ug::MultiGrid::get_level(), ug::DimReferenceMapping< TDim, TWorldDim >::global_to_local(), ug::MultiGrid::has_children(), ug::MultiGrid::num_children(), ug::LFEID::PIECEWISE_CONSTANT, ug::LocalShapeFunctionSet< TDim, TShape, TGrad >::shapes(), ug::GridLevel::TOP, UG_ASSERT, UG_THROW, and VecSet().
Referenced by Prolongate().
void ug::ProlongateP1 | ( | GridFunction< TDomain, TAlgebra > & | uFine, |
const GridFunction< TDomain, TAlgebra > & | uCoarse | ||
) |
References ug::GridFunction< TDomain, TAlgebra >::dof_distribution(), ug::GridFunction< TDomain, TAlgebra >::domain(), ug::MultiGrid::get_level(), ug::MultiGrid::get_parent(), ug::GridFunction< TDomain, TAlgebra >::inner_algebra_indices(), ug::EdgeVertices::num_vertices(), ug::FaceVertices::num_vertices(), ug::VolumeVertices::num_vertices(), ug::GridObject::reference_object_id(), ROID_EDGE, ROID_HEXAHEDRON, ROID_OCTAHEDRON, ROID_PRISM, ROID_PYRAMID, ROID_QUADRILATERAL, ROID_TETRAHEDRON, ROID_TRIANGLE, ROID_VERTEX, ug::GridLevel::TOP, UG_THROW, VecScaleAdd(), ug::EdgeVertices::vertex(), ug::FaceVertices::vertex(), and ug::VolumeVertices::vertex().
Referenced by Prolongate().
|
inline |
returns true if the normals of the resulting triangles point into the same direction
the quad is always assumed to be split along the diagonal c0, c2
References CalculateTriangleNormalNoNormalize(), SMALL, and VecDot().
Referenced by ReplaceLowValenceVertices().
number ug::QuadrilateralAspectRatio | ( | FaceVertices * | f, |
TAAPos & | aaPos | ||
) |
Returns the aspect ratio of a quadrilateral.
The aspect ratio is calculated using the formula
References QuadrilateralArea(), VecDistance(), and ug::FaceVertices::vertices().
Referenced by AspectRatio().
template bool ug::QualityGridGeneration | ( | Grid & | , |
DelaunayInfo< Grid::VertexAttachmentAccessor< AVector3 > > & | , | ||
number | , | ||
int | |||
) |
bool ug::QualityGridGeneration | ( | Grid & | grid, |
DelaunayInfo< TAAPos > & | info, | ||
number | minAngle = 0 , |
||
int | maxSteps = -1 |
||
) |
Transforms the given triangle-set into a delaunay set.
Creates a delaunay triangulation. If a minAngle greater than 0 is specified, then additional vertices are introduced, if required to generate fulfill the min-angle-condition.
Make sure that init_marks was performed on the specified deaunay-info object. If the triangulation is not already delaunay, all interior edges should also be pushed to the candidates pool (can be done automatically in DelaunayInfo::init_marks)
References ug::Grid::begin(), ug::Grid::begin_marking(), CalculateCenter(), CalculateNormal(), ug::DelaunayInfo< TAAPos >::classified_faces_left(), CollectAssociated(), ug::Grid::create(), CreatePolyChain(), deg_to_rad(), DelaunayDebugSave(), DelaunayLineLineIntersection(), DistancePointToLine(), EdgeContains(), EdgeLengthSq(), ug::DelaunayInfo< TAAPos >::enable_face_classification(), EnableDelaunayDebugSave(), ug::Grid::end_marking(), ug::Grid::erase(), ug::Grid::get_edge(), GetAssociatedFaces(), GetConnectedVertex(), ug::DelaunayInfo< TAAPos >::is_candidate(), ug::DelaunayInfo< TAAPos >::is_inner(), ug::Grid::is_marked(), ug::DelaunayInfo< TAAPos >::is_segment(), MakeDelaunay(), ug::Grid::mark(), ug::DelaunayInfo< TAAPos >::mark(), ug::Face::num_edges(), ug::FaceVertices::num_vertices(), ug::DelaunayInfo< TAAPos >::pop_classified_face(), ug::DelaunayInfo< TAAPos >::position_accessor(), ug::DelaunayInfo< TAAPos >::push_candidate(), rad_to_deg(), ug::DelaunayInfo< TAAPos >::set_mark(), SMALL, SMALL_SQ, ug::vrl::split(), ug::DelaunayInfo< TAAPos >::start_candidate_recording(), ug::DelaunayInfo< TAAPos >::stop_candidate_recording(), TriangleCircumcenter(), TriangleFill_SweepLine(), UG_LOG, VecAdd(), VecAngle(), VecDistance(), VecDistanceSq(), VecLengthSq(), VecNormalize(), VecScale(), VecScaleAdd(), VecSubtract(), ug::EdgeVertices::vertex(), and ug::FaceVertices::vertex().
Referenced by QualityGridGeneration().
bool ug::QualityGridGeneration | ( | Grid & | grid, |
TriIter | trisBegin, | ||
TriIter | trisEnd, | ||
TAAPos & | aaPos, | ||
number | minAngle = 0 , |
||
Grid::edge_traits::callback | cbConstrainedEdge = ConsiderNone() , |
||
int | maxSteps = -1 |
||
) |
References ug::DelaunayInfo< TAAPos >::init_marks(), and QualityGridGeneration().
void ug::RangeStringToIndexList | ( | std::vector< ind_t > & | indsOut, |
const char * | rangeString | ||
) |
Range strings are comma separated values and ranges, e.g.: "0,1,2-4,8,9-11"
bool ug::RayElementIntersection | ( | number & | sminOut, |
number & | smaxOut, | ||
const vector2 & | from, | ||
const vector2 & | dir, | ||
Edge * | e, | ||
Grid & | g, | ||
Grid::VertexAttachmentAccessor< AVector2 > | aaPos, | ||
number | sml = SMALL |
||
) |
2d ray-element intersection for edges
sminOut and smaxOut return the relative coordinates of the intersection with the edge regarding the ray-parameter form. sminOut and smaxOut usually return the same result. They should only be different if the ray lies in the same hyperplane as the given edge. Then they would ontain the point where the ray enters (sminOut) and leaves (smaxOut) the edge. sminOut and smaxOut are relative coordinates regarding the ray's parameter form. To obtain a point in 2d use 'PointOnRay(from, dir, sminOut)' or 'PointOnRay(from, dir, smaxOut)'.
References RayLineIntersection2d(), and ug::EdgeVertices::vertex().
Referenced by ug::FVLineSourceOrSink< dim, TData >::corresponds_to(), and ug::lg_ntree_traits_base< tree_dim, world_dim, elem_t_, common_data_t_ >::intersects_ray().
bool ug::RayElementIntersection | ( | number & | sminOut, |
number & | smaxOut, | ||
const vector2 & | from, | ||
const vector2 & | dir, | ||
Face * | f, | ||
Grid & | g, | ||
Grid::VertexAttachmentAccessor< AVector2 > | aaPos, | ||
number | sml = SMALL |
||
) |
2d ray-element intersection for faces
If the method returns true, the point where the ray enters and leaves the face are returned in sminOut and smaxOut respectively. sminOut and smaxOut are relative coordinates regarding the ray's parameter form. To obtain a point in 2d use 'PointOnRay(from, dir, sminOut)' or 'PointOnRay(from, dir, smaxOut)'.
References RayElementIntersectionImpl().
bool ug::RayElementIntersection | ( | number & | sminOut, |
number & | smaxOut, | ||
const vector3 & | from, | ||
const vector3 & | dir, | ||
Edge * | e, | ||
Grid & | g, | ||
Grid::VertexAttachmentAccessor< AVector3 > | aaPos, | ||
number | sml = SMALL |
||
) |
3d ray-element intersection for edges
Not implemented yet, always returns false
Referenced by RayElementIntersectionImpl().
bool ug::RayElementIntersection | ( | number & | sminOut, |
number & | smaxOut, | ||
const vector3 & | from, | ||
const vector3 & | dir, | ||
Face * | f, | ||
Grid & | g, | ||
Grid::VertexAttachmentAccessor< AVector3 > | aaPos, | ||
number | sml = SMALL |
||
) |
3d ray-element intersection for faces
sminOut and smaxOut return the relative coordinates of the intersection with the face regarding the ray-parameter form. sminOut and smaxOut usually return the same result. They should only be different if the ray lies in the plane of the given face. Then they would contain the point where the ray enters (sminOut) and leaves (smaxOut) the face. sminOut and smaxOut are relative coordinates regarding the ray's parameter form. To obtain a point in 3d use 'PointOnRay(from, dir, sminOut)' or 'PointOnRay(from, dir, smaxOut)'.
References ug::FaceVertices::num_vertices(), RayTriangleIntersection(), and ug::FaceVertices::vertex().
bool ug::RayElementIntersection | ( | number & | sminOut, |
number & | smaxOut, | ||
const vector3 & | from, | ||
const vector3 & | dir, | ||
Volume * | v, | ||
Grid & | g, | ||
Grid::VertexAttachmentAccessor< AVector3 > | aaPos, | ||
number | sml = SMALL |
||
) |
3d ray-element intersection for volumes
If the method returns true, the point where the ray enters and leaves the volume are returned in sminOut and smaxOut respectively. sminOut and smaxOut are relative coordinates regarding the ray's parameter form. To obtain a point in 3d use 'PointOnRay(from, dir, sminOut)' or 'PointOnRay(from, dir, smaxOut)'.
References RayElementIntersectionImpl().
|
static |
utility method for the full-dimensional RayElementIntersection implementation
References ug::Grid::associated_elements(), end_for, for_each_in_vec, RayElementIntersection(), and s.
Referenced by RayElementIntersection().
bool ug::RayElementIntersections | ( | std::vector< RayElemIntersectionRecord< typename tree_t::elem_t > > & | intersectionsOut, |
const tree_t & | tree, | ||
const typename tree_t::vector_t & | rayFrom, | ||
const typename tree_t::vector_t & | rayDir, | ||
const number | small = 1.e-12 |
||
) |
void ug::ReadFromFile | ( | T & | v, |
std::string | filename | ||
) |
References Deserialize(), and pcl::ReadCombinedParallelFile().
|
static |
References ug::BinaryBuffer::eof(), GHC_HEADER_BEGIN, GHC_HEADER_END, GHC_READ_OPTIONS, ug::GridHeader::m_readOptions, and ug::BinaryBuffer::read().
Referenced by DeserializeGridElements(), and DeserializeMultiGridElements().
|
static |
If you havn't already used strtok on the given buffer, pass true to newTokBuff (default == true).
Make sure that the buffer only contains index values!
Referenced by LoadGridFromART().
|
static |
References ug::BinaryBuffer::read(), s, and ug::ISelector::select().
Referenced by DeserializeSelector().
|
static |
References ug::ISubsetHandler::assign_subset(), and ug::BinaryBuffer::read().
Referenced by DeserializeSubsetHandler().
|
static |
References ug::Grid::create(), and split_parameters().
Referenced by LoadGridFromDUMP().
|
static |
References ug::Grid::create(), and split_parameters().
Referenced by LoadGridFromDUMP().
bool ug::ReadVector | ( | std::string | filename, |
vector_type & | vec, | ||
int | dim | ||
) |
References dim, p, PROGRESS_START, and PROGRESS_UPDATE.
Referenced by LoadVector().
void ug::ReceiveGlobalLayout | ( | pcl::InterfaceCommunicator< IndexLayout > & | comm, |
const std::vector< int > & | srcprocs, | ||
GlobalLayout & | globalMasterLayout, | ||
GlobalLayout & | globalSlaveLayout | ||
) |
void ug::ReceiveMatrix | ( | const matrix_type & | A, |
matrix_type & | M, | ||
IndexLayout & | verticalMasterLayout, | ||
const std::vector< int > & | srcprocs, | ||
ParallelNodes & | PN | ||
) |
Receives a distributed matrix from several processors
A | (in) input matrix |
M | (out) collected matrix |
masterLayout | (out) created master layout to processors in srcprocs |
References pcl::InterfaceCommunicator< TLayout >::communicate(), Deserialize(), DeserializeRow(), ug::ParallelNodes::get_local_index_or_create_new(), pcl::SingleLevelLayout< TInterface >::interface(), ug::ParallelMatrix< TMatrix >::layouts(), LIB_ALG_AMG, ug::ParallelNodes::local_size(), ug::AlgebraID::master_proc(), num_connections(), pcl::NumProcs(), pcl::ProcRank(), PROFILE_FUNC_GROUP, pcl::OrderedInterface< TType, TContainer, TAlloc >::push_back(), pcl::InterfaceCommunicator< TLayout >::receive_raw(), ug::ParallelMatrix< TMatrix >::set_layouts(), ug::BinaryBuffer::set_read_pos(), UG_COND_THROW, UG_DLOG, and ug::BinaryBuffer::write_pos().
Referenced by CollectMatrixOnOneProc().
|
inline |
returns the Center of a reference element at run-time
|
inline |
|
inline |
|
inline |
|
inline |
returns the reference element dimension at run-time
References ROID_EDGE, ROID_HEXAHEDRON, ROID_OCTAHEDRON, ROID_PRISM, ROID_PYRAMID, ROID_QUADRILATERAL, ROID_TETRAHEDRON, ROID_TRIANGLE, ROID_VERTEX, and UG_THROW.
Referenced by ug::CommonLocalDoFSet::add(), ug::FVLineSourceOrSink< dim, TData >::corresponds_to(), ug::LocalFiniteElementProvider::create_dof_set(), ug::DoFDistributionInfo::create_offsets(), ug::LocalFiniteElementProvider::create_set(), ug::LocalFiniteElementProvider::create_sub_dof_set(), ug::LocalDoFSet::dim(), DoFPosition(), ug::DataExport< TData, dim >::eval_fct_set(), InnerDoFPosition(), ug::CrouzeixRaviartBase< TRefElem >::num_dof(), ug::MiniBubbleLDS< TRefElem >::num_dof(), ug::NedelecLDS< TRefElem >::num_dof(), ShapesAtGlobalPosition(), and ug::SubLocalDoFSet< TDim >::SubLocalDoFSet().
|
static |
This refinement helper is called by the different refine implementations. The last parameter is the actual refinement procedure as defined in ug::tet_rules, ug::pyra_rules, ug::hex_rules or ug::prism_rules.
References ug::GridObject::create_empty_instance(), CreateVolumesFromElementIndexList(), ug::hex_rules::MAX_NUM_INDS_OUT, ug::hex_rules::NUM_EDGES, ug::hex_rules::NUM_FACES, and ug::hex_rules::NUM_VERTICES.
Referenced by GenerateIcosphere(), ug::Tetrahedron::refine(), ug::Hexahedron::refine(), ug::Prism::refine(), ug::Pyramid::refine(), and ug::Octahedron::refine().
void ug::release_mem | ( | void * | p | ) |
References bMemTracker, memTracker, and p.
Referenced by operator delete(), and operator delete[]().
void ug::RemoveDuplicates | ( | Grid & | grid, |
TElemIter | elemsBegin, | ||
TElemIter | elemsEnd | ||
) |
Removes elements which share the same set of vertices with other elements in the given range.
References ug::Grid::associated_elements(), ug::Grid::begin_marking(), CompareVertices(), ug::Grid::end_marking(), ug::Grid::erase(), ug::Grid::is_marked(), ug::Grid::mark(), ug::Grid::objects_will_be_merged(), ug::PointerConstArray< TPtr >::push_back(), and ug::PointerConstArray< TPtr >::size().
Referenced by PerformTetrahedralization(), and ResolveTriangleIntersections().
|
static |
A helper method for GridLayoutMap::remove_empty_interfaces()
bool ug::RemoveInterface | ( | TLayout & | layout, |
int | pid | ||
) |
References find().
Referenced by MergeInterfaces(), and RemoveInterfaces().
void ug::RemoveInterfaces | ( | TLayout & | layout, |
std::vector< int > | group | ||
) |
References RemoveInterface().
void ug::RemoveLowerDimSubsets | ( | SubsetGroup & | subsetGroup | ) |
Removes all subsets from the subset group that have a lower dimension than the highest dimension contained in the subset group.
subsetGroup | subset group that is modified |
References ug::SubsetGroup::dim(), ug::SubsetGroup::remove(), s, and ug::SubsetGroup::size().
Referenced by AddFunctionValuesToGridCoordinatesP1(), Integral(), IntegralNormalComponentOnManifoldSubsets(), IntegrateDiscFlux(), IntegrateSubsets(), Interpolate(), and MaxError().
|
inlinestatic |
helpful if a local vertex-order is required
cornersOut and cornersIn both have to be of size numCorners. After termination cornersOut will contain the vertices of cornersIn, starting from firstCorner, taking vertices modulo numCorners. If cornersOut == cornersIn, the method will fail! This is ok since the method is used locally and has been created for a special case.
Referenced by ug::CustomQuadrilateral< ConcreteQuadrilateralType, BaseClass, RefTriType, RefQuadType >::refine().
bool ug::RepeatedEdgeExtrusion | ( | Grid & | grid, |
TIterator | iterBegin, | ||
TIterator | iterEnd, | ||
int | numSteps, | ||
const ug::vector3 & | stepDir | ||
) |
References Extrude().
bool ug::RepeatedFaceExtrusion | ( | Grid & | grid, |
TIterator | iterBegin, | ||
TIterator | iterEnd, | ||
int | numSteps, | ||
const ug::vector3 & | stepDir | ||
) |
References Extrude().
bool ug::RepeatedVertexExtrusion | ( | Grid & | grid, |
TIterator | iterBegin, | ||
TIterator | iterEnd, | ||
int | numSteps, | ||
const ug::vector3 & | stepDir | ||
) |
References Extrude().
string ug::replace_chars | ( | string & | str, |
char | cToR, | ||
char | cNew | ||
) |
Referenced by ug::LoaderObj::load_file().
string ug::ReplaceAll | ( | string | target, |
const string & | oldstr, | ||
const string & | newstr | ||
) |
References boost::target().
Referenced by ug::bridge::LUAStringEscape(), ug::bridge::RegisterBridge_Misc(), and XMLStringEscape().
References ug::Grid::create_and_replace().
References ug::Grid::create_and_replace(), ug::FaceVertices::num_vertices(), and UG_ASSERT.
References ug::Grid::create_and_replace().
Referenced by ug::ComPol_AdjustType< TLayout >::extract().
References UG_THROW.
Referenced by ug::ComPol_AdjustType< TLayout >::extract().
References ug::Grid::create_and_replace().
References ug::Grid::create_and_replace(), ug::FaceVertices::num_vertices(), and UG_ASSERT.
References ug::Grid::create_and_replace().
References ug::Grid::create_and_replace(), ug::FaceVertices::num_vertices(), and UG_ASSERT.
References ug::Grid::create_and_replace().
Referenced by ug::ComPol_AdjustType< TLayout >::extract().
UG_API Quadrilateral * ug::ReplaceByQuadrilateral | ( | Grid & | g, |
Face * | tri1, | ||
Face * | tri2 | ||
) |
Replaces the specified triangles by one quadrilateral.
The two triangles have to share exactly 2 vertices.
References CreateQuadrilateral_NoRegistration(), ug::Grid::erase(), GetConnectingEdge(), and ug::Grid::register_element().
Referenced by ReplaceByQuadrilaterals_EdgeBasedNoSort().
void ug::ReplaceByQuadrilaterals_EdgeBased | ( | Grid & | g, |
edge_iter_t | edgesBegin, | ||
edge_iter_t | edgesEnd, | ||
TAAPos | aaPos | ||
) |
Attempts to replace triangles associated with the given set of edges by a set of quadrilaterals.
Quadrilaterals are generated in the order from good quads to bad quads.
References ug::Grid::associated_elements(), FaceQuality(), GetConnectedVertex(), GetConnectedVertexIndex(), ReplaceByQuadrilaterals_EdgeBasedNoSort(), ug::FaceDescriptor::set_vertex(), and ug::PointerConstArray< TPtr >::size().
Referenced by ReplaceByQuadrilaterals_FaceBased().
void ug::ReplaceByQuadrilaterals_EdgeBasedNoSort | ( | Grid & | g, |
edge_iter_t | edgesBegin, | ||
edge_iter_t | edgesEnd | ||
) |
Attempts to replace triangles associated with the given set of edges by a set of quadrilaterals.
The method tries for each edge in the specified order to replace associated triangles by one quadrilateral. The replace is only performed if exactly two different triangles are connected with the edge. Otherwise the edge is simply ignored.
References ug::Grid::associated_elements(), ReplaceByQuadrilateral(), and ug::PointerConstArray< TPtr >::size().
Referenced by ReplaceByQuadrilaterals_EdgeBased(), and ReplaceByQuadrilaterals_FaceBasedNoSort().
void ug::ReplaceByQuadrilaterals_FaceBased | ( | Grid & | g, |
face_iter_t | facesBegin, | ||
face_iter_t | facesEnd, | ||
TAAPos | aaPos | ||
) |
Attempts to replace the given set of triangles by a set of quadrilaterals.
References ug::Grid::begin(), GetInnerEdgesOfFaceSoup(), and ReplaceByQuadrilaterals_EdgeBased().
void ug::ReplaceByQuadrilaterals_FaceBasedNoSort | ( | Grid & | g, |
face_iter_t | facesBegin, | ||
face_iter_t | facesEnd | ||
) |
Attempts to replace the given set of faces by a set of quadrilaterals.
The method finds edges which connect two triangles in the specified sequence and will pass those to 'ReplaceByQuadrilaterals_EdgeBasedNoSort' Quadrilaterals are generated in the order from good quads to bad quads.
References ug::Grid::begin(), GetInnerEdgesOfFaceSoup(), and ReplaceByQuadrilaterals_EdgeBasedNoSort().
void ug::ReplaceIndicesInLayout | ( | IndexLayout & | layout, |
const std::vector< int > & | vMap | ||
) |
replaces the indices in the layout based on a passed mapping
This function replaces the indices in the layout by new indices. The mapping between old and new indices is passed as newIndex = vMap[oldIndex]. The size of the new index set must be smaller or equal to the old index set. If the entry in the map is negative, the old index is removed from the layout.
References pcl::SingleLevelLayout< TInterface >::begin(), pcl::SingleLevelLayout< TInterface >::end(), and PROFILE_FUNC_GROUP.
void ug::ReplaceLowValenceVertices | ( | Grid & | g, |
TVrtIter | vrtsBegin, | ||
TVrtIter | vrtsEnd, | ||
number | maxSquaredHeightToBaseAreaRatio, | ||
TAAPos | aaPos | ||
) |
References ug::Grid::associated_elements(), ug::Grid::begin(), ug::Grid::create(), CreatePolyChain(), EDGE, ug::Grid::erase(), ug::Grid::get_edge(), ug::Grid::get_face(), GetVertexIndex(), ug::FaceVertices::num_vertices(), QuadDiagonalIsValid(), ug::PointerConstArray< TPtr >::size(), TriangleQuality_Area(), Valence3VertexIsObsolete(), Valence4VertexIsObsolete(), and ug::FaceVertices::vertex().
|
static |
References ug::Grid::begin(), and ug::Grid::end().
Vertex * ug::ResolveEdgeEdgeIntersection | ( | Grid & | grid, |
Edge * | e1, | ||
Edge * | e2, | ||
TAAPosVRT & | aaPos, | ||
number | snapThreshold | ||
) |
This method does not resolve intersections between close, parallel edges or between degenerate edges. You can treat such cases with ReolveVertexEdgeIntersection.
References EdgeContains(), LineLineProjection(), MergeVertices(), p, VecDistanceSq(), VecScaleAdd(), and ug::EdgeVertices::vertex().
Referenced by IntersectCloseEdges().
bool ug::ResolveEdgeFaceIntersection | ( | Grid & | grid, |
Edge * | e, | ||
Face * | f, | ||
TAAPosVRT & | aaPos, | ||
number | snapThreshold | ||
) |
No support for volumes in the current version.
No support for volumes in the current version.
References ug::Grid::create(), ug::Grid::erase(), FaceContains(), MergeVertices(), ug::FaceVertices::num_vertices(), p, RayTriangleIntersection(), ug::Face::refine(), ug::Grid::register_element(), s, VecSubtract(), ug::EdgeVertices::vertex(), and ug::FaceVertices::vertex().
bool ug::ResolveTriangleIntersections | ( | Grid & | grid, |
TriangleIterator | trisBegin, | ||
TriangleIterator | trisEnd, | ||
number | snapThreshold, | ||
TAPos & | aPos | ||
) |
This method uses Grid::mark
References aPosition, ug::Grid::attach_to_faces(), ug::Grid::attach_to_vertices(), ug::Grid::attach_to_vertices_dv(), ug::Grid::begin(), ug::Selector::begin(), CalculateNormal(), ug::Selector::clear(), ug::Grid::clear_geometry(), ug::Grid::create(), ug::grid_intersection_impl::DebugSave(), ug::grid_intersection_impl::DebugSave2d(), ug::Grid::detach_from_faces(), DistancePointToPlane(), ug::Grid::edges_begin(), ug::Grid::edges_end(), ug::Selector::empty(), ug::ISelector::enable_autoselection(), ug::ISelector::enable_selection_inheritance(), ug::Grid::end(), ug::Selector::end(), ug::Grid::erase(), FindCloseVertexInArray(), FindElementsInIntersectingNodes(), ug::Grid::get_attachment_data_index(), ug::Grid::get_element(), ug::Grid::get_grid_objects(), GRIDOPT_STANDARD_INTERCONNECTION, IntersectCloseEdges(), IntersectCoplanarTriangles(), ug::Grid::num_vertices(), ug::FaceVertices::num_vertices(), NumSharedVertices(), ProjectVerticesToCloseEdges(), RemoveDuplicates(), ug::ISelector::select(), SelectAssociatedVertices(), SelectInnerSelectionEdges(), SelectInnerSelectionVertices(), ug::FaceDescriptor::set_vertex(), SMALL, TriangleFill_SweepLine(), TriangleTriangleIntersection(), UG_LOG, VecDot(), ug::FaceVertices::vertex(), ug::CustomTriangle< ConcreteTriangleType, BaseClass, RefTriType, RefQuadType >::vertex(), ug::Grid::vertices_begin(), ug::Selector::vertices_begin(), ug::Grid::vertices_end(), and ug::Selector::vertices_end().
Vertex * ug::ResolveVertexEdgeIntersection | ( | Grid & | grid, |
Vertex * | v, | ||
Edge * | e, | ||
TAAPosVRT & | aaPos, | ||
number | snapThreshold | ||
) |
References DropAPerpendicular(), EdgeContains(), MergeVertices(), p, VecDistanceSq(), and ug::EdgeVertices::vertex().
bool ug::ResolveVertexFaceIntersection | ( | Grid & | grid, |
Vertex * | v, | ||
Face * | f, | ||
TAAPosVRT & | aaPos, | ||
number | snapThreshold, | ||
std::vector< Face * > * | pNewFacesOut | ||
) |
No support for volumes in the current version.
No support for volumes in the current version.
References CalculateNormal(), ug::Grid::create(), ug::Face::edge_desc(), ug::Grid::erase(), FaceContains(), ug::Grid::get_edge(), ug::Grid::get_element(), ug::Grid::get_face(), ug::Face::num_edges(), ug::FaceVertices::num_vertices(), NumAssociatedFaces(), p, ProjectPointToLine(), ProjectPointToPlane(), RayTriangleIntersection(), ug::Face::refine(), ug::Grid::register_element(), ug::FaceDescriptor::set_vertex(), VecDistanceSq(), ug::EdgeVertices::vertex(), ug::FaceVertices::vertex(), and ug::FaceDescriptor::vertex().
Referenced by ProjectVerticesToCloseFaces().
void ug::Restrict | ( | GridFunction< TDomain, TAlgebra > & | uCoarse, |
const GridFunction< TDomain, TAlgebra > & | uFine | ||
) |
References ug::GridFunction< TDomain, TAlgebra >::dof_distribution(), ug::GridFunction< TDomain, TAlgebra >::domain(), ug::DoFDistributionInfoProvider::function_pattern(), ug::LFEID::LAGRANGE, ug::DoFDistributionInfoProvider::local_finite_element_id(), ug::DoFDistributionInfoProvider::num_fct(), ug::LFEID::order(), RestrictElemwise(), RestrictP1(), ug::GridLevel::TOP, ug::LFEID::type(), and UG_THROW.
void ug::RestrictElemwise | ( | GridFunction< TDomain, TAlgebra > & | uCoarse, |
const GridFunction< TDomain, TAlgebra > & | uFine | ||
) |
References CollectCornerCoordinates(), dim, ug::GridFunction< TDomain, TAlgebra >::dof_distribution(), DoFRef(), ug::GridFunction< TDomain, TAlgebra >::domain(), ug::MultiGrid::get_child(), ug::MultiGrid::get_level(), ug::DimReferenceMapping< TDim, TWorldDim >::global_to_local(), ug::MultiGrid::has_children(), InnerDoFPosition(), ug::MultiGrid::num_children(), ug::LFEID::PIECEWISE_CONSTANT, ug::LocalShapeFunctionSet< TDim, TShape, TGrad >::shapes(), ug::GridLevel::TOP, UG_THROW, and VecSet().
Referenced by Restrict().
void ug::RestrictP1 | ( | GridFunction< TDomain, TAlgebra > & | uCoarse, |
const GridFunction< TDomain, TAlgebra > & | uFine | ||
) |
References ug::GridFunction< TDomain, TAlgebra >::dof_distribution(), ug::GridFunction< TDomain, TAlgebra >::domain(), ug::MultiGrid::get_child(), ug::MultiGrid::get_level(), ug::MultiGrid::has_children(), ug::GridFunction< TDomain, TAlgebra >::inner_algebra_indices(), ug::GridLevel::TOP, and UG_THROW.
Referenced by Restrict().
Helper to access a return value on the stack.
If the value can't be converted to a boolean, an error is thrown
References UG_THROW.
Referenced by ug::lua_traits< bool >::read().
|
inline |
Helper to access a return value on the stack.
If the value can't be converted to a integer, an error is thrown
References UG_THROW.
Referenced by ug::lua_traits< int >::read().
Helper to access a return value on the stack.
If the value can't be converted to a number, an error is thrown
References IsFiniteAndNotTooBig(), UG_COND_THROW, and UG_THROW.
Referenced by ug::LuaUserNumberNumberFunction::operator()(), ug::lua_traits< MathMatrix< dim, dim > >::read(), ug::lua_traits< ug::MathVector< dim > >::read(), and ug::lua_traits< number >::read().
|
static |
References s.
Referenced by CalculateEigenvalues(), and ug::CustomQuadrilateral< ConcreteQuadrilateralType, BaseClass, RefTriType, RefQuadType >::refine().
bool ug::SameDimensionsInAllSubsets | ( | const SubsetGroup & | subsetGroup | ) |
Returns if dimension is the same in all subsets of the subset group
subsetGroup | subset group that is checked |
References ug::SubsetGroup::dim(), s, and ug::SubsetGroup::size().
Referenced by Integral(), IntegralNormalComponentOnManifoldSubsets(), IntegrateDiscFlux(), IntegrateSubsets(), Interpolate(), and MaxError().
|
static |
References ug::GridSubsetHandler::assign_subset(), AssignGridToSubset(), AssignSubsetColors(), ug::Grid::edges_begin(), ug::Grid::edges_end(), ug::Grid::faces_begin(), ug::Grid::faces_end(), ug::ISelector::get_selection_status(), ug::ISelector::grid(), ug::HangingNodeRefiner_MultiGrid::HNCM_ALL, ug::HangingNodeRefiner_MultiGrid::HNCM_INVALID, ug::HangingNodeRefiner_MultiGrid::HNCM_NO_NBRS, ug::HangingNodeRefiner_MultiGrid::HNCM_NONE, ug::HangingNodeRefiner_MultiGrid::HNCM_PARTIAL, ug::HangingNodeRefiner_MultiGrid::HNCM_REPLACE, ug::HangingNodeRefiner_MultiGrid::HNCM_UNKNOWN, ug::SubsetInfo::name, RM_COARSEN, SaveGridHierarchyTransformed(), SaveGridToFile(), ug::ISubsetHandler::subset_info(), ug::Grid::vertices_begin(), ug::Grid::vertices_end(), ug::Grid::volumes_begin(), and ug::Grid::volumes_end().
Referenced by ContinuousDebugSave(), and ug::HangingNodeRefiner_MultiGrid::save_coarsen_marks_to_file().
template void ug::SaveDomain< Domain1d > | ( | Domain1d & | domain, |
const char * | filename | ||
) |
template void ug::SaveDomain< Domain2d > | ( | Domain2d & | domain, |
const char * | filename | ||
) |
template void ug::SaveDomain< Domain3d > | ( | Domain3d & | domain, |
const char * | filename | ||
) |
|
static |
References pcl::ProcRank(), SaveGrid3d(), SaveGridToUGX(), and SaveGridToVTU().
Referenced by SaveGridToFile().
|
static |
References ug::Grid::attach_to_vertices(), ug::Grid::detach_from_vertices(), and SaveGrid3d_IMPL().
|
static |
References ug::Grid::attach_to_vertices(), ug::Grid::detach_from_vertices(), and SaveGrid3d_IMPL().
|
static |
References SaveGrid3d_IMPL().
Referenced by SaveGrid().
|
static |
References ExportGridToSMESH(), ExportGridToSWC(), ExportGridToTIKZ(), SaveGridTo2DF(), SaveGridToART(), SaveGridToELE(), SaveGridToLGB(), SaveGridToNCDF(), SaveGridToOBJ(), SaveGridToSTL(), and SaveGridToTXT().
Referenced by SaveGrid3d().
Saves a grid hierarchy by offsetting levels along the z-axis.
References aPosition, aPosition1, aPosition2, ug::MultiGrid::begin(), ug::Grid::detach_from_vertices(), ug::MultiGrid::end(), ug::MultiGrid::get_hierarchy_handler(), ug::Grid::has_vertex_attachment(), ug::MultiGrid::num_levels(), PROFILE_FUNC_GROUP, and SaveGridToFile().
bool ug::SaveGridHierarchyTransformed | ( | MultiGrid & | mg, |
ISubsetHandler & | sh, | ||
const char * | filename, | ||
number | offset | ||
) |
Saves a grid hierarchy by offsetting levels along the z-axis.
References aPosition, aPosition1, aPosition2, ug::MultiGrid::begin(), ug::Grid::detach_from_vertices(), ug::MultiGrid::end(), ug::Grid::has_vertex_attachment(), ug::MultiGrid::num_levels(), PROFILE_FUNC_GROUP, and SaveGridToFile().
Referenced by ug::bridge::RegisterGridBridge_FileIO(), ug::HangingNodeRefinerBase< TSelector >::save_marks_to_file(), and SaveCoarsenMarksToFile().
bool ug::SaveGridLevel | ( | MultiGrid & | srcMG, |
ISubsetHandler & | srcSH, | ||
int | lvl, | ||
const char * | filename, | ||
TAPos | aPos | ||
) |
Saves a grid level to a file.
Extracts a specified level from a given MultiGrid with a given SubsetHandler and saves it to a file. Position data is read from aPos.
References ug::Grid::attach_to_vertices(), CopyGridLevel(), and SaveGridToFile().
Referenced by SaveGridLevelToFile().
bool ug::SaveGridLevelToFile | ( | MultiGrid & | srcMG, |
ISubsetHandler & | srcSH, | ||
int | lvl, | ||
const char * | filename | ||
) |
Saves a grid level to a file.
Extracts a specified level from a given MultiGrid with a given SubsetHandler and saves it to a file. Position data is read from MultiGrid.
References aPosition, aPosition1, aPosition2, ug::Grid::has_vertex_attachment(), and SaveGridLevel().
Referenced by ug::bridge::RegisterGridBridge_FileIO().
bool ug::SaveGridTo2DF | ( | Grid & | grid, |
const char * | filename, | ||
ISubsetHandler * | psh, | ||
AVector3 & | aPos | ||
) |
Writes .2df files. 'psh' is optional and may be NULL.
References ug::Grid::attach_to_vertices(), ug::Grid::begin(), ug::Grid::detach_from_vertices(), ug::Grid::end(), ug::ISubsetHandler::get_subset_index(), ug::Grid::has_vertex_attachment(), ug::Grid::num(), ug::Grid::num_vertices(), ug::CustomTriangle< ConcreteTriangleType, BaseClass, RefTriType, RefQuadType >::vertex(), ug::Grid::vertices_begin(), and ug::Grid::vertices_end().
Referenced by SaveGrid3d_IMPL().
bool ug::SaveGridToART | ( | Grid & | srcGrid, |
const char * | filename, | ||
ISubsetHandler * | pSH, | ||
AVector3 & | aPos | ||
) |
saves a grid to art
References ug::Grid::attach_to_edges(), ug::Grid::attach_to_faces(), ug::Grid::attach_to_vertices(), ug::Grid::begin(), CollectEdges(), CollectFaces(), ug::Grid::detach_from_edges(), ug::Grid::detach_from_faces(), ug::Grid::detach_from_vertices(), ug::Grid::enable_options(), ug::Grid::end(), FACEOPT_AUTOGENERATE_EDGES, ug::ISubsetHandler::get_subset_index(), ug::Grid::has_vertex_attachment(), LOG, ug::Grid::num(), ug::Grid::option_is_enabled(), ug::EdgeVertices::vertex(), and VOLOPT_AUTOGENERATE_FACES.
Referenced by SaveGrid3d_IMPL().
bool ug::SaveGridToELE | ( | Grid & | grid, |
const char * | filename, | ||
ISubsetHandler * | pSH, | ||
APosition & | aPos, | ||
ANumber * | paVolumeConstraint | ||
) |
Referenced by SaveGridHierarchyTransformed(), SaveGridLevel(), SaveParallelGridLayout(), and SaveSurfaceViewTransformed().
template bool ug::SaveGridToFile | ( | Grid & | , |
ISubsetHandler & | , | ||
const char * | , | ||
AVector1 & | |||
) |
template bool ug::SaveGridToFile | ( | Grid & | , |
ISubsetHandler & | , | ||
const char * | , | ||
AVector2 & | |||
) |
template bool ug::SaveGridToFile | ( | Grid & | , |
ISubsetHandler & | , | ||
const char * | , | ||
AVector3 & | |||
) |
Saves a grid to a file. Position data is read from aPosition.
References aPosition, aPosition1, aPosition2, ug::Grid::has_vertex_attachment(), and SaveGrid().
bool ug::SaveGridToFile | ( | Grid & | grid, |
const char * | filename, | ||
TAPos & | aPos | ||
) |
References SaveGrid().
UG_API bool ug::SaveGridToFile | ( | Grid & | grid, |
const char * | filename, | ||
TAPos & | aPos | ||
) |
Saves a grid to a file. Position data is read from the specified attachment.
Make sure that the given position attachment is either of type AVector1, AVector2 or AVector3.
References SaveGrid().
UG_API bool ug::SaveGridToFile | ( | Grid & | grid, |
ISubsetHandler & | sh, | ||
const char * | filename | ||
) |
Saves a grid to a file. Position data is read from aPosition.
References aPosition, aPosition1, aPosition2, ug::Grid::has_vertex_attachment(), and SaveGrid().
bool ug::SaveGridToFile | ( | Grid & | grid, |
ISubsetHandler & | sh, | ||
const char * | filename, | ||
TAPos & | aPos | ||
) |
Saves a grid to a file. Position data is read from the specified attachment.
Make sure that the given position attachment is either of type AVector1, AVector2 or AVector3.
References SaveGrid().
Referenced by CheckValences(), ug::grid_intersection_impl::DebugSave(), ug::grid_intersection_impl::DebugSave2d(), ug::DelaunayDebugSaver::save(), ug::GlobalFracturedMediaRefiner::save_marks_to_file(), ug::GlobalMultiGridRefiner::save_marks_to_file(), ug::HangingNodeRefinerBase< TSelector >::save_marks_to_file(), SaveCoarsenMarksToFile(), SaveDomain(), ug::bridge::SaveGrid(), ug::bridge::SaveGridHierarchy(), and SavePartitionMapToFile().
UG_API bool ug::SaveGridToFile | ( | Grid & | grid, |
ISubsetHandler & | sh, | ||
const char * | filename, | ||
TAPos & | aPos | ||
) |
Saves a grid to a file. Position data is read from the specified attachment.
Make sure that the given position attachment is either of type AVector1, AVector2 or AVector3.
References SaveGrid().
Referenced by CheckValences(), ug::grid_intersection_impl::DebugSave(), ug::grid_intersection_impl::DebugSave2d(), ug::DelaunayDebugSaver::save(), ug::GlobalFracturedMediaRefiner::save_marks_to_file(), ug::GlobalMultiGridRefiner::save_marks_to_file(), ug::HangingNodeRefinerBase< TSelector >::save_marks_to_file(), SaveCoarsenMarksToFile(), SaveDomain(), ug::bridge::SaveGrid(), ug::bridge::SaveGridHierarchy(), and SavePartitionMapToFile().
bool ug::SaveGridToLGB | ( | Grid & | grid, |
const char * | filename, | ||
ISubsetHandler ** | ppSH, | ||
int | numSHs, | ||
ISelector ** | ppSel, | ||
int | numSels, | ||
ProjectionHandler * | pPH = NULL , |
||
APosition | aPos = aPosition |
||
) |
Saves a grid to LibGridBinary-format. Awaits a list of subset-handler-pointers and the number of subset-handlers that shall be written.
References ug::BinaryBuffer::buffer(), ug::Grid::has_vertex_attachment(), LGBC_POS3D, LGBC_PROJECTION_HANDLER, LGBC_SELECTOR, LGBC_SUBSET_HANDLER, SerializeGridElements(), SerializeProjectionHandler(), SerializeSelector(), SerializeSubsetHandler(), ug::ProjectionHandler::subset_handler(), UG_COND_THROW, ug::BinaryBuffer::write(), and ug::BinaryBuffer::write_pos().
Referenced by SaveGridToLGB().
bool ug::SaveGridToLGB | ( | Grid & | grid, |
const char * | filename, | ||
ISubsetHandler ** | ppSH, | ||
int | numSHs, | ||
ProjectionHandler * | pPH, | ||
APosition | aPos | ||
) |
References SaveGridToLGB().
Referenced by SaveGrid3d_IMPL().
bool ug::SaveGridToNCDF | ( | Grid & | grid, |
const char * | filename, | ||
ISubsetHandler * | pSH, | ||
APosition | aPos = aPosition |
||
) |
Saves a grid to NCDF-ASCII-format (EXODUS).
References AssignIndices(), ug::Grid::attach_to_vertices(), ug::GridObjectCollection::begin(), ug::Grid::detach_from_vertices(), ug::GridObjectCollection::end(), ug::ISubsetHandler::get_grid_objects_in_subset(), ug::Grid::has_vertex_attachment(), ug::Grid::num(), ug::GridObjectCollection::num(), ug::GridObjectCollection::num_levels(), ug::ISubsetHandler::num_subsets(), ug::Grid::num_vertices(), ug::Grid::num_volumes(), UG_LOG, ug::Tetrahedron::vertex(), ug::Grid::vertices_begin(), and ug::Grid::vertices_end().
Referenced by SaveGrid3d_IMPL().
bool ug::SaveGridToOBJ | ( | Grid & | grid, |
const char * | filename, | ||
AVector3 & | aPos, | ||
AVector2 * | paTexCoord, | ||
ISubsetHandler * | pSubsetHandler, | ||
std::vector< OBJMaterial > * | pvMaterials | ||
) |
Saves a file from a wavefront '.obj' file. Writes optional subset-infos.
References ug::Grid::attach_to_vertices(), ug::GridObjectCollection::begin(), ug::Grid::detach_from_vertices(), ug::Grid::edges_begin(), ug::Grid::edges_end(), ug::GridObjectCollection::end(), ug::Grid::faces_begin(), ug::Grid::faces_end(), ug::Grid::has_vertex_attachment(), ug::SubsetInfo::materialIndex, ug::SubsetInfo::name, ug::GridObjectCollection::num_levels(), ug::ISubsetHandler::num_subsets(), ug::ISubsetHandler::subset_info(), UG_LOG, ug::Grid::vertices_begin(), ug::Grid::vertices_end(), WriteEdges(), and WriteFaces().
Referenced by SaveGrid3d_IMPL().
bool ug::SaveGridToSTL | ( | Grid & | grid, |
const char * | filename, | ||
ISubsetHandler * | pSH, | ||
AVector3 & | aPos | ||
) |
saves a grid to txt
References ug::Grid::attach_to_vertices(), ug::Grid::begin(), ug::Grid::detach_from_vertices(), ug::Grid::end(), ug::Grid::has_vertex_attachment(), ug::Grid::num(), ug::Grid::num_vertices(), ug::CustomTriangle< ConcreteTriangleType, BaseClass, RefTriType, RefQuadType >::vertex(), ug::CustomQuadrilateral< ConcreteQuadrilateralType, BaseClass, RefTriType, RefQuadType >::vertex(), ug::Grid::vertices_begin(), and ug::Grid::vertices_end().
Referenced by SaveGrid3d_IMPL().
bool ug::SaveGridToUGX | ( | Grid & | grid, |
ISubsetHandler & | sh, | ||
const char * | filename | ||
) |
Writes a grid to a ugx file.
Before writing a grid to file, this method searches for the attached standard position attachment with the highest dimension. This will be used as position-attachment in a call to the overloaded version of SaveGridToUGX.
References aPosition, aPosition1, aPosition2, ug::Grid::has_vertex_attachment(), and UG_LOG.
Referenced by SaveGrid().
bool ug::SaveGridToUGX | ( | Grid & | grid, |
ISubsetHandler & | sh, | ||
const char * | filename, | ||
TAPosition & | aPos | ||
) |
Writes a grid to an ugx file. internally uses GridWriterUGX.
The position attachment can be specified. Since the type of the position attachment is a template parameter, MathVector attachments of any dimension are supported. Especially ug::aPosition, ug::aPostion2 and ug::aPosition1.
References ug::GridWriterUGX::add_grid(), ug::GridWriterUGX::add_subset_handler(), and ug::GridWriterUGX::write_to_file().
bool ug::SaveGridToVTU | ( | Grid & | grid, |
ISubsetHandler * | psh, | ||
const char * | filename, | ||
TAPosition & | aPos | ||
) |
Writes a grid to a vtu (vtk unstructured mesh) file.
References ug::GridWriterVTU::finish(), ug::GridWriterVTU::new_piece(), and ug::GridWriterVTU::set_stream().
Referenced by SaveGrid().
void ug::SaveMatrixForConnectionViewer | ( | TGridFunction & | u, |
MatrixOperator< typename TGridFunction::algebra_type::matrix_type, typename TGridFunction::vector_type > & | A, | ||
const char * | filename | ||
) |
References PROFILE_FUNC_GROUP, and WriteMatrixToConnectionViewer().
|
inline |
Save the assembled matrix of a matrix operator to MatrixMarket format.
[in] | filename | name of the file; must end on '.mtx ' |
[in] | A | matrix operator of with CPUAlgebra matrix |
[in] | comment | optional comment for the header of the MTX file |
References ug::MatrixIO::EXISTING, FileExists(), FileTypeIs(), ug::MatrixOperator< M, X, Y >::get_matrix(), ug::MatrixIO::NEW, PROFILE_FUNC_GROUP, UG_THROW, and ug::MatrixIOMtx::write_from().
Referenced by ug::bridge::Output::Functionality::Common().
Saves the grid-layout of parallel multi-grids.
References aPosition, aPosition1, aPosition2, AssignSubsetColors(), ug::MultiGrid::begin(), ug::Grid::detach_from_vertices(), ug::MultiGrid::end(), EraseEmptySubsets(), ug::Grid::has_vertex_attachment(), ug::MultiGrid::num_levels(), PROFILE_FUNC_GROUP, and SaveGridToFile().
Referenced by ug::IApproximationSpace::grid_changed_callback(), ug::IApproximationSpace::grid_distribution_callback(), ParallelLayoutDebugSave(), ug::ParallelHangingNodeRefiner_MultiGrid::post_coarsen(), ug::ParallelHangingNodeRefiner_MultiGrid::post_refine(), ug::ParallelHangingNodeRefiner_MultiGrid::pre_coarsen(), ug::ParallelHangingNodeRefiner_MultiGrid::pre_refine(), and ug::bridge::RegisterGridBridge_FileIO().
bool ug::SavePartitionMapToFile | ( | PartitionMap & | pm, |
const char * | filename, | ||
TAPos & | aPos | ||
) |
Save the partition map to a file.
The resulting file will contain the grid on which the partition-map operates, together with subsets, each representing the process on which the subset will be sent.
References ug::GridSubsetHandler::assign_subset(), ug::GridSubsetHandler::begin(), ug::GridSubsetHandler::end(), ug::PartitionMap::get_partition_handler(), ug::PartitionMap::get_target_proc(), ug::ISubsetHandler::grid(), ug::ISubsetHandler::num_subsets(), SaveGridToFile(), and UG_LOG.
Referenced by SavePartitionMap().
bool ug::SaveSurfaceViewTransformed | ( | MultiGrid & | mg, |
const SurfaceView & | sv, | ||
const char * | filename, | ||
number | offset = 0.1 |
||
) |
Saves a grid and assigns elements to subsets based on their surface-view-state.
References aPosition, aPosition1, aPosition2, AssignSubsetColors(), ug::MultiGrid::begin(), ug::Grid::detach_from_vertices(), ug::MultiGrid::end(), EraseEmptySubsets(), ug::Grid::has_vertex_attachment(), ug::MultiGrid::num_levels(), PROFILE_FUNC_GROUP, and SaveGridToFile().
Referenced by ug::IApproximationSpace::grid_changed_callback(), ug::IApproximationSpace::grid_distribution_callback(), and ug::bridge::RegisterGridBridge_FileIO().
void ug::SaveToFile | ( | const T & | v, |
std::string | filename | ||
) |
References Serialize(), and pcl::WriteCombinedParallelFile().
void ug::SaveVectorCSV | ( | TGridFunction & | b, |
const char * | filename | ||
) |
References PROFILE_FUNC, and WriteVectorCSV().
void ug::SaveVectorDiffForConnectionViewer | ( | TGridFunction & | b, |
TGridFunction & | bCompare, | ||
const char * | filename | ||
) |
References WriteVectorToConnectionViewer().
Referenced by ug::MGStats< TDomain, TAlgebra >::set_defect().
void ug::SaveVectorDiffForConnectionViewer | ( | TGridFunction & | u, |
TGridFunction & | compareVec, | ||
MatrixOperator< typename TGridFunction::algebra_type::matrix_type, typename TGridFunction::vector_type > & | A, | ||
const char * | filename | ||
) |
References WriteVectorToConnectionViewer().
void ug::SaveVectorForConnectionViewer | ( | TGridFunction & | b, |
const char * | filename | ||
) |
References WriteVectorToConnectionViewer().
Referenced by ug::MGStats< TDomain, TAlgebra >::set_defect().
void ug::SaveVectorForConnectionViewer | ( | TGridFunction & | u, |
MatrixOperator< typename TGridFunction::algebra_type::matrix_type, typename TGridFunction::vector_type > & | A, | ||
const char * | filename | ||
) |
References WriteVectorToConnectionViewer().
void ug::ScaleGF | ( | SmartPtr< TGridFunction > | scaledVecOut, |
ConstSmartPtr< TGridFunction > | vecIn, | ||
const std::vector< number > & | scalingFactors | ||
) |
Scales all functions contained in a grid function.
Each function has a separate scaling factor.
scaledVecOut | the scaled grid function (output) |
vecIn | the original grid function (input) |
scalingFactors | vector of scales for each of the composite functions |
References EDGE, FACE, UG_COND_THROW, VERTEX, and VOLUME.
|
static |
References ug::SurfaceView::ALL, DoFRef(), and UG_CATCH_THROW.
DebugID ug::SchurDebug | ( | "SchurComplementDebug" | ) |
std::string ug::scientificStr | ( | double | d, |
size_t | width | ||
) |
References s.
Referenced by cutString(), and HistogrammString().
bool ug::SCVFofSCVRayIntersection | ( | size_t & | sideOut, |
number & | bc, | ||
MathVector< TWorldDim > & | GlobalIntersectionPointOut, | ||
MathVector< TDim > & | LocalIntersectionPoint, | ||
const MathVector< TWorldDim > & | Root, | ||
const MathVector< TWorldDim > & | Direction, | ||
bool | bPositiv, | ||
const MathVector< TWorldDim > * | vCornerCoords | ||
) |
This function computes if another scvf of a scv is intersected by a Ray given in Parameter form by 'Root + c * Direction'. The intersection is choose to be at positive parameter if bPositiv == true, else the intersection at negative parameter is choosen. Global and local coordinates of the intersection points are returned as well as the local number of the side of the scv that matches the intersection.
[in] | Root | Point of Ray |
[in] | Direction | Direction of Ray |
[in] | bPositiv | Flag, whether to search in positiv of negative direction |
[in] | vCornerCoords | Vector of corner coordinates |
[out] | sideOut | side of intersection |
[out] | bc | line parameter in [0,1] indicating position of intersection point on scvf in direction center to edge |
[out] | GlobalIntersectionPointOut | Intersection Point (global) |
[out] | LocalIntersectionPoint | Intersection Point (local) |
References ug::SCVFofSCVRayIntersectionWrapper< TDim, TWorldDim >::apply(), UG_ASSERT, and VecTwoNorm().
|
static |
selects unselected constrained elements of all selected constraining elements and associated unselected low-dim elems. An exception is made for constraining elements which are pure vertical masters. Associated constrained elements won't be selected in this case, since pure vertical masters mustn't have children.
References ug::MGSelector::begin(), ug::ConstrainingEdge::constrained_edge(), ug::ConstrainingFace::constrained_edge(), ug::ConstrainingFace::constrained_face(), ug::ConstrainingEdge::constrained_vertex(), ug::ConstrainingFace::constrained_vertex(), ug::MGSelector::end(), GDIST_PROFILE_FUNC, ug::ISelector::get_selection_status(), ug::ISelector::is_selected(), IS_VMASTER, LG_DIST, ug::ConstrainingEdge::num_constrained_edges(), ug::ConstrainingFace::num_constrained_edges(), ug::ConstrainingFace::num_constrained_faces(), ug::ConstrainingEdge::num_constrained_vertices(), ug::ConstrainingFace::num_constrained_vertices(), ug::MGSelector::num_levels(), ug::ISelector::select(), SelectAssociatedSides(), and UG_DLOG.
Referenced by SelectElementsForTargetPartition().
template void ug::SelectAssociatedGridObjects< MGSelector > | ( | MGSelector & | sel, |
ISelector::status_t | status | ||
) |
template void ug::SelectAssociatedGridObjects< Selector > | ( | Selector & | sel, |
ISelector::status_t | status | ||
) |
|
static |
Recursively selects unselected sides.
References ug::Grid::associated_elements(), GDIST_PROFILE_FUNC, ug::ISelector::get_selection_status(), ug::MGSelector::multi_grid(), s, ug::ISelector::select(), and UG_ASSERT.
Referenced by SelectAssociatedConstrainedElements().
|
static |
References ug::Grid::associated_elements(), ug::MGSelector::begin(), ug::Grid::distributed_grid_manager(), ug::MGSelector::end(), GDIST_PROFILE_FUNC, ug::MultiGrid::get_child_edge(), ug::ISelector::get_selection_status(), ug::MultiGrid::has_children(), ug::DistributedGridManager::is_ghost(), IS_VMASTER, LG_DIST, ug::MGSelector::multi_grid(), ug::MultiGrid::num_child_edges(), ug::MGSelector::num_levels(), ug::ISelector::select(), ug::PointerConstArray< TPtr >::size(), UG_ASSERT, and UG_DLOG.
Referenced by SelectElementsForTargetPartition().
|
static |
selects unselected constraining elements of all selected constrained elements and associated unselected low-dim elems.
References ug::Grid::associated_elements(), ug::MGSelector::begin(), ug::Grid::distributed_grid_manager(), ug::MGSelector::end(), GDIST_PROFILE_FUNC, ug::MultiGrid::get_child_face(), ug::ISelector::get_selection_status(), ug::MultiGrid::has_children(), ug::DistributedGridManager::is_ghost(), IS_VMASTER, LG_DIST, ug::MGSelector::multi_grid(), ug::MultiGrid::num_child_faces(), ug::MGSelector::num_levels(), ug::ISelector::select(), ug::PointerConstArray< TPtr >::size(), UG_ASSERT, and UG_DLOG.
Referenced by SelectElementsForTargetPartition().
|
static |
Recursively selects all children of selected vertices.
This method is required, since if a distributed vertex has a child which is not connected to other distributed elements, then the child wouldn't be selected. Note that for edges and faces the methods SelectAssociatedConstrainedElements takes care of this. (This is only true if there is no anisotropic refinement!) Children of pure vertical masters won't be selected, since those mustn't have children.
References ug::Grid::associated_elements(), ug::MGSelector::begin(), ug::Grid::distributed_grid_manager(), ug::MGSelector::end(), GDIST_PROFILE_FUNC, ug::MultiGrid::get_child_vertex(), ug::ISelector::get_selection_status(), ug::MultiGrid::has_children(), ug::DistributedGridManager::is_ghost(), IS_VMASTER, LG_DIST, ug::MGSelector::multi_grid(), ug::MGSelector::num_levels(), ug::ISelector::select(), ug::PointerConstArray< TPtr >::size(), UG_ASSERT, and UG_DLOG.
Referenced by SelectElementsForTargetPartition().
template void ug::SelectElementsByIndex< Edge > | ( | ISelector & | sel, |
const std::vector< size_t > & | inds | ||
) |
Referenced by SelectElementsByIndex().
template void ug::SelectElementsByIndex< Face > | ( | ISelector & | sel, |
const std::vector< size_t > & | inds | ||
) |
Referenced by SelectElementsByIndex().
template void ug::SelectElementsByIndex< Vertex > | ( | ISelector & | sel, |
const std::vector< size_t > & | inds | ||
) |
Referenced by SelectElementsByIndex().
template void ug::SelectElementsByIndex< Volume > | ( | ISelector & | sel, |
const std::vector< size_t > & | inds | ||
) |
Referenced by SelectElementsByIndex().
|
static |
References ug::Grid::distributed_grid_manager(), ug::DistributedGridManager::distro_adjuster(), GDIST_PROFILE_FUNC, HAS_PARENT, IS_DUMMY, IS_NORMAL, LG_DIST, ug::MGSelector::multi_grid(), ug::MultiGrid::num(), SelectAssociatedConstrainedElements(), SelectChildrenOfSelectedShadowRimEdges(), SelectChildrenOfSelectedShadowRimFaces(), SelectChildrenOfSelectedShadowVertices(), UG_ASSERT, UG_DLOG, and SmartPtr< T, FreePolicy >::valid().
Referenced by DistributeGrid(), and FillDistInfos().
template void ug::SelectInnerSelectionEdges< MGSelector > | ( | MGSelector & | ) |
template void ug::SelectInnerSelectionEdges< Selector > | ( | Selector & | ) |
template void ug::SelectInnerSelectionFaces< MGSelector > | ( | MGSelector & | ) |
template void ug::SelectInnerSelectionFaces< Selector > | ( | Selector & | ) |
template void ug::SelectInnerSelectionVertices< MGSelector > | ( | MGSelector & | ) |
template void ug::SelectInnerSelectionVertices< Selector > | ( | Selector & | ) |
template void ug::SelectionFill< Edge > | ( | Selector & | , |
Grid::vertex_traits::callback | |||
) |
template void ug::SelectionFill< Face > | ( | Selector & | , |
Grid::edge_traits::callback | |||
) |
template void ug::SelectionFill< Volume > | ( | Selector & | , |
Grid::face_traits::callback | |||
) |
void ug::SelectKinkVertices | ( | Grid & | grid, |
TVrtIter | vrtsBegin, | ||
TVrtIter | vrtsEnd, | ||
number | thresholdAngle, | ||
bool | selectDarts, | ||
TAAPos | aaPos, | ||
Grid::edge_traits::callback | cbConsiderEdge = ConsiderAll() |
||
) |
void ug::SelectKinkVertices | ( | Selector & | sel, |
TVrtIter | vrtsBegin, | ||
TVrtIter | vrtsEnd, | ||
number | thresholdAngle, | ||
bool | selectDarts, | ||
TAAPos | aaPos, | ||
Grid::edge_traits::callback | cbConsiderEdge | ||
) |
void ug::SelectNonShadowsAdjacentToShadowsOnLevel | ( | BoolMarker & | sel, |
const SurfaceView & | surfView, | ||
int | level | ||
) |
selects all non-shadows, that are adjacent to a shadow on a grid levels
References ug::MultiGrid::begin(), CollectAssociated(), ug::MultiGrid::end(), ug::BoolMarker::grid(), ug::SurfaceView::is_contained(), ug::SurfaceView::is_shadowed(), ug::BoolMarker::mark(), ug::MultiGrid::num_levels(), PROFILE_FUNC_GROUP, ug::GridLevel::SURFACE, ug::SurfaceView::SURFACE, ug::GridLevel::TOP, and UG_THROW.
|
static |
helper for SelectAssociatedGenealogy.
References ug::MultiGrid::get_parent(), and ug::ISelector::select().
Referenced by SelectAssociatedGenealogy().
|
static |
VMasters will be ignored.
References ug::MGSelector::begin(), ug::DistributedGridManager::contains_status(), ug::Grid::distributed_grid_manager(), ug::MGSelector::end(), ES_V_MASTER, GDIST_PROFILE_FUNC, IS_VSLAVE, LG_DIST, ug::MGSelector::multi_grid(), ug::ISelector::select(), UG_ASSERT, and UG_DLOG.
|
static |
VSlaves will be ignored.
References ug::MultiGrid::begin(), ug::DistributedGridManager::contains_status(), ug::Grid::distributed_grid_manager(), ug::MultiGrid::end(), ES_V_SLAVE, GDIST_PROFILE_FUNC, ug::ISelector::is_selected(), IS_VMASTER, LG_DIST, ug::MGSelector::multi_grid(), ug::ISelector::select(), UG_ASSERT, and UG_DLOG.
void ug::SendGlobalLayout | ( | pcl::InterfaceCommunicator< IndexLayout > & | comm, |
const GlobalLayout & | globalMasterLayout, | ||
const GlobalLayout & | globalSlaveLayout, | ||
int | pid | ||
) |
void ug::SendMatrix | ( | const matrix_type & | A, |
IndexLayout & | verticalSlaveLayout, | ||
int | destproc, | ||
ParallelNodes & | PN | ||
) |
References ug::BinaryBuffer::buffer(), pcl::InterfaceCommunicator< TLayout >::communicate(), pcl::SingleLevelLayout< TInterface >::interface(), ug::ParallelMatrix< TMatrix >::layouts(), LIB_ALG_AMG, pcl::ProcRank(), PROFILE_FUNC_GROUP, pcl::OrderedInterface< TType, TContainer, TAlloc >::push_back(), pcl::InterfaceCommunicator< TLayout >::send_raw(), Serialize(), SerializeLayout(), SerializeRow(), UG_DLOG, and ug::BinaryBuffer::write_pos().
Referenced by CollectMatrixOnOneProc().
void ug::SequentialSubspaceCorrectionLoop | ( | const typename TAlgebra::matrix_type & | A, |
GridFunction< TDomain, TAlgebra > & | c, | ||
const typename TAlgebra::vector_type & | d, | ||
number | omega_relax, | ||
ILocalSubspace< TDomain, TAlgebra, TGroupObj > & | subspace, | ||
TGroupObjIter | objIterBegin, | ||
TGroupObjIter | objIterEnd | ||
) |
Abstract loop over TGroupObj (forward)
References ug::ILocalSubspace< TDomain, TAlgebra, TObject >::extract_matrix(), ug::ILocalSubspace< TDomain, TAlgebra, TObject >::extract_rhs(), ug::ILocalSubspace< TDomain, TAlgebra, TObject >::init(), UG_LOG, and ug::ILocalSubspace< TDomain, TAlgebra, TObject >::update_solution().
void ug::SequentialSubspaceCorrectionLoopBackward | ( | const typename TAlgebra::matrix_type & | A, |
GridFunction< TDomain, TAlgebra > & | c, | ||
const typename TAlgebra::vector_type & | d, | ||
number | omega_relax, | ||
ILocalSubspace< TDomain, TAlgebra, TGroupObj > & | subspace, | ||
typename GridFunction< TDomain, TAlgebra >::template traits< TGroupObj >::const_iterator | objIterBegin, | ||
typename GridFunction< TDomain, TAlgebra >::template traits< TGroupObj >::const_iterator | objIterEnd | ||
) |
|
inline |
References BlockSerialize().
|
inline |
|
inline |
References s, and Serialize().
void ug::Serialize | ( | TOStream & | buf, |
const IndexLayout & | layout | ||
) |
void ug::Serialize | ( | TOStream & | buf, |
const IndexLayout::Interface & | interface | ||
) |
References Serialize().
void ug::Serialize | ( | TOStream & | buf, |
const ParallelVector< T > & | v | ||
) |
Serialize for ParallelVector<T>
References ug::ParallelVector< TVector >::get_storage_mask().
Referenced by AddConnectionsBetweenSlaves(), AllGatherGrid(), pcl::ProcessCommunicator::broadcast(), ug::IDomain< TGrid, TSubsetHandler >::broadcast_refinement_projector(), BroadcastGrid(), ug::ComPol_AttachmentReduce< TLayout, TAttachment >::collect(), ug::ComPol_VecCopy< TVector >::collect(), ug::ComPol_VecScaleCopy< TVector >::collect(), ug::ComPol_VecAdd< TVector >::collect(), ug::ComPol_VecScaleAdd< TVector >::collect(), ug::ComPol_VecAddSetZero< TVector >::collect(), ug::ComPol_VecSubtract< TVector >::collect(), ug::ComPol_CheckConsistency< TVector >::collect(), ug::ComPol_VecSubtractOnlyOneSlave< TVector >::collect(), ug::ComPol_MatDistributeDiag< TAlgebra >::collect(), ug::ComPol_MatAddRowsOverlap0< TMatrix >::collect(), ug::ComPol_MatCopyRowsOverlap0< TMatrix >::collect(), ug::ComPol_MatAddSetZeroInnerInterfaceCouplings< TMatrix >::collect(), ug::CommunicationScheme< TDerived, TValue >::collect(), ug::CommunicationScheme< TDerived, bool >::collect(), ug::ComPol_MatCopyDiag< TMatrix >::collect(), ug::ComPol_MatCreateOverlap< TMatrix >::collect(), ug::ComPol_CheckDistributedParentStates< TLayout >::collect(), ug::ComPol_NewConstrainedVerticals< TLayout >::collect(), ug::ComPol_CopyAttachment< TLayout, TAttachment >::collect(), ug::ComPol_GatherVecAttachment< TLayout, TAttachment >::collect(), ug::ComPol_SynchronizeDistInfos< TLayout >::collect(), GatherGrid(), GetFileLinesParallel(), ug::NewLayoutCreator::issue(), ug::ParallelNodes::issue(), ug::RowSendingScheme< matrix_type >::issue_send(), pcl::MinimalKeyValuePairAcrossAllProcs(), pcl::ParallelReadFile(), ug::ComPol_MatCreateOverlap< TMatrix >::post_process(), SaveToFile(), SendMatrix(), Serialize(), ug::IDomain< TGrid, TSubsetHandler >::serialize_projector(), SerializeGlobalLayout(), SerializeInterface(), SerializeLayout(), SerializeMatrix(), SerializeMultiGridElements(), SerializeParallelData(), SerializeProjector(), SerializeRow(), SerializeSubsetHandler(), SerializeUniquePart(), pcl::TestSizeOfInterfacesInLayoutsMatch(), ug::IDomain< TGrid, TSubsetHandler >::update_subset_infos(), ug::GeomObjAttachmentSerializer< TGeomObj, TAttachment >::write_data(), ug::SubsetHandlerSerializer::write_data(), and ug::SubsetHandlerSerializer::write_info().
void ug::Serialize | ( | TOStream & | buf, |
const pcl::InterfaceCommunicator< IndexLayout > & | ic | ||
) |
void ug::Serialize | ( | TOStream & | buf, |
const pcl::ProcessCommunicator & | ic | ||
) |
void ug::Serialize | ( | TOStream & | buf, |
const Vector< TValueType > & | v | ||
) |
References Serialize(), and ug::Vector< TValueType >::size().
void ug::SerializeGlobalLayout | ( | BinaryBuffer & | stream, |
const GlobalLayout & | globalLayout | ||
) |
References LIB_ALG_AMG, PROFILE_FUNC_GROUP, Serialize(), and UG_DLOG.
Referenced by SendGlobalLayout().
void ug::SerializeInterface | ( | BinaryBuffer & | stream, |
const IndexLayout::Interface & | interface, | ||
const TLocalToGlobal & | localToGlobal | ||
) |
void ug::SerializeLayout | ( | BinaryBuffer & | stream, |
const IndexLayout & | layout, | ||
const TLocalToGlobal & | localToGlobal | ||
) |
void ug::SerializeParallelData | ( | TOStream & | buf, |
T & | t | ||
) |
References Serialize().
void ug::SerializeProjectionHandler | ( | BinaryBuffer & | out, |
ProjectionHandler & | ph | ||
) |
void ug::SerializeProjector | ( | BinaryBuffer & | out, |
RefinementProjector & | proj | ||
) |
References ug::Archivar< TArchive, TBase, TPairSeq >::archive(), ug::Factory< TBase, TPairSeq >::class_name(), and Serialize().
Referenced by SerializeProjectionHandler().
size_t ug::SerializerGetLastID | ( | ) |
void ug::SerializeRow | ( | BinaryBuffer & | stream, |
const matrix_type & | mat, | ||
size_t | localRowIndex, | ||
ParallelNodes & | PN | ||
) |
References LIB_ALG_AMG, ug::ParallelNodes::local_to_global(), ug::AlgebraID::master_proc(), num_connections(), pcl::NumProcs(), PROFILE_FUNC_GROUP, Serialize(), UG_COND_THROW, and UG_DLOG.
Referenced by SendMatrix().
void ug::SerializeUniquePart | ( | TOStream & | buf, |
const ParallelMatrix< T > & | A | ||
) |
References ug::ParallelMatrix< TMatrix >::get_storage_mask(), and Serialize().
void ug::SerializeUniquePart | ( | TOStream & | buf, |
const ParallelVector< TValueType > & | v | ||
) |
References ug::ParallelVector< TVector >::get_storage_mask(), and Serialize().
UG_API void ug::SetAppsPath | ( | const char * | c_strApps | ) |
init apps path
References SetAppsPath().
UG_API void ug::SetAppsPath | ( | const std::string & | strApps | ) |
Initializes the APPS_PATH of ug::PathProvider.
init apps path
References APPS_PATH, PROFILE_FUNC, and ug::PathProvider::set_path().
Referenced by ug::bridge::RegisterBridge_Util(), SetAppsPath(), and ugshell_main().
void ug::SetBoundaryRefinementRule | ( | GlobalBoundaryRefinementRule | refRule | ) |
setting procedure for global boundary refinement rule variable
References g_boundaryRefinementRule.
Referenced by SetSmoothSubdivisionVolumesBoundaryRefinementRule().
void ug::SetDirichletRow | ( | TMatrix & | mat, |
const DoFIndex & | ind | ||
) |
References SetDirichletRow().
|
static |
References FreqAdaptValues::set_freqs().
Referenced by ug::bridge::RegisterBridge_Profiler().
void ug::SetInterpolation | ( | TMatrix & | A, |
std::vector< size_t > & | constrainedIndex, | ||
std::vector< std::vector< size_t > > & | vConstrainingIndex, | ||
bool | assembleLinearProblem = true |
||
) |
sets a matrix row corresponding to averaging the constrained index
References frac, SetRow(), and UG_ASSERT.
Referenced by ug::SymP1Constraints< TDomain, TAlgebra >::adjust_jacobian(), ug::OneSideP1Constraints< TDomain, TAlgebra >::adjust_jacobian(), ug::SymP1Constraints< TDomain, TAlgebra >::adjust_linear(), and ug::OneSideP1Constraints< TDomain, TAlgebra >::adjust_linear().
void ug::SetLagrangeEdgeLocalDoFs | ( | std::vector< LocalDoF > & | vLocalDoF, |
const ReferenceElement & | rRef, | ||
const size_t | p | ||
) |
References ug::ReferenceElement::dimension().
Referenced by SetLagrangeLocalDoFs().
void ug::SetLagrangeEdgeMultiIndex | ( | MathVector< TRefElem::dim, int > * | vMultiIndex, |
const TRefElem & | rRef, | ||
size_t | p, | ||
size_t & | index | ||
) |
References dim, p, UG_ASSERT, and VecScaleAdd().
Referenced by SetLagrangeMultiIndex().
void ug::SetLagrangeFaceLocalDoFs | ( | std::vector< LocalDoF > & | vLocalDoF, |
const ReferenceElement & | rRef, | ||
const size_t | p | ||
) |
References ug::ReferenceElement::dimension(), ug::ReferenceElement::num(), and p.
Referenced by SetLagrangeLocalDoFs().
void ug::SetLagrangeFaceMultiIndex | ( | MathVector< TRefElem::dim, int > * | vMultiIndex, |
const TRefElem & | rRef, | ||
size_t | p, | ||
size_t & | index | ||
) |
References dim, p, UG_ASSERT, VecScaleAppend(), and VecSubtract().
Referenced by SetLagrangeMultiIndex().
void ug::SetLagrangeLocalDoFs | ( | std::vector< LocalDoF > & | vLocalDoF, |
const ReferenceElement & | rRef, | ||
const size_t | p | ||
) |
void ug::SetLagrangeMultiIndex | ( | MathVector< TRefElem::dim, int > * | vMultiIndex, |
const TRefElem & | rRef, | ||
size_t | p | ||
) |
References p, SetLagrangeEdgeMultiIndex(), SetLagrangeFaceMultiIndex(), SetLagrangeVertexMultiIndex(), and SetLagrangeVolumeMultiIndex().
Referenced by ug::LagrangeLSFS< ReferenceEdge, TOrder >::LagrangeLSFS(), ug::LagrangeLSFS< ReferenceTriangle, TOrder >::LagrangeLSFS(), ug::LagrangeLSFS< ReferenceQuadrilateral, TOrder >::LagrangeLSFS(), ug::LagrangeLSFS< ReferenceTetrahedron, TOrder >::LagrangeLSFS(), ug::LagrangeLSFS< ReferencePrism, TOrder >::LagrangeLSFS(), ug::LagrangeLSFS< ReferencePyramid, TOrder >::LagrangeLSFS(), ug::LagrangeLSFS< ReferenceHexahedron, TOrder >::LagrangeLSFS(), ug::LagrangeLSFS< ReferenceOctahedron, TOrder >::LagrangeLSFS(), ug::FlexLagrangeLSFS< ReferenceEdge >::set_order(), ug::FlexLagrangeLSFS< ReferenceTriangle >::set_order(), ug::FlexLagrangeLSFS< ReferenceQuadrilateral >::set_order(), ug::FlexLagrangeLSFS< ReferenceTetrahedron >::set_order(), ug::FlexLagrangeLSFS< ReferencePrism >::set_order(), and ug::FlexLagrangeLSFS< ReferenceHexahedron >::set_order().
void ug::SetLagrangeVertexLocalDoFs | ( | std::vector< LocalDoF > & | vLocalDoF, |
const ReferenceElement & | rRef, | ||
const size_t | p | ||
) |
References ug::ReferenceElement::num().
Referenced by SetLagrangeLocalDoFs().
void ug::SetLagrangeVertexMultiIndex | ( | MathVector< TRefElem::dim, int > * | vMultiIndex, |
const TRefElem & | rRef, | ||
size_t | p, | ||
size_t & | index | ||
) |
References dim, p, and UG_ASSERT.
Referenced by SetLagrangeMultiIndex().
void ug::SetLagrangeVolumeLocalDoFs | ( | std::vector< LocalDoF > & | vLocalDoF, |
const ReferenceElement & | rRef, | ||
const size_t | p | ||
) |
References ug::ReferenceElement::dimension(), p, ug::ReferenceElement::roid(), ROID_HEXAHEDRON, ROID_OCTAHEDRON, ROID_PRISM, ROID_PYRAMID, ROID_TETRAHEDRON, and UG_THROW.
Referenced by SetLagrangeLocalDoFs().
void ug::SetLagrangeVolumeMultiIndex | ( | MathVector< TRefElem::dim, int > * | vMultiIndex, |
const TRefElem & | rRef, | ||
size_t | p, | ||
size_t & | index | ||
) |
References dim, p, ROID_HEXAHEDRON, ROID_OCTAHEDRON, ROID_PRISM, ROID_PYRAMID, ROID_TETRAHEDRON, and UG_THROW.
Referenced by SetLagrangeMultiIndex().
|
inline |
|
inline |
References AddLocalMatrix().
|
static |
Function to return a permutation of a matrix
[out] | PA | the permuted matrix PA(perm[r], perm[c]) = A(r, c) |
[in] | A | the input matrix |
[in] | perm | array mapping i -> perm[i] |
References PROFILE_FUNC_GROUP.
Referenced by ug::ILU< TAlgebra >::apply_ordering(), and ug::ILUTPreconditioner< TAlgebra >::preprocess_mat2().
void ug::SetParallelData | ( | T & | t, |
IndexLayout & | masterLayout, | ||
IndexLayout & | slaveLayout, | ||
pcl::InterfaceCommunicator< IndexLayout > & | ic, | ||
pcl::ProcessCommunicator & | pc | ||
) |
UG_API void ug::SetPluginPath | ( | const char * | c_strPlugin | ) |
init plugin path
References SetPluginPath().
UG_API void ug::SetPluginPath | ( | const std::string & | strPlugin | ) |
Initializes the PLUGIN_PATH of ug::PathProvider.
init plugin path
References PLUGIN_PATH, PROFILE_FUNC, and ug::PathProvider::set_path().
Referenced by ug::bridge::RegisterBridge_Util(), SetPluginPath(), and ugshell_main().
UG_API void ug::SetRootPath | ( | const char * | c_strRoot | ) |
init app, script and data paths for a given root path
References SetRootPath().
UG_API void ug::SetRootPath | ( | const std::string & | strRoot | ) |
Initializes the paths of ug::PathProvider.
init app, script and data paths for a given root path
Initializes the following paths in ug::PathProvider relative to passed root path
References APPS_PATH, BIN_PATH, GetPathSeparator(), PLUGIN_PATH, PROFILE_FUNC, ROOT_PATH, SCRIPT_PATH, and ug::PathProvider::set_path().
Referenced by ug::bridge::RegisterBridge_Util(), SetRootPath(), and ugshell_main().
void ug::SetRow | ( | TMatrix & | mat, |
const DoFIndex & | ind, | ||
number | val = 0.0 |
||
) |
References SetRow().
UG_API void ug::SetScriptPath | ( | const char * | c_strScript | ) |
init script path
References SetScriptPath().
UG_API void ug::SetScriptPath | ( | const std::string & | strScript | ) |
Initializes the SCRIPT_PATH of ug::PathProvider.
init script path
References PROFILE_FUNC, SCRIPT_PATH, and ug::PathProvider::set_path().
Referenced by ug::bridge::RegisterBridge_Util(), SetScriptPath(), and ugshell_main().
|
static |
References g_ShinyCallLoggingMaxFreq, and UG_LOG.
Referenced by ug::bridge::RegisterBridge_Profiler().
|
inline |
|
inline |
|
inline |
|
inline |
void ug::SetSmoothSubdivisionVolumesBoundaryRefinementRule | ( | std::string | bndRefRule | ) |
Setting procedure for global boundary refinement rule variable.
The global boundary refinement rule information switches between regular and a collection of subdivision surface refinement schemes.
References LINEAR, SetBoundaryRefinementRule(), SUBDIV_SURF_AVERAGING_SCHEME, SUBDIV_SURF_BUTTERFLY_SCHEME, SUBDIV_SURF_LOOP_SCHEME, SUBDIV_VOL, ToLower(), and UG_THROW.
Referenced by ug::bridge::Refinement::Functionality::Common().
void ug::SetTetRefinementRule | ( | std::string | ruleName | ) |
Setting procedure for global refinement rule variable.
The global refinement rule information switches between regular and subdivision volume refinement using hybrid tetra-/octahedral splitting.
References ug::tet_rules::HYBRID_TET_OCT, ug::tet_rules::SetRefinementRule(), ug::tet_rules::STANDARD, ToLower(), and UG_THROW.
Referenced by ug::bridge::Refinement::Functionality::Common().
|
static |
Function to compute a permutation of a vector
[out] | Pv | the permuted vector: Pv[perm[i]] = v[i] |
[in] | v | the input vector |
[in] | perm | array mapping oldindices i -> new index perm[i] |
Referenced by ug::ILU< TAlgebra >::applyLU(), and ug::ILUTPreconditioner< TAlgebra >::solve().
void ug::sgetrf_ | ( | lapack_int * | m, |
lapack_int * | n, | ||
lapack_float * | pColMajorMatrix, | ||
lapack_int * | lda, | ||
lapack_int * | ipiv, | ||
lapack_int * | info | ||
) |
Referenced by getrf().
void ug::sgetri_ | ( | lapack_int * | n, |
lapack_float * | pColMajorMatrix, | ||
lapack_int * | lda, | ||
const lapack_int * | ipiv, | ||
lapack_float * | pWork, | ||
lapack_int * | worksize, | ||
lapack_int * | info | ||
) |
Referenced by getri().
void ug::sgetrs_ | ( | char * | trans, |
lapack_int * | n, | ||
lapack_int * | nrhs, | ||
const lapack_float * | pColMajorMatrix, | ||
lapack_int * | lda, | ||
const lapack_int * | ipiv, | ||
lapack_float * | b, | ||
lapack_int * | ldb, | ||
lapack_int * | info | ||
) |
Referenced by getrs().
number ug::ShapeQualityDegree | ( | SimpleGrid & | sg | ) |
returns the worst quality-degree of the triangles in sg.
the returned degree lies between 0 and 1. The higher the better.
References ug::SimpleGrid::triangles.
number ug::ShapeQualityDegree | ( | SimpleGrid & | sg, |
int | triIndex | ||
) |
compares the area of the triangle to the length of its edges.
the returned degree lies between 0 and 1. The higher the better.
References TriangleQuality_Area(), ug::SimpleGrid::triangles, and ug::SimpleGrid::vertices.
Referenced by TryCollapse(), and TrySwap().
void ug::ShapesAtGlobalPosition | ( | std::vector< std::vector< number > > & | vvShape, |
const std::vector< MathVector< dim > > & | vGlobPos, | ||
const ReferenceObjectID | roid, | ||
const std::vector< MathVector< dim > > & | vCornerCoord, | ||
const LFEID & | lfeID | ||
) |
returns the shape function values at given global positions on an element
References EDGE, FACE, ReferenceElementDimension(), UG_THROW, VERTEX, and VOLUME.
Referenced by ug::StdTransfer< TDomain, TAlgebra >::assemble_prolongation(), and ug::StdTransfer< TDomain, TAlgebra >::assemble_restriction().
void ug::ShapesAtGlobalPosition | ( | std::vector< std::vector< number > > & | vvShape, |
const std::vector< MathVector< TDomain::dim > > & | vGlobPos, | ||
GridObject * | elem, | ||
const TDomain & | domain, | ||
const LFEID & | lfeID | ||
) |
returns the shape function values at given global positions on an element
References ug::GridObject::base_object_id(), CollectCornerCoordinates(), EDGE, FACE, ug::GridObject::reference_object_id(), UG_THROW, VERTEX, and VOLUME.
void ug::ShapesAtGlobalPositionElem | ( | std::vector< std::vector< number > > & | vvShape, |
const std::vector< MathVector< dim > > & | vGlobPos, | ||
const ReferenceObjectID | roid, | ||
const std::vector< MathVector< dim > > & | vCornerCoord, | ||
const LFEID & | lfeID | ||
) |
void ug::ShapesAtGlobalPositionVertex | ( | std::vector< std::vector< number > > & | vvShape, |
const std::vector< MathVector< dim > > & | vGlobPos, | ||
const LFEID & | lfeID | ||
) |
void ug::ShinyCallLoggingEnd | ( | ) |
References callsOnHold, CheckEnoughTimePassedToNow(), and profileCalls.
void ug::ShinyCallLoggingStart | ( | ) |
References callsOnHold.
|
inline |
Normal to a side of an Element in a given Dimension.
This function computes the outer normal to a given side of an element. The Euclidean norm of the normal is the area of the side. Note that the normal is computed in the same dimensionality as the reference element itself.
[in] | side | index of the side of the element |
[in] | vCornerCoords | array of the global coordinates of the corners |
[out] | normalOut | the computed normal |
References dim, ug::ReferenceElementProvider::get(), and ug::ReferenceElement::roid().
|
inline |
Computation of the side normal for a generic reference element:
|
inline |
|
inline |
References ROID_EDGE, ROID_QUADRILATERAL, ROID_TRIANGLE, and UG_THROW.
|
inline |
References ROID_EDGE, ROID_HEXAHEDRON, ROID_OCTAHEDRON, ROID_PRISM, ROID_PYRAMID, ROID_QUADRILATERAL, ROID_TETRAHEDRON, ROID_TRIANGLE, and UG_THROW.
void ug::SimplifyPolylines | ( | Grid & | grid, |
TEdgeIter | edgesBegin, | ||
TEdgeIter | edgesEnd, | ||
number | curvatureThreshold, | ||
TAAPos | aaPos | ||
) |
References ug::Grid::begin_marking(), ug::Grid::create(), deg_to_rad(), ug::Grid::end_marking(), ug::Grid::erase(), ug::Grid::get_edge(), GetConnectedVertex(), ug::Grid::is_marked(), ug::Grid::mark(), ug::AssocElemIter< TElem, TAssocElem, VSorted >::reinit(), UG_LOG, ug::Grid::unmark(), ug::AssocElemIter< TElem, TAssocElem, VSorted >::valid(), VecAngle(), VecSubtract(), and ug::EdgeVertices::vertex().
Referenced by SimplifySmoothedPolylines().
void ug::SlopeSmooth | ( | Grid & | grid, |
TIterator | vrtsBegin, | ||
TIterator | vrtsEnd, | ||
AAPosVRT & | aaPos, | ||
number | alpha, | ||
const vector3 & | up, | ||
int | numIterations | ||
) |
Linearizes the geometry along the gradient (steepest descent) with respect to the given up-vector
References alpha, ug::Grid::associated_elements(), CalculateVertexNormal(), GetConnectedEdge(), GetConnectedVertex(), IsBoundaryEdge2D(), LiesOnBoundary(), RayPlaneIntersection(), ug::PointerConstArray< TPtr >::size(), SMALL, boost::target(), VecCross(), VecDistanceSq(), VecDot(), VecNormalize(), VecScaleAdd(), and ug::EdgeVertices::vertex().
void ug::SnapMarkerPointToGridVertex | ( | MarkerPoint & | markerInOut, |
Grid & | grid, | ||
number | normalOffset, | ||
Grid::VertexAttachmentAccessor< APosition > & | aaPos, | ||
Grid::VertexAttachmentAccessor< ANormal > * | paaNorm = NULL |
||
) |
Snaps a marker point to a grid vertex.
Uses the initial position of the marker-point to determine the closest vertex in the grid. The new position is then calculated by an offset of the vertex-normal to the original vertex-position.
If a normal-accessor is supplied, the normal of the target vertex will be taken from it. If not, it will be calculated on the fly.
Both aaPos and paaNorm (if supplied) have to access valid vertex attachments of the given grid.
Please note that marker.norm and marker.name will remain unchanged. However the other entries will be changed.
Note that this method checks each vertex of the grid and is thus a little slow. Alternate implementations should use a kd-tree or similar.
References ug::MarkerPoint::associatedObj, ug::Grid::begin(), CalculateVertexNormal(), ug::Grid::end(), ug::MarkerPoint::localCoord, p, ug::MarkerPoint::pos, VecAdd(), VecDistanceSq(), and VecScale().
void ug::SnapToHorizontalRaster | ( | Grid & | grid, |
const RasterLayers & | layers, | ||
Grid::VertexAttachmentAccessor< AVector3 > | aaPos | ||
) |
horizontally snaps vertices of the given (surface-) grid to the specified raster
References ug::Heightfield::coordinate_to_index(), ug::RasterLayers::empty(), ug::RasterLayers::layer_t::heightfield, ug::Heightfield::index_to_coordinate(), ug::RasterLayers::top(), UG_COND_THROW, ug::Grid::vertices_begin(), and ug::Grid::vertices_end().
string ug::SnipString | ( | const string & | str, |
size_t | totalSize, | ||
size_t | replaceLast, | ||
const char | replace | ||
) |
References s.
Referenced by PrintDoFCount().
string ug::SnipStringFront | ( | const string & | str, |
size_t | totalSize, | ||
size_t | replaceFirst, | ||
const char | replace | ||
) |
References s.
Referenced by ug::bridge::lua::UGErrorTraceback().
bool ug::SolveDeficit | ( | DenseMatrix< VariableArray2< double > > & | A, |
DenseVector< VariableArray1< double > > & | x, | ||
DenseVector< VariableArray1< double > > & | rhs, | ||
double | deficitTolerance | ||
) |
References CPPString(), Decomp(), ug::DenseVector< TStorage >::maple_print(), s, UG_ASSERT, UG_LOG, UG_LOGN, and VecNormSquared().
bool ug::SolveLU | ( | const DenseMatrix< matrix_t > & | A, |
DenseVector< vector_t > & | x, | ||
const size_t * | pInterchange | ||
) |
References s.
Referenced by ug::DenseMatrixInverse< TStorage >::apply().
bool ug::SortDD | ( | SmartPtr< DoFDistribution > | spDD1, |
SmartPtr< DoFDistribution > | spDD2 | ||
) |
Referenced by ug::IApproximationSpace::create_dof_distribution().
bool ug::SortFaces4DiamondCreation | ( | SubsetHandler & | sh, |
std::vector< Face * > & | assoFacCrossCop, | ||
Edge *& | firstEdgeFac, | ||
Edge *& | secondEdgeFac, | ||
Face *& | assoFacConsider, | ||
VecEdge const & | origFracEdg, | ||
std::vector< Vertex * > const & | shiftVrtcs, | ||
Vertex *const & | crossPt, | ||
Edge *& | assoFacEdgBeg2Fix, | ||
Edge *& | assoFacEdgEnd2Fix, | ||
Grid & | grid, | ||
VecExpandCrossFracInfo & | vecExpCrossFI, | ||
bool | isXCross = true |
||
) |
References ug::Grid::associated_edges_begin(), ug::Grid::associated_edges_end(), EdgeContains(), FaceContains(), UG_LOG, and UG_THROW.
Referenced by ExpandFractures2dArte().
void ug::SpacialVertexSort | ( | std::multimap< number, Vertex * > & | vrtsOut, |
const TVrtIter | vrtsBegin, | ||
const TVrtIter | vrtsEnd, | ||
const typename TAAPos::ValueType & | rayFrom, | ||
const typename TAAPos::ValueType & | rayDir, | ||
TAAPos | aaPos, | ||
bool | clearContainer = true |
||
) |
sorts vertices along the specified ray
inserts vertices into the specified multimap based on local coordinate of their projection on the specified ray. if clearContainer is specified as false (default is true), the vertices will be inserted into the already existing sorted vertex set in vrtsOut.
References p, and ProjectPointToRay().
Referenced by MultiEdgeSplit().
|
static |
Referenced by ug::LoaderObj::load_file(), LoadGridFromDUMP(), ReadTetrahedrons(), and ReadTriangles().
void ug::SplitAddRhs_OneSide | ( | TVector & | rhs, |
std::vector< size_t > & | constrainedIndex, | ||
std::vector< std::vector< size_t > > & | vConstrainingIndex | ||
) |
void ug::SplitAddRhs_Symmetric | ( | TVector & | rhs, |
std::vector< size_t > & | constrainedIndex, | ||
std::vector< std::vector< size_t > > & | vConstrainingIndex | ||
) |
void ug::SplitAddRow_OneSide | ( | TMatrix & | A, |
std::vector< size_t > & | constrainedIndex, | ||
std::vector< std::vector< size_t > > & | vConstrainingIndex | ||
) |
References frac, and UG_ASSERT.
Referenced by ug::OneSideP1Constraints< TDomain, TAlgebra >::adjust_jacobian(), and ug::OneSideP1Constraints< TDomain, TAlgebra >::adjust_linear().
void ug::SplitAddRow_Symmetric | ( | TMatrix & | A, |
std::vector< size_t > & | constrainedIndex, | ||
std::vector< std::vector< size_t > > & | vConstrainingIndex | ||
) |
References BlockRef(), DoFRef(), frac, GetCols(), and UG_ASSERT.
Referenced by ug::SymP1Constraints< TDomain, TAlgebra >::adjust_jacobian(), and ug::SymP1Constraints< TDomain, TAlgebra >::adjust_linear().
bool ug::SplitEdge | ( | SimpleGrid & | sg | ) |
splits the edge between the first two vertices of the SimpleGrid. sh has to fullfill the requirements stated in ug::ObtainSimpleGrid. The new vertexs will be added at the end of the vertex list. the first two triangles will be altered. Two additional triangles will be added at the end of the triangle list.
The normal of the new vertex is interpolated from the normals of the edges end-points.
The manipulated grid is no longer suited for swap, split or collapse operations.
void ug::SplitOctahedronToTetrahedrons | ( | Grid & | grid, |
Octahedron * | oct, | ||
Volume * | parentVol, | ||
std::vector< Tetrahedron * > & | vTetsOut, | ||
int | bestDiag | ||
) |
Function for splitting an octahedron to 4 sub-tetrahedrons.
Recall the refinement of a tetrahedron (s. tetrahdron_rules.cpp). A tetrahedron is refined into 4 outer tetrahedrons and 4 inner tetrahedrons. After the 4 outer tetrahedrons are created the remaining inner cavity corresponds to an octahedron. This octahedron can be split into 4 tetrahedrons in 3 different ways, depending on the length of the following diagonals: Based on the original tetrahedron we look at the three diagonals between the following edge-centers: 0-5, 1-3, 2-4
The diagonal between edge-centers 0-5 of the tetrahedron equals a segment between vertices 1 and 3 of the octahedron
The diagonal between edge-centers 1-3 of the tetrahedron equals a segment between vertices 0 and 5 of the octahedron
the diagonal between edge-centers 2-4 of the tetrahedron equals a segment between vertices 2 and 4 of the octahedron
HINT: preferably use bestDiag = 0, as it is the inherent diagonal along which the octahedron was adaptively orientated according to tetrahedron_rules.cpp
grid | reference to grid |
oct | pointer to octahedron |
parentVol | pointer to parent volume |
vTetsOut | reference to vector with pointers to new tetrahedrons |
References aPosition, ug::Grid::create(), VecDistanceSq(), and ug::Octahedron::vertex().
Referenced by TetrahedralizeHybridTetOctGrid().
number ug::SqNormOfChebyshev1Poly | ( | size_t | k | ) |
returns the scalar square of the Chebyshev polynomials of the first kind (the squared norm)
The polynomials are orthogonal on \([-1, 1]\) w.r.t. the scalar product \( \int_{-1}^1 \phi (x) \cdot \psi (x) \frac{1}{\sqrt {1 - x^2}} \, dx \) They satisfy the recursion \(T_0 (x) = 1\), \(T_1 (1) = x\), \(T_k (x) = 2 x P_{k-1} (x) - P_{k-2} (x)\). The corresponding norm of \(T_k\) is \(\tfrac{\pi}{2}\) for \(k > 0\) and \(\pi\) for \(k = 0\).
k | index of the polynomial, \(k \ge 0\) |
References PI.
Referenced by ug::bridge::RegisterBridge_OrthoPoly().
number ug::SqNormOfChebyshev2Poly | ( | size_t | k | ) |
returns the scalar square of the Chebyshev polynomials of the second kind (the squared norm)
The polynomials are orthogonal on \([-1, 1]\) w.r.t. the scalar product \( \int_{-1}^1 \phi (x) \cdot \psi (x) \sqrt {1 - x^2} \, dx \) They satisfy the recursion \(U_0 (x) = 1\), \(U_1 (1) = 2 x\), \(U_k (x) = 2 x U_{k-1} (x) - U_{k-2} (x)\). The corresponding norm of \(T_k\) is \(\tfrac{\pi}{2}\).
k | index of the polynomial, \(k \ge 0\) |
References PI.
Referenced by ug::bridge::RegisterBridge_OrthoPoly().
number ug::SqNormOfLegendrePoly | ( | size_t | k | ) |
returns the scalar square of the Legendre polynomials (the squared weighted norm)
The polynomials are \(L_2\)-orthogonal on \([-1, 1]\). They satisfy the recursion \(P_0 (x) = 1\), \(P_1 (1) = x\), \(P_k (x) = ((2 k - 1) x P_{k-1} (x) - (k - 1) P_{k-2} (x)) / k\). The \(L_2\)-square of \(P_k\) is \(2 / (2 k + 1)\). Note that this function returns not the \(L_2\) norm but the weighted norm \(\sqrt {\frac{1}{b-a} \int_a^b P_k^2 (x) \, dx}\), where \(a=-1\), \(b=1\).
k | index of the polynomial, \(k \ge 0\) |
Referenced by ug::bridge::RegisterBridge_OrthoPoly().
|
inline |
|
inline |
|
inline |
bool ug::StartsWith | ( | const string & | str, |
const string & | begin | ||
) |
Referenced by IsValidRegistryIdentifier().
number ug::StdFuncIntegralOnVertex | ( | SmartPtr< TGridFunction > | spGridFct, |
size_t | fct, | ||
int | si | ||
) |
References StdFuncIntegralOnVertex().
number ug::StdFuncIntegralOnVertex | ( | TGridFunction & | gridFct, |
size_t | fct, | ||
int | si | ||
) |
References DoFRef().
Referenced by Integral(), and StdFuncIntegralOnVertex().
bool ug::STLFileHasASCIIFormat | ( | const char * | filename | ) |
|
inline |
References SubMult().
|
inline |
Referenced by SubMult().
|
inline |
|
inline |
|
inline |
References SubMult().
bool ug::SubsetIsRegularGrid | ( | const ISubsetHandler & | sh, |
int | si | ||
) |
returns if a subset is a regular grid
This function returns if a subset contains constrained/constraining elements such as hanging vertices, contrained edges/faces. In this case, the subset does not form a regular grid.
[in] | sh | SubsetHandler |
[in] | si | Subset Index |
References SubsetIsRegularGrid(), and UG_THROW.
bool ug::SubsetIsRegularGrid | ( | const MGSubsetHandler & | sh, |
int | si | ||
) |
returns if a subset is a regular grid
This function returns if a subset contains constrained/constraining elements such as hanging vertices, contrained edges/faces. In this case, the subset does not form a regular grid.
[in] | sh | SubsetHandler |
[in] | si | Subset Index |
References ug::MultiGridSubsetHandler::num().
bool ug::SubsetIsRegularGrid | ( | const SubsetHandler & | sh, |
int | si | ||
) |
returns if a subset is a regular grid
This function returns if a subset contains constrained/constraining elements such as hanging vertices, contrained edges/faces. In this case, the subset does not form a regular grid.
[in] | sh | SubsetHandler |
[in] | si | Subset Index |
References ug::GridSubsetHandler::num().
Referenced by ug::DomainDiscretizationBase< TDomain, TAlgebra, TGlobAssembler >::finish_timestep(), ug::DomainDiscretizationBase< TDomain, TAlgebra, TGlobAssembler >::prepare_timestep(), ug::SubsetGroup::regular_grid(), and SubsetIsRegularGrid().
void ug::SubtractValueFromComponent | ( | SmartPtr< TGridFunction > | spGF, |
size_t | fct, | ||
number | sub | ||
) |
Subtracts a given value from all DoFs of a given grid function associated with a given element type.
TGridFunction | grid function type |
TBaseElem | type of the elements the DoFs are associated with |
References DoFRef(), and ug::PeriodicBoundaryManager::is_slave().
|
inline |
|
inline |
number ug::SumGFValuesAt | ( | TGridFunction * | u, |
const char * | fct_names | ||
) |
Sums values of a grid function at all given elements (like vertices).
This version takes symbolic data.
TGridFunction | the grid function type |
TBaseElem | the given element type (like 'Vertex') |
u | the grid function |
fct_names | index of the function |
References ug::FunctionGroup::add(), TokenizeString(), and UG_THROW.
number ug::SumGFValuesAt | ( | TGridFunction * | u, |
const char * | fct_names, | ||
const char * | subset_names | ||
) |
Sums values of a grid function at given elements (like vertices) in given subsets.
This version takes symbolic data.
TGridFunction | the grid function type |
TBaseElem | the given element type (like 'Vertex') |
u | the grid function |
fct_names | index of the function |
subset_names | the subsets |
References ug::SubsetGroup::add(), ug::FunctionGroup::add(), TokenizeString(), and UG_THROW.
number ug::SumGFValuesAt | ( | TGridFunction * | u, |
size_t | fct | ||
) |
Sums values of a grid function at all given elements (like vertices)
TGridFunction | the grid function type |
TBaseElem | the given element type (like 'Vertex') |
u | the grid function |
fct | index of the function |
References pcl::ProcessCommunicator::allreduce(), DoFRef(), PCL_RO_SUM, and UG_THROW.
number ug::SumGFValuesAt | ( | TGridFunction * | u, |
size_t | fct, | ||
SubsetGroup & | ssGroup | ||
) |
Sums values of a grid function at given elements (like vertices) in given subsets
TGridFunction | the grid function type |
TBaseElem | the given element type (like 'Vertex') |
u | the grid function |
fct | index of the function |
ssGroup | the subsets |
References pcl::ProcessCommunicator::allreduce(), DoFRef(), PCL_RO_SUM, ug::SubsetGroup::size(), and UG_THROW.
bool ug::SwapEdge | ( | SimpleGrid & | sg | ) |
swaps the edge between the first two vertices of the SimpleGrid. sh has to fullfill the requirements stated in ug::ObtainSimpleGrid.
The manipulated grid is no longer suited for swap, split or collapse operations.
References CalculateTriangleNormal(), and ug::SimpleGrid::triangles.
bool ug::SweepLine_CreateMonotones | ( | vector< SweepLineVertex > & | vrts, |
list< SweepLineEdge > & | edges | ||
) |
inserts new edges so that edges contains a set of monotone polynomes
References ug::SweepLineVertex::connections, ug::SweepLineEdge::direction(), ug::SweepLineEdge::get_connected(), GetEdgeOnTheLeft(), ug::SweepLineVertex::isRimVertex, ug::SweepLineEdge::m_helper, ug::SweepLineVertex::m_status, ug::SweepLineEdge::m_status, ug::SweepLineEdge::m_v1, SLES_RIM, SLVS_END, SLVS_MERGE, SLVS_NONE, SLVS_REGULAR, SLVS_SPLIT, SLVS_START, SweepLineEdgeIntersectsSweepLine(), UG_LOG, and ug::SweepLineVertex::vrtPtr.
Referenced by TriangleFill_SweepLine().
bool ug::SweepLineEdgeIntersectsSweepLine | ( | number & | xOut, |
const SweepLineEdge & | edge, | ||
number | sweepLineY | ||
) |
References ug::SweepLineEdge::direction(), ug::SweepLineEdge::m_v1, ug::SweepLineEdge::m_v2, s, and ug::SweepLineVertex::vrtPtr.
Referenced by SweepLine_CreateMonotones().
|
static |
Attaches global attachments to 'g' that are attached at 'g' on some other process, thus synchronizing the set of attached global attachments of 'g'.
References pcl::ProcessCommunicator::allreduce(), LG_DIST, pcl::OneProcTrue(), PCL_RO_BOR, PCL_RO_MAX, UG_COND_THROW, and UG_DLOG.
Referenced by DistributeGrid().
|
static |
References pcl::InterfaceCommunicator< TLayout >::communicate(), ug::Grid::distributed_grid_manager(), ug::ComPol_SynchronizeDistInfos< TLayout >::enable_merge(), pcl::InterfaceCommunicator< TLayout >::exchange_data(), ug::DistributedGridManager::grid_layout_map(), INT_H_MASTER, INT_H_SLAVE, INT_V_MASTER, and INT_V_SLAVE.
void ug::TangentialSmooth | ( | Grid & | g, |
TVrtIter | vrtsBegin, | ||
TVrtIter | vrtsEnd, | ||
TAAPos3 | aaPos, | ||
number | alpha, | ||
size_t | numIterations | ||
) |
Smoothes vertices in a 2d-manifold in 3d-space be moving vertices in the tangential plane, only. USES Grid::mark Computes an offset vector for each vertex and smoothes this offset by averaging with offsets of adjacent vertices. The offset is then projected back into the tangential plane and each vertex is relocated using those smoothed offsets.
References alpha, ug::Grid::associated_elements(), ug::Grid::attach_to_vertices_dv(), ug::Grid::begin_marking(), CalculateNormal(), ug::Grid::detach_from_vertices(), ug::PointerConstArray< TPtr >::empty(), ug::Grid::end_marking(), ug::Grid::is_marked(), ug::Grid::mark(), ProjectPointToPlane(), ug::PointerConstArray< TPtr >::size(), VecAdd(), VecDot(), VecNormalize(), VecScale(), VecScaleAdd(), and VecSubtract().
void ug::TangentialSmoothSimple | ( | Grid & | g, |
TVrtIter | vrtsBegin, | ||
TVrtIter | vrtsEnd, | ||
TAAPos3 | aaPos, | ||
number | alpha, | ||
size_t | numIterations | ||
) |
Smoothes vertices in a 2d-manifold in 3d-space be moving vertices in the tangential plane, only. USES Grid::mark
References alpha, ug::Grid::associated_elements(), ug::Grid::begin_marking(), CalculateNormal(), ug::PointerConstArray< TPtr >::empty(), ug::Grid::end_marking(), ug::Grid::is_marked(), ug::Grid::mark(), ProjectPointToPlane(), ug::PointerConstArray< TPtr >::size(), VecAdd(), VecScale(), and VecScaleAdd().
void ug::teachAssoFacesNewVrtx | ( | VecVertexOfFaceInfo const & | segPart, |
Grid::FaceAttachmentAccessor< AttVrtVec > & | aaVrtVecFace, | ||
Vertex *const & | crossPt, | ||
Vertex *const & | newShiftVrtx | ||
) |
References boost::num_vertices(), and UG_THROW.
Referenced by ExpandFractures2dArte().
UG_API void ug::TerminateAbortedRun | ( | ) |
Terminates the current run if AbortRun() was called and the abort-run-flag is thus set to true.
References s_abortRun, and UGForceExit().
Referenced by ug::bridge::RegisterBridge_Misc().
bool ug::TestGridLayoutMap | ( | MultiGrid & | mg, |
GridLayoutMap & | glm, | ||
TAPos & | aPos, | ||
bool | verbose = true |
||
) |
References pcl::AllProcsTrue(), pcl::ProcessCommunicator::allreduce(), ug::GridLayoutMap::get_layout(), INT_H_MASTER, INT_H_SLAVE, INT_V_MASTER, INT_V_SLAVE, pcl::MultiLevelLayout< TInterface >::layout_on_level(), pcl::MultiLevelLayout< TInterface >::num_levels(), PCL_DT_INT, PCL_RO_MAX, UG_LOG, and verbose.
Referenced by TestDomainInterfaces().
void ug::TestHorizontalAlgebraLayouts | ( | const TMatrix & | mat, |
std::vector< AlgebraID > * | algebraIDs = NULL , |
||
bool | verbose = false |
||
) |
Tests layouts by matching master and slave interfaces and by comparing global id's.
Checks normal H-Master and H-Slave interfaces as well as H-Master-Overlap and H-Slave-Overlap interfaces.
mat | A parallel matrix. |
algebraIDs | may be specified optionally. Make sure that those are global consistent algebraID's- |
References ug::HorizontalAlgebraLayouts::comm(), GenerateGlobalAlgebraIDs(), ug::HorizontalAlgebraLayouts::master(), ug::HorizontalAlgebraLayouts::master_overlap(), operator()(), ug::HorizontalAlgebraLayouts::proc_comm(), ug::HorizontalAlgebraLayouts::slave(), ug::HorizontalAlgebraLayouts::slave_overlap(), UG_COND_THROW, and verbose.
void ug::TestQuadRule | ( | ) |
References ug::GaussQuadBase< TImpl, TDim, TOrder, TNip >::order(), ug::GaussQuadBase< TImpl, TDim, TOrder, TNip >::point(), PrintQuadRule(), ROID_TRIANGLE, ug::GaussQuadBase< TImpl, TDim, TOrder, TNip >::size(), and ug::GaussQuadBase< TImpl, TDim, TOrder, TNip >::weight().
Referenced by ug::bridge::RegisterBridge_Integrate().
void ug::TetrahedralizeHybridTetOctGrid | ( | MultiGrid & | mg, |
int | bestDiag | ||
) |
Conversion function for hybrid tetra-/octahedral multigrids.
This function converts each octahedron in all levels to four tetrahedra and deletes the original octahedra from the multigrid.
WARNING: correct parent <-> childhood relationships won't persist
mg | reference to MultiGrid |
bestDiag | specify fixed or adaptive diagonal for octahedral split |
References aPosition, ug::MultiGrid::begin(), ug::DistributedGridManager::contains_status(), ug::Grid::distributed_grid_manager(), ug::MultiGrid::end(), ug::Grid::erase(), ES_V_SLAVE, ug::MultiGrid::get_parent(), ug::MultiGrid::num_levels(), PROFILE_FUNC_GROUP, and SplitOctahedronToTetrahedrons().
Referenced by ug::bridge::Refinement::Functionality::Common().
References CalculateMinVolumeHeight(), GetMaxEdgeLength(), and UG_COND_THROW.
Referenced by AspectRatio().
|
inline |
References g_bNoNANCheck, IsFiniteAndNotTooBig(), and UG_THROW.
|
inline |
References UG_THROW.
|
inline |
References UG_THROW.
Referenced by ug::IElemAssembleFuncs< TLeaf, TDomain >::add_def_A_elem(), ug::IElemAssembleFuncs< TLeaf, TDomain >::add_def_M_elem(), ug::IElemAssembleFuncs< TLeaf, TDomain >::add_jac_A_elem(), ug::IElemAssembleFuncs< TLeaf, TDomain >::add_jac_M_elem(), ug::IElemAssembleFuncs< TLeaf, TDomain >::add_rhs_elem(), ug::IElemAssembleFuncs< TLeaf, TDomain >::fsh_elem_loop(), ug::IElemAssembleFuncs< TLeaf, TDomain >::prep_elem(), and ug::IElemAssembleFuncs< TLeaf, TDomain >::prep_elem_loop().
vector<string> ug::TokenizeString | ( | const string & | str, |
const char | delimiter | ||
) |
References TokenizeString().
void ug::TokenizeString | ( | const string & | str, |
vector< string > & | vToken, | ||
const char | delimiter | ||
) |
Referenced by ug::FunctionGroup::add(), ug::DegeneratedLayerManager< dim >::add(), ug::FunctionPattern::all_subsets_grp_except_for(), CheckGFforNaN(), ug::bridge::Evaluate::CloseVertexExists(), ug::bridge::Evaluate::EvaluateAtClosestVertex(), ug::bridge::Evaluate::EvaluateAtClosestVertexAllProcs(), ug::ExplicitGridFunctionVector< TGridFunction >::ExplicitGridFunctionVector(), ug::DoFDistributionInfoProvider::fct_grp_by_name(), ug::bridge::GetLuaNamespace(), ug::GridFunctionVectorData< TGridFunction >::GridFunctionVectorData(), ug::DomainRayTracer::init(), InitLinearManifoldSubsetHandler(), ug::bridge::ClassHierarchy::insert_class(), Integral(), IntegralNormalComponentOnManifoldSubsets(), IntegrateDiscFlux(), IntegrateNormalComponentOnManifold(), IntegrateNormalGradientOnManifold(), IntegrateSubsets(), Interpolate(), InterpolateInner(), InterpolateInnerDiff(), MaxError(), ug::OutNormCmp< TDomain >::OutNormCmp(), ug::FunctionGroup::remove(), ug::DegeneratedLayerManager< dim >::remove(), ug::VTKOutput< TDim >::select(), ug::VTKOutput< TDim >::select_element(), ug::VTKOutput< TDim >::select_nodal(), ug::IElemAssembleFuncs< IElemDisc< TDomain >, TDomain >::set_default_add_fct(), ug::IElemDiscBase< TDomain >::set_subsets(), ug::SideAndElemErrEstData< TDomain >::SideAndElemErrEstData(), ug::FunctionPattern::subset_grp_by_name(), ug::SubsetIndicatorUserData< TDomain >::SubsetIndicatorUserData(), SumGFValuesAt(), and TokenizeString().
vector<string> ug::TokenizeTrimString | ( | const string & | str, |
const char | delimiter | ||
) |
References TokenizeTrimString().
void ug::TokenizeTrimString | ( | const string & | str, |
vector< string > & | vToken, | ||
const char | delimiter | ||
) |
References TrimString().
Referenced by ug::IApproximationSpace::add(), ug::CompositeUserData< TData, dim, TRet >::add(), ug::NeumannBoundaryBase< TDomain >::add_inner_subsets(), AdjustMeanValue(), ug::AverageComponent< TDomain, TAlgebra >::AverageComponent(), CheckGFValuesWithinBounds(), ug::GridFunctionComponentSpace< TGridFunction >::distance2(), MarkForAdaption_ElementsTouchingSubsets(), ug::GridFunctionComponentSpace< TGridFunction >::norm2(), ug::VTKOutput< TDim >::print_subsets(), ug::CompositeConvCheck< TVector, TDomain >::set_component_check(), ug::DependentUserData< TData, dim >::set_functions(), ug::CompositeConvCheck< TVector, TDomain >::set_group_check(), and TokenizeTrimString().
string ug::ToLower | ( | string | str | ) |
void ug::topological_ordering_core_bidirectional | ( | O_t & | o, |
G_t & | g, | ||
bool | inverse | ||
) |
References boost::in_edges(), boost::num_vertices(), boost::out_degree(), boost::source(), UG_THROW, and boost::vertices().
Referenced by ug::TopologicalOrdering< TAlgebra, O_t >::compute().
void ug::topological_ordering_core_directed | ( | O_t & | o, |
G_t & | g, | ||
bool | inverse | ||
) |
References boost::adjacent_vertices(), boost::num_vertices(), UG_THROW, and boost::vertices().
Referenced by ug::SCCOrdering< TAlgebra, O_t >::compute().
string ug::ToUpper | ( | string | str | ) |
|
inline |
References ModeConjTranspose, ModeNoTrans, ModeTranspose, and UG_THROW.
Referenced by getrs().
void ug::TraverseBreadthFirst | ( | const tree_t & | tree, |
traverser_t & | traverser | ||
) |
References ABORT_TRAVERSAL, and TRAVERSE_CHILDREN.
Referenced by FindLowestLeafNodeLevel().
void ug::TraverseDepthFirst | ( | const tree_t & | tree, |
traverser_t & | traverser | ||
) |
References TraverseDepthFirstRecursion().
Referenced by FindContainingElement(), FindElementsInIntersectingNodes(), GetMinMaxNumElements(), and RayElementIntersections().
int ug::TraverseDepthFirstRecursion | ( | const tree_t & | tree, |
traverser_t & | traverser, | ||
int | curNode | ||
) |
References ABORT_TRAVERSAL, and TRAVERSE_CHILDREN.
Referenced by TraverseDepthFirst().
number ug::TriangleAspectRatio | ( | FaceVertices * | f, |
TAAPos & | aaPos | ||
) |
Returns the aspect ratio of a triangle.
The aspect ratio is calculated using the formula
References TriangleArea(), VecDistance(), and ug::FaceVertices::vertices().
Referenced by AspectRatio().
bool ug::TriangleFill_SweepLine | ( | Grid & | grid, |
TIterator | edgesBegin, | ||
TIterator | edgesEnd, | ||
APosition & | aPosVRT, | ||
AInt & | aIntVRT, | ||
SubsetHandler * | pSH = NULL , |
||
int | newSubsetIndex = -1 |
||
) |
Performs triangulation of a polygon and resoves additional inner edges.
This algortighm uses Grid::mark.
The polygon should lie in a 2d hyperplane.
References ug::GridSubsetHandler::assign_subset(), ug::Grid::begin_marking(), ug::Grid::create(), ug::Grid::end_marking(), ug::Grid::has_vertex_attachment(), ug::Grid::is_marked(), ug::Grid::mark(), TriangleFill_SweepLine(), UG_LOG, and ug::EdgeVertices::vertex().
UG_API bool ug::TriangleFill_SweepLine | ( | std::vector< int > & | facesOut, |
const std::vector< vector2 > & | srcVrts, | ||
std::vector< int > & | srcEdges | ||
) |
Performs triangulation of a polygon and resoves additional inner edges.
This algorithm triangulates a set of edges. It is important, that a closed outer boundary exists. All edges are resolved in the final geometry.
References CalculateRightBendVal(), cmp_slv(), ug::SweepLineVertex::connections, CreateSweepLineStructs(), ug::SweepLineEdge::get_connected(), ug::SweepLineEdge::m_numConnectedPolygons, ug::SweepLineEdge::m_status, ug::SweepLineEdge::m_v1, ug::SweepLineEdge::m_v2, SLES_RIM, SweepLine_CreateMonotones(), UG_LOG, VecDot(), VecNormalize(), VecSubtract(), ug::SweepLineVertex::vrtInd, and ug::SweepLineVertex::vrtPtr.
Referenced by QualityGridGeneration(), ResolveTriangleIntersections(), and TriangleFill_SweepLine().
UG_API bool ug::TriangleFill_SweepLine | ( | std::vector< int > & | facesOut, |
const std::vector< vector3 > & | srcVrts, | ||
std::vector< int > & | srcEdges | ||
) |
Performs triangulation of a 3d polygon and resolves inner edges.
The polygon should lie in a 2d hyperplane.
References TransformPointSetTo2D().
bool ug::TriangleFill_SweepLine | ( | std::vector< int > & | facesOut, |
const std::vector< vector2 > & | srcVrts, | ||
std::vector< int > & | srcEdges | ||
) |
Performs triangulation of a polygon and resoves additional inner edges.
This algorithm triangulates a set of edges. It is important, that a closed outer boundary exists. All edges are resolved in the final geometry.
References CalculateRightBendVal(), cmp_slv(), ug::SweepLineVertex::connections, CreateSweepLineStructs(), ug::SweepLineEdge::get_connected(), ug::SweepLineEdge::m_numConnectedPolygons, ug::SweepLineEdge::m_status, ug::SweepLineEdge::m_v1, ug::SweepLineEdge::m_v2, SLES_RIM, SweepLine_CreateMonotones(), UG_LOG, VecDot(), VecNormalize(), VecSubtract(), ug::SweepLineVertex::vrtInd, and ug::SweepLineVertex::vrtPtr.
Referenced by QualityGridGeneration(), ResolveTriangleIntersections(), and TriangleFill_SweepLine().
|
static |
References Bevel2d(), Bevel3d(), CheckLine(), CROSS, FacePlane(), INSIDE, ug::TRI::m_P, OUTSIDE, PointTriangleIntersection(), and SUB.
Referenced by TriangleBoxIntersection().
string ug::TrimString | ( | const string & | str | ) |
Referenced by ug::bridge::Registry::add_and_get_function(), ug::bridge::ExportedClass< TClass >::add_method(), GetQuadratureType(), ug::bridge::ClassHierarchy::insert_class(), ug::FileReaderSWC::load_file(), LoadGridFromSMESH(), LoadGridFromTXT(), ug::bridge::LuaStackTraceString(), NextValid2DFLine(), ug::VTKOutput< TDim >::select(), ug::VTKOutput< TDim >::select_element(), ug::VTKOutput< TDim >::select_nodal(), ug::AssembledMultiGridCycle< TDomain, TAlgebra >::set_cycle_type(), FreqAdaptValues::set_freqs(), ug::CompositeConvCheck< TVector, TDomain >::set_group_check(), StringToRefinementMark(), ug::bridge::ExportedConstructor::tokenize(), ug::bridge::ExportedFunctionBase::tokenize(), and TokenizeTrimString().
|
inline |
Referenced by ExportGridToTIKZ().
|
static |
returns the resulting vertex or NULL, if no collapse was performed.
regularNeighbourhood ||
References ug::AdjustEdgeLengthDesc::approximation, CalculateTriangleNormals(), CollapseEdge(), CollectEdges(), CollectFaces(), EdgeCollapseIsValid(), EdgeContains(), GeometricApproximationDegree(), ug::ISubsetHandler::get_subset_index(), GetConnectedEdge(), LOG, ug::Face::num_edges(), ObtainSimpleGrid(), ObtainSimpleGrid_CollapseEdge(), REM_CREASE, REM_FIXED, REM_NONE, ShapeQualityDegree(), ug::AdjustEdgeLengthDesc::triQuality, ug::EdgeVertices::vertex(), ug::SimpleGrid::vertexNormals, and ug::SimpleGrid::vertices.
Vertex* ug::TryCollapse | ( | Grid & | grid, |
Edge * | e, | ||
TAAPosVRT & | aaPos, | ||
TAANormVRT & | aaNorm, | ||
TAAIntVRT & | aaInt, | ||
SubsetHandler * | pshMarks = NULL , |
||
EdgeSelector * | pCandidates = NULL |
||
) |
returns the resulting vertex or NULL, if no collapse was performed.
regularNeighbourhood ||
References CalculateTriangleNormals(), CollapseEdge(), CollectEdges(), CollectFaces(), EdgeCollapseIsValid(), EdgeContains(), GeometricApproximationDegree(), ug::ISubsetHandler::get_subset_index(), GetConnectedEdge(), LOG, ug::Face::num_edges(), ObtainSimpleGrid(), ObtainSimpleGrid_CollapseEdge(), REM_CREASE, REM_FIXED, REM_NONE, ShapeQualityDegree(), ug::EdgeVertices::vertex(), ug::SimpleGrid::vertexNormals, and ug::SimpleGrid::vertices.
Referenced by PerformCollapses().
bool ug::TrySplit | ( | Grid & | grid, |
Edge * | e, | ||
TAAPosVRT & | aaPos, | ||
TAANormVRT & | aaNorm, | ||
EdgeSelector * | pCandidates = NULL , |
||
SubsetHandler * | pshMarks = NULL |
||
) |
References ug::Grid::associated_edges_begin(), ug::Grid::associated_edges_end(), CalculateCenter(), CalculateNormal(), CalculateVertexNormal(), REM_CREASE, and REM_FIXED.
Referenced by PerformSplits().
|
static |
References CalculateCenter(), REM_FIXED, VecAdd(), VecNormalize(), and ug::EdgeVertices::vertex().
bool ug::TrySwap | ( | Grid & | grid, |
Edge * | e, | ||
TAAPosVRT & | aaPos, | ||
TAANormVRT & | aaNorm, | ||
TAAIntVRT & | aaInt, | ||
SubsetHandler * | pshMarks = NULL , |
||
EdgeSelector * | pCandidates = NULL |
||
) |
References ug::Grid::associated_edges_begin(), ug::Grid::associated_edges_end(), GetAssociatedFaces(), LOG, boost::num_vertices(), ObtainSimpleGrid(), REM_CREASE, REM_FIXED, ShapeQualityDegree(), SwapEdge(), ug::SimpleGrid::triangleNormals, VecDot(), VecNormalize(), VecSubtract(), ug::EdgeVertices::vertex(), ug::SimpleGrid::vertexNormals, and ug::SimpleGrid::vertices.
Referenced by PerformSwaps().
|
inline |
References demangle(), and name.
|
inline |
References demangle(), and name.
Referenced by ug::IVector::downcast(), DownCast(), and ug::IVector_AlgebraDownCastTo< TVec >::short_desc().
void ug::UG_LOG_Matrix | ( | const MT & | A | ) |
References SchurDebug, UG_DEBUG_BEGIN, UG_DEBUG_END, and UG_LOG.
void ug::UG_LOG_Vector | ( | const VT & | vec | ) |
References UG_LOG.
Referenced by ug::SchurComplementOperator< TAlgebra >::apply().
UG_API int ug::UGFinalize | ( | ) |
finalizes ug
If ug has been compiled for parallel use (UG_PARALLEL is defined) then this method will internally call pcl::Finalize.
If ug has been compiled for parallel use (UG_PARALLEL is defined) then this method will internally call pcl::Finalize.
Use ug::UGOutputProfileStatsOnExit to enable profiling output during finalize.
References pcl::Finalize(), and UGFinalizeNoPCLFinalize().
Referenced by ug::vrl::registerUGFinalize(), and ugshell_main().
int ug::UGFinalizeNoPCLFinalize | ( | ) |
References EnableMemTracker(), ug::LogAssistant::flush_error_log(), GetLogAssistant(), GetProfileNode(), outputProfileStats, PROFILER_OUTPUT, PROFILER_UPDATE, and UG_LOG.
Referenced by UGFinalize(), and UGForceExit().
UG_API void ug::UGForceExit | ( | ) |
Calls UGFinalize and terminates the application.
If the build-target is vrl and if no parallel build is performed, this method throws an instance of SoftAbort
References pcl::Abort(), pcl::NumProcs(), UG_LOG, and UGFinalizeNoPCLFinalize().
Referenced by ug::script::breakpoint(), ug::bridge::RegisterBridge_Util(), and TerminateAbortedRun().
UG_API std::string ug::UGGetVersionString | ( | ) |
Returns the version number of the current ug-version.
The string is formatted like this: "majorVersion.minorVersion.updateVersion"
References gUGVersionString().
Referenced by Java_edu_gcsc_vrl_ug_UG__1getUGVersion(), and ugshell_print_header().
UG_API int ug::UGInit | ( | int * | argcp, |
char *** | argvp, | ||
int | parallelOutputProcRank | ||
) |
initializes ug
This method should be called at the beginning of main(...). If ug has been compiled for parallel use (UG_PARALLEL is defined) then this method will internally call pcl::Init.
This method should be called at the beginning of main(...). If ug has been compiled for parallel use (UG_PARALLEL is defined) then this method will internally call pcl::Init.
This method also sets the common paths in PathProvider.
References GetLogAssistant(), pcl::Init(), ug::bridge::InitBridge(), InitPaths(), PROFILE_FUNC, ug::LogAssistant::set_output_process(), UG_LOG, and UGInitPlugins().
Referenced by Java_edu_gcsc_vrl_ug_UG__1ugInit().
UG_API bool ug::UGInitPlugins | ( | ) |
Init (if UG_PLUGINS is set) embedded or non-shared plugins.
Referenced by ug_init_plugins(), and UGInit().
UG_API void ug::UGOutputProfileStatsOnExit | ( | bool | bEnable | ) |
Call with true, if profiling output is desired at the end of the show.
References outputProfileStats.
Referenced by ug::bridge::RegisterBridge_Profiler(), and ugshell_main().
References ug::ChainInfo::associatedDistanceSq, ug::ChainInfo::inVrt, ug::ChainInfo::isCandidate, ug::ChainInfo::myVrt, ug::ChainInfo::outVrt, SMALL, VecDistance(), VecDistanceSq(), VecDot(), and VecSubtract().
Referenced by TriangleFill().
|
static |
References PROFILER_UPDATE.
Referenced by ug::bridge::RegisterBridge_Profiler().
void ug::UpdateTotalMem | ( | ) |
The profiling process only calcs the selfMemory of each Profile Node. This function calcs the total mem of each profile node.
References CalcTotalMem(), EnableMemTracker(), and totalmem.
|
inline |
References CalculateTriangleNormalNoNormalize(), p, RayTriangleIntersection(), TriangleArea(), and VecDistanceSq().
Referenced by ReplaceLowValenceVertices(), and ReplaceValence3Vertices().
|
inline |
diagonal is always assumed to be between c0 and c2
References CalculateTriangleNormalNoNormalize(), p, RayTriangleIntersection(), TriangleArea(), VecAdd(), and VecDistanceSq().
Referenced by ReplaceLowValenceVertices().
bool ug::Vanka_step | ( | const Matrix_type & | A, |
Vector_type & | x, | ||
const Vector_type & | b, | ||
number | relax | ||
) |
References InverseMatMult(), MatMultAdd(), MAXBLOCKSIZE, s, ug::DenseMatrix< TStorage >::subassign(), and UG_THROW.
Referenced by ug::Vanka< TAlgebra >::step().
|
inline |
component-wise comparison of a vector (in the absolute values) with a given number
References s.
|
inline |
component-wise comparison of two vectors (in the absolute values)
Referenced by ug::BaseReferenceMapping< dim, worldDim, isLinear, TImpl >::global_to_local().
|
inline |
|
inline |
sets dest = v1 entrywise
Referenced by VecAssign().
void ug::VecBroadcast | ( | TVector * | pVecDest, |
const TVector * | pVecSrc, | ||
const IndexLayout & | slaveLayoutDest, | ||
const IndexLayout & | masterLayoutSrc, | ||
pcl::InterfaceCommunicator< IndexLayout > * | pCom = NULL |
||
) |
broadcasts all values from master indices to slave values in a second vector
This function broadcasts the master values from a source vector to the slave values of a second vector. Slave values are overwritten. A InterfaceCommunicator is created iff no communicator passed.
[out] | pVecDest | destination Parallel Vector |
[in] | pVecSrc | source Parallel Vector |
[in] | masterLayouDest | Master Layout |
[in] | slaveLayoutSrc | Slave Layout |
[in] | pCom | Parallel Communicator |
References pcl::InterfaceCommunicator< TLayout >::communicate(), PROFILE_FUNC_GROUP, pcl::InterfaceCommunicator< TLayout >::receive_data(), and pcl::InterfaceCommunicator< TLayout >::send_data().
Referenced by ug::PrimalSubassembledMatrixInverse< TAlgebra >::apply_return_defect().
|
inline |
returns the squared distance of two MathVector<N>s.
References MatVecMult(), VecDot(), and VecSubtract().
|
inline |
component-wise product: vOut_i = v1_i*v2_i
component-wise product
Referenced by ComputeElementExtensionsSq(), and ComputeElementExtensionsSqForEdges().
|
inline |
component-wise square root: \(o_i=\sqrt {v_i}\)
component-wise square root
|
inline |
calculates elementwise exp
Referenced by VecExp().
|
inline |
References VecExp().
|
inline |
References VecExp().
void ug::VecGather | ( | TVector * | pVecDest, |
const TVector * | pVecSrc, | ||
const IndexLayout & | masterLayoutDest, | ||
const IndexLayout & | slaveLayoutSrc, | ||
pcl::InterfaceCommunicator< IndexLayout > * | pCom = NULL |
||
) |
gathers all values in master indices of a second vector
This function gathers the slave values from a source vector in the master values of a second vector. Slave values are added to the current master values. A InterfaceCommunicator is created iff no communicator passed.
[out] | pVecDest | destination Parallel Vector |
[in] | pVecSrc | source Parallel Vector |
[in] | masterLayouDest | Master Layout |
[in] | slaveLayoutSrc | Slave Layout |
[in] | pCom | Parallel Communicator |
References pcl::InterfaceCommunicator< TLayout >::communicate(), PROFILE_FUNC_GROUP, pcl::InterfaceCommunicator< TLayout >::receive_data(), and pcl::InterfaceCommunicator< TLayout >::send_data().
Referenced by ug::PrimalSubassembledMatrixInverse< TAlgebra >::apply_return_defect().
|
inline |
calculates s = a * b (the Hadamard product)
Referenced by VecHadamardProd().
|
inline |
|
inline |
References VecHadamardProd().
|
inline |
checks if the given point is in the bounding box given by two other points
|
inline |
calculates elementwise log (natural logarithm)
Referenced by VecLog().
|
inline |
References VecLog().
|
inline |
References VecLog().
Referenced by ug::NeuriteProjector::average_params().
|
inline |
returns norm_2^2(a)
Referenced by ug::NeuriteProjector::average_params(), bp_defect_and_gradient(), ug::ComPol_CheckConsistency< TVector >::extract(), newton_for_bp_projection(), ug::AlgebraicConvCheck< TVector >::norm(), and SolveDeficit().
|
inline |
returns norm_2^2(a)
References VecNormSquaredAdd().
|
inline |
returns norm_2^2(a) on a given index set
References VecNormSquaredAdd().
|
inline |
|
inline |
calculates s += norm_2^2(a) on a given index set
References UG_ASSERT, and VecNormSquaredAdd().
|
inline |
calculates s += norm_2^2(a)
References VecNormSquaredAdd().
|
inline |
returns scal<a, b>
Referenced by ug::BiCGStab< TVector >::apply_return_defect(), ug::NeuriteProjector::average_params(), compute_angle(), compute_ONB(), ug::MinimalResiduumDamping< X, Y >::damping(), ug::MinimalEnergyDamping< X, Y >::damping(), ug::Vector< TValueType >::dotprod(), ug::EnergyConvCheck< TVector >::energy_norm(), ug::AssembledMultiGridCycle< TDomain, TAlgebra >::log_debug_data(), pos_in_bp(), pos_on_surface_tip(), ug::IVector_AlgebraDownCastTo< TVec >::vec_prod(), ug::FetiLayouts< TAlgebra >::vec_prod_on_identified_dual(), and VecProd().
|
inline |
computes scal<a, b>
References s.
|
inline |
|
inline |
returns scal<a, b>
References VecProdAdd().
|
inline |
returns scal<a, b> on a given index set
References VecProd().
|
inline |
calculates s += scal<a, b>
References VecProdAdd().
|
inline |
calculates s += scal<a, b> on a given index set
References UG_ASSERT, and VecProdAdd().
|
inline |
|
inline |
References s, and VecProdAdd().
|
inline |
calculates dest = alpha1*v1 + alpha2*v2. for doubles
|
inline |
calculates dest = alpha1*v1 + alpha2*v2 + alpha3*v3. for doubles
|
inline |
|
inline |
|
inline |
calculates dest = alpha1*v1 + alpha2*v2
References VecScaleAdd().
|
inline |
calculates dest = alpha1*v1 + alpha2*v2 + alpha3*v3
References VecScaleAdd().
|
inline |
calculates dest = alpha1*v1 + alpha2*v2 on a given index set
References UG_ASSERT, and VecScaleAdd().
|
inline |
calculates dest = alpha1*v1 + alpha2*v2 + alpha3*v3 on a given index set
References UG_ASSERT, and VecScaleAdd().
|
inline |
calculates dest = alpha1*v1. for doubles
Referenced by ug::bridge::AlgebraCommon::VecScaleAddClass< TAlgebra >::assign(), ug::MapSparseMatrix< TValueType >::axpy(), ug::SparseMatrix< TValueType >::axpy_transposed(), ug::MapSparseMatrix< TValueType >::axpy_transposed(), Axpy_transposedCommonSparseMatrix(), AxpyCommonSparseMatrix(), ComputeDifferenceOnDeltaTransposed(), MatMult(), MatMultAdd(), ug::mat_operations_class< vector_t, matrix_t, MATRIX_USE_ROW_FUNCTIONS >::MatMultAdd(), MatMultAddDirect(), MatMultTransposedAdd(), ug::FetiLayouts< TAlgebra >::vec_scale_assign_on_dual(), ug::FetiLayouts< TAlgebra >::vec_scale_assign_on_primal(), VecScaleAssign(), and VectorAssign().
|
inline |
|
inline |
calculates dest = alpha1*v1
References VecScaleAssign().
|
inline |
calculates dest = alpha1*v1 on a given index set
References UG_ASSERT, and VecScaleAssign().
|
inline |
|
inline |
|
inline |
|
inline |
References alpha.
|
inline |
References alpha.
|
inline |
transforms x += X1 into x = (1.0)*X1 + (1.0)*x
|
inline |
|
inline |
v = Mv
References ug::MatVec_Expression< L, R >::alpha, ug::MatVec_Expression< L, R >::l, MatMult(), and ug::MatVec_Expression< L, R >::r.
|
inline |
v = v
References getScaling(), getVector(), and VecScaleAssign().
|
inline |
v = x + v + Mv -> v = x + Mv + v v = v + v + Mv v = Mv + v + Mv
References VectorAssign().
|
inline |
References ug::TE_AMV_X< A >::cast(), and VectorAssign().
|
inline |
v = Mv + Mv
References ug::MatVec_Expression< L, R >::alpha, ug::MatVec_Expression< L, R >::l, MatMultAdd(), and ug::MatVec_Expression< L, R >::r.
|
inline |
v = Mv + Mv + v
References ug::MatVec_Expression< L, R >::alpha, getScaling(), getVector(), ug::MatVec_Expression< L, R >::l, MatMultAdd(), and ug::MatVec_Expression< L, R >::r.
Referenced by ug::DenseVector< TStorage >::assign(), VectorAssign(), and VectorSub().
|
inline |
v = Mv + v
References ug::MatVec_Expression< L, R >::alpha, getScaling(), getVector(), ug::MatVec_Expression< L, R >::l, MatMultAdd(), and ug::MatVec_Expression< L, R >::r.
|
inline |
v = Mv + v + v
References ug::MatVec_Expression< L, R >::alpha, getScaling(), getVector(), ug::MatVec_Expression< L, R >::l, MatMultAdd(), and ug::MatVec_Expression< L, R >::r.
|
inline |
|
inline |
v = v + Mv
References VectorAssign().
|
inline |
v = v + v + v
References getScaling(), getVector(), and VecScaleAdd().
|
inline |
v = v + Mv + X -> v = Mv + v + X v = v + Mv + v v = v + Mv + Mv
References VectorAssign().
|
inline |
v = v + v
References getScaling(), getVector(), and VecScaleAdd().
|
inline |
transforms x -= X1 into x = (-1.0)*X1 + (1.0)*x
References VectorAssign().
UG_API bool ug::VertexGroupsMatch | ( | const IVertexGroup * | elem, |
const IVertexGroup & | desc | ||
) |
Checks whether two vertex groups contain the same vertices.
Typical use case: The first vertex group is an element, the other is a descriptor. In that capacity, this function works like the CompareVertex functions; but it is a tad more general and works also with, e.g., CustomVertexGroups.
References ug::IVertexGroup::num_vertices(), and ug::IVertexGroup::vertices().
UG_API bool ug::VertexGroupsMatch | ( | const Vertex * | elem, |
const IVertexGroup & | desc | ||
) |
specialization of VertexGroupsMatch for single Vertex
References ug::IVertexGroup::num_vertices(), and ug::IVertexGroup::vertex().
void ug::VisitAll | ( | const TIter | begin, |
const TIter | end, | ||
boost::function< void(typename TIter::value_type)> | visitorCallback | ||
) |
Visits all elements between begin and end and executes the visitorCallback on them.
void ug::VisitAreaBoundary | ( | Grid & | g, |
const TIter | begin, | ||
const TIter | end, | ||
boost::function< bool(typename TIter::value_type)> | cbBelongsToArea, | ||
boost::function< void(typename Pointer2Value< typename TIter::value_type >::type::side)> | cbVisitSide | ||
) |
Visits all boundary elements of the area specified through the iterators.
WARNING: This method uses Grid::mark TIter::value_type has to be compatible to Edge*, Face* or Volume*. Lets say that TIter::value_type equals TElem*.
You have to specify a callback cbBelongsToArea with the signature 'void (TElem*)'. which tells for each element of TIter::value_type, whether it lies in the area or not. Note that this callback should optimally return true for all elements between begin and end, and false for all other elements.
You furthermore have to specify a callback cbVisitSide, with the signature 'void (TElem::side*)'. This callback is executed for all sides of the given area.
References ug::Grid::begin_marking(), CollectAssociated(), ug::Grid::is_marked(), and ug::Grid::mark().
void ug::vtk_export_ho | ( | SmartPtr< TGridFunction > | u, |
const std::vector< std::string > & | vFct, | ||
size_t | order, | ||
SmartPtr< VTKOutput< TGridFunction::domain_type::dim > > | vtkOutput, | ||
const char * | filename | ||
) |
References vtk_export_ho().
void ug::vtk_export_ho | ( | SmartPtr< TGridFunction > | u, |
const std::vector< std::string > & | vFct, | ||
size_t | order, | ||
SmartPtr< VTKOutput< TGridFunction::domain_type::dim > > | vtkOutput, | ||
const char * | filename, | ||
const std::vector< std::string > & | vSubset | ||
) |
References vtk_export_ho().
void ug::vtk_export_ho | ( | SmartPtr< TGridFunction > | u, |
const std::vector< std::string > & | vFct, | ||
size_t | order, | ||
SmartPtr< VTKOutput< TGridFunction::domain_type::dim > > | vtkOutput, | ||
const char * | filename, | ||
size_t | step, | ||
number | time | ||
) |
References vtk_export_ho().
void ug::vtk_export_ho | ( | SmartPtr< TGridFunction > | u, |
const std::vector< std::string > & | vFct, | ||
size_t | order, | ||
SmartPtr< VTKOutput< TGridFunction::domain_type::dim > > | vtkOutput, | ||
const char * | filename, | ||
size_t | step, | ||
number | time, | ||
const std::vector< std::string > & | vSubset | ||
) |
export a solution from a high-order ansatz space to vtk file(s)
This function will create a temporary domain, copy all elements from the domain which the grid function u is defined on to the temporary domain and then refine the resulting grid until it has at least as many vertices as the original grid functions has unknowns (e.g. a grid for a function of order 2 would be refined once, a grid for a function of order 4 would be refined twice, and so on). After refinement, a temporary grid function of order 1 (Lagrange) is defined on the refined grid and its values interpolated from the original function u. The temporary first-order grid function is then exported to vtk using the usual mechanisms.
u | original high-order grid function to be exported |
vFct | vector of function names (contained in grid function) to be exported |
order | order to be used |
vtkOutput | VTKOutput object to use for export of linearized function |
filename | file name to be used in export |
References ug::SubsetGroup::add(), ug::SubsetGroup::add_all(), dim, ug::Grid::num_edges(), ug::Grid::num_faces(), ug::Grid::num_vertices(), ug::Grid::num_volumes(), and UG_CATCH_THROW.
void ug::vtk_export_ho | ( | SmartPtr< TGridFunction > | u, |
const std::vector< std::string > & | vFct, | ||
size_t | order, | ||
SmartPtr< VTKOutput< TGridFunction::domain_type::dim > > | vtkOutput, | ||
const char * | filename, | ||
size_t | step, | ||
number | time, | ||
const SubsetGroup & | ssg | ||
) |
|
inline |
References g_bNoNANCheck, IsFiniteAndNotTooBig(), and UG_LOG.
void ug::WeightedEdgeSmooth | ( | Grid & | grid, |
TIterator | vrtsBegin, | ||
TIterator | vrtsEnd, | ||
AAPosVRT & | aaPos, | ||
number | alpha, | ||
int | numIterations, | ||
Grid::vertex_traits::callback | cbSmoothVertex | ||
) |
vertices which will not be smoothed get a special weight when being considered during smoothing of neighbored vertices.
Make sure that cbSmoothVertex returns true for exactly all those vertices, which in the range of the specified iterators.
References alpha, ug::Grid::associated_elements(), GetConnectedVertex(), ug::PointerConstArray< TPtr >::size(), VecAdd(), VecLengthSq(), VecSet(), and VecSubtract().
void ug::WeightedFaceSmooth | ( | Grid & | grid, |
TIterator | vrtsBegin, | ||
TIterator | vrtsEnd, | ||
AAPosVRT & | aaPos, | ||
number | alpha, | ||
int | numIterations, | ||
Grid::vertex_traits::callback | cbSmoothVertex | ||
) |
vertices which will not be smoothed get a special weight when being considered during smoothing of neighbored vertices.
Make sure that cbSmoothVertex returns true for exactly all those vertices, which in the range of the specified iterators.
References alpha, ug::Grid::associated_elements(), CalculateVolume(), GetConnectedEdge(), ug::FaceVertices::num_vertices(), ug::PointerConstArray< TPtr >::size(), VecAdd(), VecScaleAdd(), VecSet(), VecSubtract(), and ug::EdgeVertices::vertex().
void ug::WeightedNormalSmooth | ( | Grid & | grid, |
TIterator | vrtsBegin, | ||
TIterator | vrtsEnd, | ||
AAPosVRT & | aaPos, | ||
number | alpha, | ||
number | dotThreshold, | ||
int | numIterations | ||
) |
The higher the dot-product between an outgoing edge and the vertex normal, the higher the influence of that edge during smoothing of that vertex.
References alpha, ug::Grid::associated_elements(), CalculateVertexNormal(), GetConnectedVertex(), ug::PointerConstArray< TPtr >::size(), VecDot(), VecNormalize(), and VecSet().
void ug::WriteAlgebraIndices | ( | std::string | name, |
ConstSmartPtr< TDomain > | domain, | ||
ConstSmartPtr< DoFDistribution > | dd | ||
) |
References ug::ConnectionViewer::GetParallelName(), name, and PROFILE_FUNC_GROUP.
Referenced by WriteMatrixToConnectionViewer(), and WriteVectorToConnectionViewer().
void ug::WriteCallLog | ( | const char * | filename | ) |
Referenced by ug::bridge::RegisterBridge_Profiler().
void ug::WriteCallLog | ( | const char * | filename, |
int | procId | ||
) |
|
static |
References ug::EdgeVertices::vertex().
Referenced by SaveGridToOBJ().
|
static |
References ug::FaceVertices::num_vertices(), and ug::FaceVertices::vertex().
Referenced by SaveGridToOBJ().
|
static |
References GHC_HEADER_BEGIN, GHC_HEADER_END, GHC_READ_OPTIONS, ug::GridHeader::m_readOptions, and ug::BinaryBuffer::write().
Referenced by SerializeGridElements(), and SerializeMultiGridElements().
|
static |
writes an *lgm file
References ug::TElemSelector< TBaseElem >::begin(), ug::GridSubsetHandler::begin(), ug::Grid::begin_marking(), ug::Selector::clear(), CollectEdges(), ug::TElemSelector< TBaseElem >::end(), ug::GridSubsetHandler::end(), ug::Grid::end_marking(), GetFirstRegularVertex(), GetRightLeftUnitIndex(), ug::Grid::is_marked(), ug::ISelector::is_selected(), LOG, ug::Grid::mark(), ug::SubsetInfo::name, ug::ISubsetHandler::num_subsets(), ug::FaceVertices::num_vertices(), ug::CustomTriangle< ConcreteTriangleType, BaseClass, RefTriType, RefQuadType >::num_vertices(), ug::ISelector::select(), ug::ISubsetHandler::subset_info(), UG_LOG, ug::EdgeVertices::vertex(), ug::FaceVertices::vertex(), ug::CustomTriangle< ConcreteTriangleType, BaseClass, RefTriType, RefQuadType >::vertex(), and ug::CustomQuadrilateral< ConcreteQuadrilateralType, BaseClass, RefTriType, RefQuadType >::vertex().
Referenced by ExportGridToUG().
void ug::WriteMatrixToConnectionViewer | ( | const char * | filename, |
const typename TFunction::algebra_type::matrix_type & | A, | ||
const TFunction & | u | ||
) |
References dim, ExtractPositions(), FileTypeIs(), PROFILE_FUNC_GROUP, UG_THROW, WriteAlgebraIndices(), and ug::ConnectionViewer::WriteMatrixPar().
Referenced by SaveMatrixForConnectionViewer().
|
static |
writes an *ng file
References ug::Grid::associated_faces_begin(), ug::Grid::associated_faces_end(), ug::TElemSelector< TBaseElem >::begin(), ug::GridSubsetHandler::begin(), CollectFaces(), ug::TElemSelector< TBaseElem >::end(), ug::GridSubsetHandler::end(), ug::ISubsetHandler::get_subset_index(), GetFirstRegularVertex(), GetVertexIndex(), ug::Selector::num(), ug::ISubsetHandler::num_subsets(), ug::FaceVertices::num_vertices(), ug::VolumeVertices::num_vertices(), UG_LOG, ug::FaceVertices::vertex(), and ug::VolumeVertices::vertex().
Referenced by ExportGridToUG().
|
static |
void ug::WriteProfileDataXML | ( | const char * | filename | ) |
Writes profile data of process 0 to the specified file.
Referenced by ug::bridge::RegisterBridge_Profiler().
void ug::WriteProfileDataXML | ( | const char * | filename, |
int | procId | ||
) |
Writes profile data to the specified file.
Writes profile data of all procs (procId == -1) or of specified proc (procId >= 0) to the specified file
|
static |
References ug::ISelector::get_selection_status(), s, and ug::BinaryBuffer::write().
Referenced by SerializeSelector().
|
static |
References ug::ISubsetHandler::get_subset_index(), and ug::BinaryBuffer::write().
Referenced by SerializeSubsetHandler().
void ug::WriteVectorCSV | ( | const char * | filename, |
const typename TFunction::algebra_type::vector_type & | b, | ||
const TFunction & | u | ||
) |
References dim, ExtractPositions(), FileTypeIs(), name, pcl::ProcRank(), PROFILE_FUNC_GROUP, UG_THROW, and WriteVectorCSV().
void ug::WriteVectorCSV | ( | const char * | filename, |
const Vector_type & | b, | ||
postype * | positions, | ||
int | dimensions | ||
) |
writes to a file in somewhat SparseMatrix-market format (for connection viewer)
filename | Filename to write matrix to |
b | Vector |
positions | Positions, there has to be one position for each i in (0, ..., max(A.num_rows(), A.num_cols())). |
dimensions | Dimensions of Positions |
Referenced by SaveVectorCSV(), and WriteVectorCSV().
void ug::WriteVectorToConnectionViewer | ( | const char * | filename, |
const typename TFunction::algebra_type::matrix_type & | A, | ||
const typename TFunction::algebra_type::vector_type & | b, | ||
const TFunction & | u, | ||
const typename TFunction::algebra_type::vector_type * | pCompareVec = NULL |
||
) |
References dim, ExtractPositions(), FileTypeIs(), PROFILE_FUNC_GROUP, UG_THROW, and ug::ConnectionViewer::WriteVectorPar().
void ug::WriteVectorToConnectionViewer | ( | const char * | filename, |
const typename TFunction::algebra_type::vector_type & | b, | ||
const TFunction & | u, | ||
const typename TFunction::algebra_type::vector_type * | pCompareVec = NULL |
||
) |
References dim, ExtractPositions(), FileTypeIs(), PROFILE_FUNC_GROUP, UG_THROW, WriteAlgebraIndices(), and ug::ConnectionViewer::WriteVectorPar().
Referenced by SaveVectorDiffForConnectionViewer(), and SaveVectorForConnectionViewer().
string ug::XMLStringEscape | ( | string | s | ) |
References ReplaceAll(), and s.
Referenced by ug::bridge::RegisterBridge_Misc().
void ug::zgetrf_ | ( | lapack_int * | m, |
lapack_int * | n, | ||
std::complex< lapack_double > * | pColMajorMatrix, | ||
lapack_int * | lda, | ||
lapack_int * | ipiv, | ||
lapack_int * | info | ||
) |
Referenced by getrf().
void ug::zgetrs_ | ( | char * | trans, |
lapack_int * | n, | ||
lapack_int * | nrhs, | ||
const std::complex< lapack_double > * | pColMajorMatrix, | ||
lapack_int * | lda, | ||
const lapack_int * | ipiv, | ||
std::complex< lapack_double > * | b, | ||
lapack_int * | ldb, | ||
lapack_int * | info | ||
) |
size_t ug::allocated = 0 |
Referenced by get_mem().
The standard 3d normal type.
Referenced by LoadMarkerPointsFromFile().
The standard 3d position type.
Referenced by AdjustEdgeLength(), ApplySmoothSubdivisionVolumesToTopLevel(), ApplySmoothVolumePosToTopLevel(), AssignSubsetsByQuality(), CalculateConstrainedSmoothVolumePosInTopLevel(), CalculateSmoothVolumePosInTopLevel(), ug::FileReaderSWC::create_grid(), ug::bridge::CreateSmoothHierarchy(), DistributeExpansionMarks3D(), ExpandFractures2d(), ExpandFractures2dArte(), ExpandFractures3d(), ExportGridToSWC(), ExportGridToUG(), ExportGridToUG_2D(), ExtrudeCylinder(), GenerateIcosphere(), GetDefaultPositionAttachment< APosition >(), GetGridObjectCenter(), ug::ArteExpandFracs3D::initialize(), ug::NeuriteProjector::IsElementInsideSphere(), LoadGridFromFile(), LoadGridFromUGX(), LoadGridFromVTU(), LoadMarkerPointsFromFile(), ProjectToLimitLoop(), ug::IRefiner::refine(), Refine(), ResolveTriangleIntersections(), SaveGridHierarchyTransformed(), SaveGridLevelToFile(), SaveGridToFile(), SaveGridToUGX(), SaveParallelGridLayout(), SaveSurfaceViewTransformed(), SelectLinkedFlatAndDegeneratedFaces(), SelectLinkedFlatFaces(), SeparateRegions(), SplitOctahedronToTetrahedrons(), TestGridLayoutMap(), ug::bridge::TestNTree(), TetrahedralizeHybridTetOctGrid(), and TriangleFill().
UG_API APosition1 ug::aPosition1 | ( | "position2" | , |
true | |||
) |
The standard 1d position type.
Referenced by ug::bridge::CreateSmoothHierarchy(), GetDefaultPositionAttachment< APosition1 >(), GetGridObjectCenter(), LoadGridFromUGX(), LoadGridFromVTU(), SaveGridHierarchyTransformed(), SaveGridLevelToFile(), SaveGridToFile(), SaveGridToUGX(), SaveParallelGridLayout(), SaveSurfaceViewTransformed(), and TestGridLayoutMap().
UG_API APosition2 ug::aPosition2 | ( | "position2" | , |
true | |||
) |
The standard 2d position type.
Referenced by ug::bridge::CreateSmoothHierarchy(), GetDefaultPositionAttachment< APosition2 >(), GetGridObjectCenter(), LoadGridFromUGX(), LoadGridFromVTU(), SaveGridHierarchyTransformed(), SaveGridLevelToFile(), SaveGridToFile(), SaveGridToUGX(), SaveParallelGridLayout(), SaveSurfaceViewTransformed(), and TestGridLayoutMap().
bool ug::bMemTracker =false |
Referenced by DisplayVacantMemory(), EnableMemTracker(), get_mem(), IsMemTrackerEnabled(), and release_mem().
const int ug::BOXPRIORITYQUEUE2_MAXIMAL_VALUE = 500 |
maximal value for T::get_val(). Keep in mind that memory requirements are O(max get_val()).
Referenced by ug::BoxPriorityQueue2< T >::insert_item().
const int ug::BOXPRIORITYQUEUE_MAXIMAL_VALUE = 500 |
maximal value for T::get_val(). Keep in mind that memory requirements are O(max get_val()).
Referenced by ug::BoxPriorityQueue< T >::insert_item(), and ug::BoxPriorityQueue2< T >::insert_item().
std::vector<ProfileCall> ug::callsOnHold |
Referenced by FinishShinyCallLogging(), ShinyCallLoggingEnd(), and ShinyCallLoggingStart().
const unsigned int ug::cost_del = 1 |
Referenced by LevenshteinDistance().
const unsigned int ug::cost_ins = 1 |
Referenced by LevenshteinDistance().
const unsigned int ug::cost_sub = 1 |
Referenced by LevenshteinDistance().
DebugID ug::DBG_COLORING | ( | "ParallelColoring" | ) |
Referenced by ug::ParallelColoring::color().
DebugID ug::DBG_MATRIX_OVERLAP | ( | "Algebra.MatrixOverlap" | ) |
DebugID ug::DID_CUDA | ( | "CUDA" | ) |
DebugID ug::DID_DATA_EVALUATOR("DATA_EVALUATOR") | ( | "DATA_EVALUATOR" | ) |
Referenced by ug::DataEvaluator< TDomain >::prepare_elem().
DebugID ug::DID_ELEM_DISC_ASSEMBLE_UTIL | ( | "ELEM_DISC_ASSEMBLE_UTIL" | ) |
Referenced by ug::StdGlobAssembler< TDomain, TAlgebra >::AssembleLinear().
DebugID ug::DID_FV1_GEOM("FV1_GEOM") | ( | "FV1_GEOM" | ) |
DebugID ug::DID_LOCAL_FINITE_ELEMENT_PROVIDER("LOCAL_FINITE_ELEMENT_PROVIDER") | ( | "LOCAL_FINITE_ELEMENT_PROVIDER" | ) |
Referenced by ug::LocalFiniteElementProvider::create_lagrange_set().
DebugID ug::DID_LUACOMPILER | ( | "LUACompiler" | ) |
DebugID ug::DID_REFERENCE_MAPPING("REFERENCE_MAPPING") |
DebugID ug::DID_REFERENCE_MAPPING_GLOB_TO_LOC("REFERENCE_MAPPING_GLOB_TO_LOC") |
bool ug::g_bNoNANCheck = true |
Referenced by ThrowIfIsVectorNanOrTooBig(), and WarnIfIsVectorNanOrTooBig().
|
static |
global boundary refinement rule variable for switching between linear and Subdivision Loop refinement
Referenced by ApplySmoothSubdivisionSurfacesToTopLevel(), ApplySmoothSubdivisionVolumesToTopLevel(), ApplySmoothVolumePosToTopLevel(), CalculateConstrainedSmoothVolumePosInTopLevel(), CalculateSmoothVolumePosInTopLevel(), GetBoundaryRefinementRule(), and SetBoundaryRefinementRule().
size_t ug::g_minSecondUntilProgress = 3 |
Referenced by ug::Progress::Progress(), and ug::bridge::SetMinSecondsUntilProgress().
int ug::g_ShinyCallLoggingMaxFreq = 1 |
Referenced by CheckEnoughTimePassedToNow(), and SetShinyCallLoggingMaxFrequency().
const char * ug::GRID_BASE_OBJECT_PLURAL_NAMES = {"vertices", "edges", "faces", "volume"} |
const char * ug::GRID_BASE_OBJECT_SINGULAR_NAMES = {"vertex", "edge", "face", "volume"} |
|
static |
Each line corresponds to one element. First entry of each line corresponds to the number of vertices, the other entries to the vertex index according to TKDInfo.
Referenced by ug::TKDInfo::inner_element_indices().
|
static |
Referenced by AddTargetProcToDistInfos(), AssignVerticalMasterAndSlaveStates(), CreateLayoutsFromDistInfos(), DistributeGrid(), FillDistInfos(), SelectAssociatedConstrainedElements(), SelectChildrenOfSelectedShadowRimEdges(), SelectChildrenOfSelectedShadowRimFaces(), SelectChildrenOfSelectedShadowVertices(), SelectElementsForTargetPartition(), SelectSelectedRootElementsAsVSlaves(), SelectUnselectedRootElementsAsVMasters(), and SynchronizeAttachedGlobalAttachments().
DebugID ug::LIB_DISC_ORDER("LIB_DISC_ORDER") | ( | "LIB_DISC_ORDER" | ) |
For Debugging:
Referenced by OrderDownwind(), and OrderDownwindForDofDist().
const int ug::MAX_FACE_VERTICES = 4 |
constant that defines the maximal number of vertices per face.
This constant is mainly used by FaceDescriptor. If required, one should be able to increase it without any problems.
Referenced by ug::IRefiner::get_local_face_mark(), ug::HangingNodeRefinerBase< TSelector >::refine_face_with_hanging_vertex(), and ug::HangingNodeRefinerBase< TSelector >::refine_face_with_normal_vertex().
const int ug::MAX_VOLUME_VERTICES = 8 |
constant that defines the maximal number of vertices per volume element.
This constant is mainly used by VolumeDescriptor.
|
static |
Referenced by Diag_Vanka_step(), ug::LineVanka< TDomain, TAlgebra >::linevanka_step(), and Vanka_step().
MemTrackerMap ug::memTracker |
Referenced by DisplayVacantMemory(), get_mem(), and release_mem().
const int ug::MG_EDGE_MAX_EDGE_CHILDREN = 2 |
maximal number of edges that can be children of an edge.
Referenced by ug::MGEdgeInfo::add_child().
const int ug::MG_FACE_MAX_EDGE_CHILDREN = 4 |
maximal number of edges that can be children of a face.
Referenced by ug::MGFaceInfo::add_child().
const int ug::MG_FACE_MAX_FACE_CHILDREN = 4 |
maximal number of faces that can be children of a face.
Referenced by ug::MGFaceInfo::add_child().
|
static |
Each line corresponds to one element. First entry of each line corresponds to the number of vertices, the other entries to the vertex index according to TKDInfo.
Referenced by ug::TKDInfo::outer_element_indices().
const number ug::PI = 3.14159265358979323846264338327950288419716939937510582097494459230781640628620899 |
Referenced by ug::NeuriteProjector::average_params(), bp_defect_and_gradient(), ug::SubdivRules_PLoop::calculate_beta(), CalculateAngles(), CalculateMaxAngle(), CalculateMaxDihedral(), CalculateMinAngle(), CalculateMinDihedral(), CalculateSmoothManifoldPosInParentLevelButterflyScheme(), compute_angle(), deg_to_rad(), ug::DelaunayInfo< TAAPos >::init_marks(), ug::DelaunayInfo< TAAPos >::is_classifiable(), newton_for_bp_projection(), NormalizedChebyshev1Poly(), NormalizedChebyshev2Poly(), OrderDownwind(), rad_to_deg(), ug::SubdivRules_PLoop::ref_odd_inner_weights(), SqNormOfChebyshev1Poly(), SqNormOfChebyshev2Poly(), ug::TKDInfo::TKDInfo(), VecAngle(), and VecAngleNorm().
std::vector<ProfileCall> ug::profileCalls |
Referenced by FinishShinyCallLogging(), and ShinyCallLoggingEnd().
|
static |
Referenced by AbortRun(), ClearAbortRunFlag(), and TerminateAbortedRun().
DebugID ug::SchurDebug |
todo: replace DebugID
Referenced by ug::SchurComplementOperator< TAlgebra >::apply(), ug::SchurComplementOperator< TAlgebra >::apply_sub(), ug::SchurComplementOperator< TAlgebra >::compute_matrix(), ug::SchurPrecond< TAlgebra >::create_and_init_local_schur_complement(), ug::SchurPrecond< TAlgebra >::create_aux_vectors(), ug::SlicingData< TVec, N >::create_slice_layouts(), ug::UzawaBase< TDomain, TAlgebra >::extract_schur_update(), ug::UzawaBase< TDomain, TAlgebra >::extract_sub_matrices(), ug::SlicingData< TVec, N >::fill_set_mappings(), ug::SlicingData< TVec, N >::get_matrix(), ug::SchurComplementOperator< TAlgebra >::init(), ug::UzawaSlicing< TGridFunction >::init(), ug::UzawaBase< TDomain, TAlgebra >::init(), ug::UzawaBase< TDomain, TAlgebra >::init_in_first_step(), ug::SchurPrecond< TAlgebra >::preprocess(), ug::SlicingData< TVec, N >::replace_indices_in_layout(), ug::SlicingData< TVec, N >::reset_set_mappings(), ug::SchurPrecond< TAlgebra >::schur_solve_skeleton(), ug::SchurPrecond< TAlgebra >::schur_solver_backward(), ug::SchurPrecond< TAlgebra >::schur_solver_forward(), ug::SlicingData< TVec, N >::set_types(), ug::SchurPrecond< TAlgebra >::step(), and UG_LOG_Matrix().
map<const Shiny::ProfileNode *, size_t> ug::selfmem |
Referenced by CalcTotalMem(), GetSelfMem(), and ug::MemTrackerStruct::MemTrackerStruct().
|
static |
Referenced by ConfigShiftRotation(), and IsShiftChar().
|
static |
Referenced by ConfigShiftRotation(), and IsShiftChar().
const number ug::SMALL = 1.0e-12 |
Referenced by AdaptSurfaceGridToCylinder(), CalculateHexahedronAspectRatio(), ug::FracturedMediaRefiner< TGrid, TAPosition >::collect_objects_for_refine(), ContainsPoint(), ug::FVLineSourceOrSink< dim, TData >::corresponds_to(), CutEdgesWithPlane(), DistanceLineToLine(), DropAPerpendicular(), ExpandFractures2d(), ExpandFractures3d(), ExportGridToTIKZ(), ExtrudeLayers(), ug::LagrangeLSFS< ReferenceTriangle, TOrder >::grad(), ug::FlexLagrangeLSFS< ReferenceTriangle >::grad(), ug::LagrangeLSFS< ReferenceTetrahedron, TOrder >::grad(), ug::FlexLagrangeLSFS< ReferenceTetrahedron >::grad(), ug::LagrangeLSFS< ReferencePrism, TOrder >::grad(), ug::FlexLagrangeLSFS< ReferencePrism >::grad(), ug::DelaunayInfo< TAAPos >::init_marks(), IntersectCoplanarTriangles(), InvMatVecMult_byGivens(), ug::DelaunayInfo< TAAPos >::is_classifiable(), ug::NeuriteProjector::IsElementInsideSphere(), IsVertical(), LineLineIntersection3d(), MarkForRefinement_AnisotropicDirection(), MarkForRefinementByDirection(), NotVertical(), operator<(), ug::TIKZElem::operator<(), PartitionElements_RegularGrid(), ug::CylinderProjector::perform_projection(), ug::SomaProjector::perform_projection(), ug::SphereProjector::perform_projection(), PerformRetetrahedralization(), PerformTetrahedralization(), ug::UGXFileInfo::physical_grid_dimension(), PointIsInsideQuadrilateral(), PointIsInsideTetrahedron(), PointIsInsideTriangle(), ug::ClusterElementStacks< elem_t, vector_t >::post_process(), ProjectPointToRay(), QuadDiagonalIsValid(), QualityGridGeneration(), RayBoxIntersection(), RayCylinderIntersection(), RayRayIntersection3d(), RayRayProjection(), RaySphereIntersection(), ug::RasterLayers::relative_to_global_height(), ug::RasterLayers::relative_to_global_height_simple(), ResolveTriangleIntersections(), ug::EllipticCylinderProjector::scale_point_to_radius(), SelectEdgesByDirection(), SelectSubsetEdgesByDirection(), SlopeSmooth(), TriangleCircumcenter(), TriangleQuality_Area(), Triangulate(), and UpdateChainInfo().
Referenced by MarkForAnisotropicRefinement(), QualityGridGeneration(), RayPlaneIntersection(), and RayRayProjection().
map<const Shiny::ProfileNode *, size_t> ug::totalmem |
Referenced by CalcTotalMem(), GetTotalMem(), and UpdateTotalMem().
|
extern |
Referenced by UGBuildHost().
|
extern |
Referenced by UGCompileDate().
|
extern |
Referenced by UGGitRevision().
|
extern |
Referenced by UGSvnRevision().
const int ug::ugRefObjIdToVTKCellType[] |
Referenced by ug::GridWriterVTU::write_cells().
bool ug::useLua2VM =false |
Referenced by ug::bridge::LUACompiler::create(), ug::bridge::EnableLUA2C(), and ug::bridge::EnableLUA2VM().
bool ug::useLuaCompiler =false |
Referenced by ug::bridge::EnableLUA2C(), ug::bridge::EnableLUA2VM(), ug::LuaUserFunction< TData, dim, TDataIn >::eval_deriv(), ug::LuaUserFunction< TData, dim, TDataIn >::eval_value(), ug::LuaUserData< TData, dim, TRet >::evaluate(), ug::LuaUserData< TData, dim, TRet >::LuaUserData(), ug::LuaUserFunction< TData, dim, TDataIn >::LuaUserFunction(), ug::LuaUserFunction< TData, dim, TDataIn >::operator()(), and ug::LuaUserFunction< TData, dim, TDataIn >::set_deriv().
const char* ug::VTKCellNames[] |
Referenced by ug::GridReaderVTU::create_cells().