|
FEAT 3
Finite Element Analysis Toolbox
|
Namespaces | |
| namespace | Common |
| Assembly Common namespace. | |
Classes | |
| class | AnalyticCellProjector |
| Analytic cell projector class. More... | |
| struct | AnalyticFunctionIntegral |
| Helper class to determine the FunctionIntegralInfo type for analytic functions. More... | |
| class | AnalyticVertexProjector |
| Analytic vertex projector class. More... | |
| class | AsmTraits1 |
| Common single-space assembly traits class template. More... | |
| class | AsmTraits2 |
| Common test-/trial-space assembly traits class template. More... | |
| class | AsmTraits3 |
| Common test-/trial-/mult-space assembly traits class template. More... | |
| class | BilinearOperator |
| Base class for Bilinear Operators. More... | |
| class | BilinearOperatorAssembler |
| Bilinear Operator Assembler class template. More... | |
| class | BurgersAssembler |
| Burgers operator assembly class. More... | |
| class | BurgersAssemblerCarreau |
| Burgers operator assembly class. More... | |
| class | BurgersAssemblyJobBase |
| Base class for Burgers assembly jobs. More... | |
| class | BurgersAssemblyTaskBase |
| Base class for Burgers assembly tasks. More... | |
| class | BurgersBlockedAssemblyTaskBase |
| Base class for blocked Burgers assembly tasks. More... | |
| class | BurgersBlockedMatrixAssemblyJob |
| Burgers assembly job for block matrix. More... | |
| class | BurgersBlockedVectorAssemblyJob |
| Burgers assembly job for block right-hand-side vector. More... | |
| class | BurgersCarreauAssemblyJobBase |
| Base class for Burgers Careau assembly jobs. More... | |
| class | BurgersCarreauAssemblyTaskBase |
| Base class for Burgers assembly tasks. More... | |
| class | BurgersCarreauBlockedAssemblyTaskBase |
| Base class for blocked Burgers Carreau assembly tasks. More... | |
| class | BurgersCarreauBlockedMatrixAssemblyJob |
| Burgers Carreau assembly job for block matrix. More... | |
| class | BurgersCarreauBlockedVectorAssemblyJob |
| Burgers Carreau assembly job for block right-hand-side vector. More... | |
| class | BurgersCarreauScalarAssemblyTaskBase |
| Base class for scalar Burgers Carreau assembly tasks. More... | |
| class | BurgersCarreauScalarMatrixAssemblyJob |
| Burgers Carreau assembly job for scalar matrix. More... | |
| class | BurgersCarreauScalarVectorAssemblyJob |
| Burgers Carreau assembly job for scalar right-hand-side vector. More... | |
| class | BurgersScalarAssemblyTaskBase |
| Base class for scalar Burgers assembly tasks. More... | |
| class | BurgersScalarMatrixAssemblyJob |
| Burgers assembly job for scalar matrix. More... | |
| class | BurgersScalarVectorAssemblyJob |
| Burgers assembly job for scalar right-hand-side vector. More... | |
| class | CellErrorFunctionIntegralJob |
| Assembly job for the elementwise integration of a analytic vs discrete error function. More... | |
| class | DiscreteCellProjector |
| Discrete cell projector class. More... | |
| class | DiscreteEvaluator |
| Discrete function evaluator. More... | |
| struct | DiscreteFunctionIntegral |
| Helper class to determine the FunctionIntegralInfo type for discrete functions. More... | |
| struct | DiscreteFunctionIntegral< LAFEM::DenseVector< DT_, IT_ >, Space_ > |
| specialization for LAFEM::DenseVector coefficient vectors More... | |
| struct | DiscreteFunctionIntegral< LAFEM::DenseVectorBlocked< DT_, IT_, bs_ >, Space_ > |
| specialization for LAFEM::DenseVectorBlocked coefficient vectors More... | |
| class | DiscreteVertexProjector |
| Discrete vertex projector class. More... | |
| class | DomainAssembler |
| Domain Integral Assembler class template. More... | |
| class | DomainAssemblyAnalyticFunctionIntegralJob |
| Assembly job for the integration of an analytic function. More... | |
| class | DomainAssemblyBasicMatrixTaskCRTP1 |
| Basic Matrix assembly task CRTP base-class for identical test-/trial-space. More... | |
| class | DomainAssemblyBasicMatrixTaskCRTP2 |
| Basic Matrix assembly task CRTP base-class for (possibly different) test-/trial-spaces. More... | |
| class | DomainAssemblyBasicVectorTaskCRTP |
| Basic Vector assembly task CRTP base-class. More... | |
| class | DomainAssemblyBilinearOperatorApplyVectorJob1 |
| Vector assembly job for BilinearOperator and identical test-/trial-spaces. More... | |
| class | DomainAssemblyBilinearOperatorMatrixJob1 |
| Matrix assembly job for BilinearOperator and identical test-/trial-spaces. More... | |
| class | DomainAssemblyBilinearOperatorMatrixJob2 |
| Matrix assembly job for BilinearOperator and (possibly different) test-/trial-spaces. More... | |
| class | DomainAssemblyDiscreteFunctionIntegralJob |
| Assembly job for the integration of a discrete finite element function. More... | |
| class | DomainAssemblyErrorFunctionIntegralJob |
| Assembly job for the integration of a analytic vs discrete error function. More... | |
| class | DomainAssemblyForceFunctionalVectorJob |
| Vector assembly job for a force functional represented by an analytic function. More... | |
| class | DomainAssemblyJob |
| Interface description of a domain assembly job. More... | |
| class | DomainAssemblyLinearFunctionalVectorJob |
| Vector assembly job for LinearFunctional implementations. More... | |
| struct | FEInterpolator |
| Interpolation operator between two finite element spaces. More... | |
| struct | FEInterpolator< Space::Lagrange1::Element< Trafo_ >, Space::Lagrange2::Element< Trafo_ > > |
| Interpolator class from Lagrange2 to Lagrange1. More... | |
| struct | FEInterpolator< Space::Lagrange2::Element< Trafo_ >, Space::Lagrange1::Element< Trafo_ > > |
| Interpolator class from Lagrange1 to Lagrange2. More... | |
| struct | FEInterpolator< Space_, Space_ > |
| Interpolator class for trivial interpolator between same class. More... | |
| class | FunctionCellIntegralInfo |
| Function cell integral info class. More... | |
| class | FunctionIntegralInfo |
| Function integral info class. More... | |
| class | GradOperatorAssembler |
| Assembles the gradient operator. More... | |
| class | GradPresDivVeloAssembler |
| Grad(P)/Div(V) assembler class. More... | |
| class | GridTransfer |
| Grid-Transfer assembly class template. More... | |
| class | Interpolator |
| Interpolator class template. More... | |
| struct | Lagrange1To2DofAtEntity |
| Helper class that recurses through shape dimensions and evaluates Lagrange2 DoF based on Lagrange1 DoF. More... | |
| struct | Lagrange1To2DofAtEntity< Trafo_, 0 > |
| End of helper class template recursion. More... | |
| class | LinearFunctional |
| Base class for Linear Functionals. More... | |
| class | LinearFunctionalAssembler |
| Linear Functional Assembly class template. More... | |
| class | MatrixDiscreteEvalData |
| Discrete evaluation data for matrix-valued functions. More... | |
| class | MeanFilterAssembler |
| Mean Filter assembler class. More... | |
| class | MirrorAssembler |
| Dof-Mirror assembler class template. More... | |
| class | OldroydAssembler |
| Oldroyd-B operator assembly class. More... | |
| class | OuterNormalComputer |
| Helper class that computes a weighted outer unit normal field. More... | |
| class | RewProjector |
| Restricted Element-Wise Projection operator. More... | |
| class | ScalarDiscreteEvalData |
| Discrete evaluation data for scalar functions. More... | |
| class | ScalarErrorComputer |
| Scalar H0/H1/H2-error computer class template. More... | |
| struct | ScalarErrorInfo |
| Scalar Error information structure. More... | |
| class | SlipFilterAssembler |
| Contains routines to assemble slip filters. More... | |
| class | SpaceTransfer |
| class | StokesFBMAssembler |
| Stokes Fictitious Boundary Method assembler class. More... | |
| class | SymbolicAssembler |
| Symbolic Matrix and Graph assembler class. More... | |
| class | TraceAssembler |
| Trace Integral Assembler class template. More... | |
| class | TraceAssemblyAnalyticFunctionIntegralJob |
| Assembly job for the trace integration of an analytic function. More... | |
| class | TraceAssemblyBasicMatrixTaskCRTP1 |
| Basic Matrix trace assembly task CRTP base-class for identical test-/trial-space. More... | |
| class | TraceAssemblyBasicMatrixTaskCRTP2 |
| Basic Matrix assembly task CRTP base-class for different test-/trial-space. More... | |
| class | TraceAssemblyBasicTaskBase1 |
| Basic assembly task base class for a single finite element space without pairwise assembly support. More... | |
| class | TraceAssemblyBasicTaskBase2 |
| class | TraceAssemblyBasicVectorTaskCRTP |
| Basic Vector trace assembly task CRTP base-class. More... | |
| class | TraceAssemblyBilinearOperatorApplyVectorJob1 |
| Vector assembly job for BilinearOperator and identical test-/trial-spaces. More... | |
| class | TraceAssemblyBilinearOperatorMatrixJob1 |
| Matrix assembly job for BilinearOperator implementations and identical test-/trial-spaces. More... | |
| class | TraceAssemblyBilinearOperatorMatrixJob2 |
| Matrix assembly job for BilinearOperator implementations and different test-/trial-spaces. More... | |
| class | TraceAssemblyDiscreteFunctionIntegralJob |
| Assembly job for the trace integration of a discrete finite element function. More... | |
| class | TraceAssemblyErrorFunctionIntegralJob |
| Assembly job for the trace integration of a analytic vs discrete error function. More... | |
| class | TraceAssemblyJob |
| Interface description of a trace assembly job. More... | |
| class | TraceAssemblyJumpMassMatrixJob |
| Matrix assembly job for the mass jump operator. More... | |
| class | TraceAssemblyJumpMatrixTaskCRTP1 |
| Jump Matrix assembly task CRTP base-class for identical test-/trial-space. More... | |
| class | TraceAssemblyJumpStabilizationMatrixJob |
| Matrix assembly job for the edge-oriented jump stabilization operator. More... | |
| class | TraceAssemblyJumpTaskBase1 |
| Basic assembly task base class for a single finite element space with pairwise assembly support. More... | |
| class | TraceAssemblyLinearFunctionalVectorJob |
| Vector trace assembly job for LinearFunctional implementations. More... | |
| class | TraceAssemblyStokesBodyForceAssemblyJob |
| Assembly job for the body forces computation of a Stokes solution vector. More... | |
| class | TraceAssemblyStokesVectorAnalysisTaskCRTP |
| Basic Stokes Vector analysis task CRTP base-class. More... | |
| class | UnitFilterAssembler |
| Unit-Filter assembly class template. More... | |
| class | VectorDiscreteEvalData |
| Discrete evaluation data for vector-valued functions. More... | |
| class | VectorErrorComputer |
| Vector H0/H1/H2-error computer class template. More... | |
| struct | VectorErrorInfo |
| Vector Error information structure. More... | |
| class | VelocityAnalyser |
| Velocity field analyser class. More... | |
| struct | VelocityInfo |
| Velocity field information structure. More... | |
Enumerations | |
| enum class | ThreadingStrategy { automatic = 0 , single , layered , layered_sorted , colored } |
| Threading Strategy for multi-threaded assembler. More... | |
Functions | |
| template<typename Trafo_ , typename Vector_ , typename VectorSol_ , typename BilOp_ , typename Space_ > | |
| void | assemble_bilinear_operator_apply_vector_1 (DomainAssembler< Trafo_ > &dom_asm, Vector_ &vector, const VectorSol_ &vec_sol, const BilOp_ &bilinear_operator, const Space_ &space, const String &cubature, const typename Vector_::DataType alpha=typename Vector_::DataType(1)) |
| Assembles the application of a bilinear operator into a vector with identical test- and trial-spaces. More... | |
| template<typename Trafo_ , typename Vector_ , typename VectorSol_ , typename BilOp_ , typename Space_ > | |
| void | assemble_bilinear_operator_apply_vector_1 (TraceAssembler< Trafo_ > &trace_asm, Vector_ &vector, const VectorSol_ &vec_sol, const BilOp_ &bilinear_operator, const Space_ &space, const String &cubature, const typename Vector_::DataType alpha=typename Vector_::DataType(1)) |
| Assembles the application of a bilinear operator into a vector with identical test- and trial-spaces. More... | |
| template<typename Trafo_ , typename Matrix_ , typename BilOp_ , typename Space_ > | |
| void | assemble_bilinear_operator_matrix_1 (DomainAssembler< Trafo_ > &dom_asm, Matrix_ &matrix, const BilOp_ &bilinear_operator, const Space_ &space, const String &cubature, const typename Matrix_::DataType alpha=typename Matrix_::DataType(1)) |
| Assembles a bilinear operator into a matrix with identical test- and trial-spaces. More... | |
| template<typename Trafo_ , typename Matrix_ , typename BilOp_ , typename Space_ > | |
| void | assemble_bilinear_operator_matrix_1 (TraceAssembler< Trafo_ > &trace_asm, Matrix_ &matrix, const BilOp_ &bilinear_operator, const Space_ &space, const String &cubature, const typename Matrix_::DataType alpha=typename Matrix_::DataType(1)) |
| Assembles a bilinear operator into a matrix with identical test- and trial-spaces. More... | |
| template<typename Trafo_ , typename Matrix_ , typename BilOp_ , typename TestSpace_ , typename TrialSpace_ > | |
| void | assemble_bilinear_operator_matrix_2 (DomainAssembler< Trafo_ > &dom_asm, Matrix_ &matrix, const BilOp_ &bilinear_operator, const TestSpace_ &test_space, const TrialSpace_ &trial_space, const String &cubature, const typename Matrix_::DataType alpha=typename Matrix_::DataType(1)) |
| Assembles a bilinear operator into a matrix with different test- and trial-spaces. More... | |
| template<typename Trafo_ , typename Matrix_ , typename BilOp_ , typename TestSpace_ , typename TrialSpace_ > | |
| void | assemble_bilinear_operator_matrix_2 (TraceAssembler< Trafo_ > &trace_asm, Matrix_ &matrix, const BilOp_ &bilinear_operator, const TestSpace_ &test_space, const TrialSpace_ &trial_space, const String &cubature, const typename Matrix_::DataType alpha=typename Matrix_::DataType(1)) |
| Assembles a bilinear operator into a matrix with different test- and trial-spaces. More... | |
| template<typename Trafo_ , typename Vector_ , typename Function_ , typename Space_ > | |
| void | assemble_force_function_vector (DomainAssembler< Trafo_ > &dom_asm, Vector_ &vector, const Function_ &function, const Space_ &space, const String &cubature, const typename Vector_::DataType alpha=typename Vector_::DataType(1)) |
| Assembles a force function into a vector. More... | |
| template<typename Trafo_ , typename Matrix_ , typename Space_ > | |
| void | assemble_jump_mass_matrix (TraceAssembler< Trafo_ > &trace_asm, Matrix_ &matrix, const Space_ &space, const String &cubature, const typename Matrix_::DataType alpha=typename Matrix_::DataType(1)) |
| Assembles mass jump operator into a matrix. More... | |
| template<typename Trafo_ , typename Matrix_ , typename Space_ > | |
| void | assemble_jump_stabilization_matrix (TraceAssembler< Trafo_ > &trace_asm, Matrix_ &matrix, const Space_ &space, const String &cubature, const typename Matrix_::DataType gamma=typename Matrix_::DataType(1), const typename Matrix_::DataType jacdet_scale=typename Matrix_::DataType(2), const typename Matrix_::DataType jacdet_power=typename Matrix_::DataType(2)) |
| Assembles edge-oriented jump stabilization operator into a matrix. More... | |
| template<typename Trafo_ , typename Vector_ , typename LinFunc_ , typename Space_ > | |
| void | assemble_linear_functional_vector (DomainAssembler< Trafo_ > &dom_asm, Vector_ &vector, const LinFunc_ &linear_functional, const Space_ &space, const String &cubature, const typename Vector_::DataType alpha=typename Vector_::DataType(1)) |
| Assembles a linear functional into a vector. More... | |
| template<typename Trafo_ , typename Vector_ , typename LinFunc_ , typename Space_ > | |
| void | assemble_linear_functional_vector (TraceAssembler< Trafo_ > &trace_asm, Vector_ &vector, const LinFunc_ &linear_functional, const Space_ &space, const String &cubature, const typename Vector_::DataType alpha=typename Vector_::DataType(1)) |
| Assembles a linear functional into a vector. More... | |
| template<int max_der_, typename DataType_ , typename Trafo_ , typename Function_ > | |
| AnalyticFunctionIntegral< DataType_, Function_ >::Type | integrate_analytic_function (DomainAssembler< Trafo_ > &dom_asm, const Function_ &function, const String &cubature) |
| Assembles the integral of an analytic function. More... | |
| template<int max_der_, typename DataType_ , typename Function_ , typename Trafo_ > | |
| AnalyticFunctionIntegral< DataType_, Function_ >::Type | integrate_analytic_function (TraceAssembler< Trafo_ > &trace_asm, const Function_ &function, const String &cubature) |
| Assembles the trace integral of an analytic function. More... | |
| template<int max_der_, typename Vector_ , typename Trafo_ , typename Space_ > | |
| DiscreteFunctionIntegral< Vector_, Space_ >::Type | integrate_discrete_function (DomainAssembler< Trafo_ > &dom_asm, const Vector_ &vector, const Space_ &space, const String &cubature) |
| Assembles the integral of a discrete finite element function. More... | |
| template<int max_der_, typename Vector_ , typename Trafo_ , typename Space_ > | |
| DiscreteFunctionIntegral< Vector_, Space_ >::Type | integrate_discrete_function (TraceAssembler< Trafo_ > &trace_asm, const Vector_ &vector, const Space_ &space, const String &cubature) |
| Assembles the integral of a discrete finite element function. More... | |
| template<int max_der_, typename Function_ , typename Vector_ , typename Trafo_ , typename Space_ > | |
| DiscreteFunctionIntegral< Vector_, Space_ >::Type | integrate_error_function (DomainAssembler< Trafo_ > &dom_asm, const Function_ &function, const Vector_ &vector, const Space_ &space, const String &cubature) |
| Assembles the integral of an (analytic - discrete) error function. More... | |
| template<int max_der_, typename Function_ , typename Vector_ , typename Trafo_ , typename Space_ > | |
| DiscreteFunctionIntegral< Vector_, Space_ >::Type | integrate_error_function (TraceAssembler< Trafo_ > &trace_asm, const Function_ &function, const Vector_ &vector, const Space_ &space, const String &cubature) |
| Assembles the trace integral of an (analytic - discrete) error function. More... | |
Assembly namespace.
|
strong |
Threading Strategy for multi-threaded assembler.
This enumeration defines the various threading strategies supported by the DomainAssembler class template.
| Enumerator | |
|---|---|
| automatic | Automatic threading strategy. This is the recommended default threading strategy. This value specifies that the domain assembler should choose an appropriate threading strategy for the given number of maximum worker threads however it sees fit. In its current implementation, the domain assembler will automatically choose the strategy based on the following criterions:
|
| single | Single-Threaded strategy. This strategy corresponds to the single-threading approach, i.e. no multi-threading is performed. |
| layered | Layered threading strategy. This strategy performs a (reverse) Cuthill-McKee ordering of the mesh elements to obtain a sequence of element layers which can be processed in parallel. By construction of the Cuthill-McKee layers, race conditions can only appear within two adjacent element layers, so it is sufficient to ensure that no two threads process two adjacent layers at the same time. Example: +---+---+---+---+---+ | E | E | E | E | E | +---+---+---+---+---+ | D | D | D | D | E | +---+---+---+---+---+ | C | C | C | D | E | +---+---+---+---+---+ | B | B | C | D | E | +---+---+---+---+---+ | A | B | C | D | E | +---+---+---+---+---+ In a two-threaded assembly, the first thread may process the layers E and D, where as the second thread may process the layers C, B, and A. The only critical section are the two adjacent layers D and C, which may not be processed at the same time by the two threads. To avoid race conditions here, the second thread will notify the first thread once it has finished processing its first layer C, so that the first thread may proceed to process its last layer D. In the general case, each thread is assigned 2 or more adjacent Cuthill-McKee layers, so that the only required interaction between threads takes place at the adjacent layers of two adjacent threads. Just as in the simple example above, each thread notifies its preceding thread once it has finished processing its first layer and each thread has to wait for notification from its succeeding thread before its starts processing its last layer to avoid race conditions on adjacent layers. |
| layered_sorted | Layered + sorted threading strategy. This threading strategy is mostly identical to the (simple) layered strategy, where the only difference is that all entities in each layer are sorted by ascending degree, i.e. by the number of neighbor entities. This represents the 'classical' Cuthill-McKee ordering algorithms for simple graphs. In practical experiments – especially when combined with mesh permutations – this layered+sorted strategy is often LESS efficient than the simple (unsorted) layered strategy, so therefore it is recommended to use the unsorted strategy. This sorted strategy is implemented primarily for benchmarking reasons. |
| colored | Colored threading strategy. This strategy performs a coloring of the mesh elements, so that any two adjacent elements have different colors. By construction, no race conditions can appear when elements of a single color are processed in parallel. Therefore, the assembly processes all colors sequentially, where all elements of a single color are processed in parallel by multiple threads. Example: +---+---+---+---+---+ | R | G | R | G | R | +---+---+---+---+---+ | B | W | B | W | B | +---+---+---+---+---+ | R | G | R | G | R | +---+---+---+---+---+ | B | W | B | W | B | +---+---+---+---+---+ | R | G | R | G | R | +---+---+---+---+---+ Although this strategy is the more prominent one in the literature, it is usually less efficient than the layered strategy due to higher synchronization costs and less favorable memory access patterns. |
Definition at line 32 of file domain_assembler.hpp.
| void FEAT::Assembly::assemble_bilinear_operator_apply_vector_1 | ( | DomainAssembler< Trafo_ > & | dom_asm, |
| Vector_ & | vector, | ||
| const VectorSol_ & | vec_sol, | ||
| const BilOp_ & | bilinear_operator, | ||
| const Space_ & | space, | ||
| const String & | cubature, | ||
| const typename Vector_::DataType | alpha = typename Vector_::DataType(1) |
||
| ) |
Assembles the application of a bilinear operator into a vector with identical test- and trial-spaces.
| [in,out] | dom_asm | A transient reference to the domain assembler that is to be used for the assembly. |
| [in,out] | vector | The transient vector that is to be assembled. |
| [in] | vector_sol | The transient vector that is to be applied upon. |
| [in] | bilinear_operator | A transient reference to the operator implementing the BilinearOperator interface to be assembled. |
| [in] | space | A transient reference to the finite-element to be used as the test- and trial-space. |
| [in] | cubature | The name of the cubature rule that is to be used for the assembly. |
| [in] | alpha | The scaling factor for the assembly. |
Definition at line 1524 of file domain_assembler_basic_jobs.hpp.
References FEAT::Assembly::DomainAssembler< Trafo_ >::assemble(), FEAT::Assembly::DomainAssembler< Trafo_ >::get_trafo(), and XASSERTM.
| void FEAT::Assembly::assemble_bilinear_operator_apply_vector_1 | ( | TraceAssembler< Trafo_ > & | trace_asm, |
| Vector_ & | vector, | ||
| const VectorSol_ & | vec_sol, | ||
| const BilOp_ & | bilinear_operator, | ||
| const Space_ & | space, | ||
| const String & | cubature, | ||
| const typename Vector_::DataType | alpha = typename Vector_::DataType(1) |
||
| ) |
Assembles the application of a bilinear operator into a vector with identical test- and trial-spaces.
| [in,out] | trace_asm | A transient reference to the trace assembler that is to be used for the assembly. |
| [in,out] | vector | The transient vector that is to be assembled. |
| [in] | vector_sol | The transient vector that is to be applied upon. |
| [in] | bilinear_operator | A transient reference to the operator implementing the BilinearOperator interface to be assembled. |
| [in] | space | A transient reference to the finite-element to be used as the test- and trial-space. |
| [in] | cubature | The name of the cubature rule that is to be used for the assembly. |
| [in] | alpha | The scaling factor for the assembly. |
Definition at line 1562 of file trace_assembler_basic_jobs.hpp.
References FEAT::Assembly::TraceAssembler< Trafo_ >::assemble(), FEAT::Assembly::TraceAssembler< Trafo_ >::get_trafo(), and XASSERTM.
| void FEAT::Assembly::assemble_bilinear_operator_matrix_1 | ( | DomainAssembler< Trafo_ > & | dom_asm, |
| Matrix_ & | matrix, | ||
| const BilOp_ & | bilinear_operator, | ||
| const Space_ & | space, | ||
| const String & | cubature, | ||
| const typename Matrix_::DataType | alpha = typename Matrix_::DataType(1) |
||
| ) |
Assembles a bilinear operator into a matrix with identical test- and trial-spaces.
| [in,out] | dom_asm | A transient reference to the domain assembler that is to be used for the assembly. |
| [in,out] | matrix | The transient matrix that is to be assembled. |
| [in] | bilinear_operator | A transient reference to the operator implementing the BilinearOperator interface to be assembled. |
| [in] | space | A transient reference to the finite-element to be used as the test- and trial-space. |
| [in] | cubature | The name of the cubature rule that is to be used for the assembly. |
| [in] | alpha | The scaling factor for the assembly. |
Definition at line 1137 of file domain_assembler_basic_jobs.hpp.
References FEAT::Assembly::DomainAssembler< Trafo_ >::assemble(), FEAT::Assembly::DomainAssembler< Trafo_ >::get_trafo(), and XASSERTM.
| void FEAT::Assembly::assemble_bilinear_operator_matrix_1 | ( | TraceAssembler< Trafo_ > & | trace_asm, |
| Matrix_ & | matrix, | ||
| const BilOp_ & | bilinear_operator, | ||
| const Space_ & | space, | ||
| const String & | cubature, | ||
| const typename Matrix_::DataType | alpha = typename Matrix_::DataType(1) |
||
| ) |
Assembles a bilinear operator into a matrix with identical test- and trial-spaces.
| [in,out] | trace_asm | A transient reference to the trace assembler that is to be used for the assembly. |
| [in,out] | matrix | The transient matrix that is to be assembled. |
| [in] | bilinear_operator | A transient reference to the operator implementing the BilinearOperator interface to be assembled. |
| [in] | space | A transient reference to the finite-element to be used as the test- and trial-space. |
| [in] | cubature | The name of the cubature rule that is to be used for the assembly. |
| [in] | alpha | The scaling factor for the assembly. |
Definition at line 1179 of file trace_assembler_basic_jobs.hpp.
References FEAT::Assembly::TraceAssembler< Trafo_ >::assemble(), FEAT::Assembly::TraceAssembler< Trafo_ >::get_trafo(), and XASSERTM.
| void FEAT::Assembly::assemble_bilinear_operator_matrix_2 | ( | DomainAssembler< Trafo_ > & | dom_asm, |
| Matrix_ & | matrix, | ||
| const BilOp_ & | bilinear_operator, | ||
| const TestSpace_ & | test_space, | ||
| const TrialSpace_ & | trial_space, | ||
| const String & | cubature, | ||
| const typename Matrix_::DataType | alpha = typename Matrix_::DataType(1) |
||
| ) |
Assembles a bilinear operator into a matrix with different test- and trial-spaces.
| [in,out] | dom_asm | A transient reference to the domain assembler that is to be used for the assembly. |
| [in,out] | matrix | The transient matrix that is to be assembled. |
| [in] | bilinear_operator | A transient reference to the operator implementing the BilinearOperator interface to be assembled. |
| [in] | test_space | A transient reference to the finite-element test-space to be used. |
| [in] | trial_space | A transient reference to the finite-element trial-space to be used. |
| [in] | cubature | The name of the cubature rule that is to be used for the assembly. |
| [in] | alpha | The scaling factor for the assembly. |
Definition at line 1299 of file domain_assembler_basic_jobs.hpp.
References FEAT::Assembly::DomainAssembler< Trafo_ >::assemble(), FEAT::Assembly::DomainAssembler< Trafo_ >::get_trafo(), and XASSERTM.
Referenced by FEAT::Control::StokesPowerSystemLevel< dim_, DataType_, IndexType_, ScalarMatrix_, TransferMatrix_ >::assemble_grad_div_matrices().
| void FEAT::Assembly::assemble_bilinear_operator_matrix_2 | ( | TraceAssembler< Trafo_ > & | trace_asm, |
| Matrix_ & | matrix, | ||
| const BilOp_ & | bilinear_operator, | ||
| const TestSpace_ & | test_space, | ||
| const TrialSpace_ & | trial_space, | ||
| const String & | cubature, | ||
| const typename Matrix_::DataType | alpha = typename Matrix_::DataType(1) |
||
| ) |
Assembles a bilinear operator into a matrix with different test- and trial-spaces.
| [in,out] | trace_asm | A transient reference to the domain assembler that is to be used for the assembly. |
| [in,out] | matrix | The transient matrix that is to be assembled. |
| [in] | bilinear_operator | A transient reference to the operator implementing the BilinearOperator interface to be assembled. |
| [in] | test_space | A transient reference to the finite-element test-space to be used. |
| [in] | trial_space | A transient reference to the finite-element trial-space to be used. |
| [in] | cubature | The name of the cubature rule that is to be used for the assembly. |
| [in] | alpha | The scaling factor for the assembly. |
Definition at line 1340 of file trace_assembler_basic_jobs.hpp.
References FEAT::Assembly::TraceAssembler< Trafo_ >::assemble(), FEAT::Assembly::TraceAssembler< Trafo_ >::get_trafo(), and XASSERTM.
| void FEAT::Assembly::assemble_force_function_vector | ( | DomainAssembler< Trafo_ > & | dom_asm, |
| Vector_ & | vector, | ||
| const Function_ & | function, | ||
| const Space_ & | space, | ||
| const String & | cubature, | ||
| const typename Vector_::DataType | alpha = typename Vector_::DataType(1) |
||
| ) |
Assembles a force function into a vector.
| [in,out] | dom_asm | A transient reference to the domain assembler that is to be used for the assembly. |
| [in,out] | vector | The transient vector that is to be assembled. |
| [in] | function | A transient reference to the force function implementing the Analytic::Function interface to be assembled. |
| [in] | space | A transient reference to the finite-element to be used as the test-space. |
| [in] | cubature | The name of the cubature rule that is to be used for the assembly. |
| [in] | alpha | The scaling factor for the assembly. |
Definition at line 990 of file domain_assembler_basic_jobs.hpp.
References FEAT::Assembly::DomainAssembler< Trafo_ >::assemble(), FEAT::Assembly::DomainAssembler< Trafo_ >::get_trafo(), and XASSERTM.
| void FEAT::Assembly::assemble_jump_mass_matrix | ( | TraceAssembler< Trafo_ > & | trace_asm, |
| Matrix_ & | matrix, | ||
| const Space_ & | space, | ||
| const String & | cubature, | ||
| const typename Matrix_::DataType | alpha = typename Matrix_::DataType(1) |
||
| ) |
Assembles mass jump operator into a matrix.
| [in,out] | trace_asm | A transient reference to the trace assembler that is to be used for the assembly. |
| [in,out] | matrix | The transient matrix that is to be assembled. |
| [in] | space | A transient reference to the finite-element to be used as the test- and trial-space. |
| [in] | cubature | The name of the cubature rule that is to be used for the assembly. |
| [in] | alpha | The scaling factor for the assembly. |
Definition at line 807 of file trace_assembler_jump_jobs.hpp.
References FEAT::Assembly::TraceAssembler< Trafo_ >::assemble(), FEAT::Assembly::TraceAssembler< Trafo_ >::get_trafo(), and XASSERTM.
| void FEAT::Assembly::assemble_jump_stabilization_matrix | ( | TraceAssembler< Trafo_ > & | trace_asm, |
| Matrix_ & | matrix, | ||
| const Space_ & | space, | ||
| const String & | cubature, | ||
| const typename Matrix_::DataType | gamma = typename Matrix_::DataType(1), |
||
| const typename Matrix_::DataType | jacdet_scale = typename Matrix_::DataType(2), |
||
| const typename Matrix_::DataType | jacdet_power = typename Matrix_::DataType(2) |
||
| ) |
Assembles edge-oriented jump stabilization operator into a matrix.
| [in,out] | trace_asm | A transient reference to the trace assembler that is to be used for the assembly. |
| [in,out] | matrix | The transient matrix that is to be assembled. |
| [in] | space | A transient reference to the finite-element to be used as the test- and trial-space. |
| [in] | cubature | The name of the cubature rule that is to be used for the assembly. |
| [in] | gamma | The scaling factor for the entire operator. |
| [in] | jacdet_scale | The scaling factor for the Jacobian determinant factor, defaults to 2. |
| [in] | jacdet_power | The exponential power for the Jacobian determinant factor, defaults to 2. |
Definition at line 689 of file trace_assembler_jump_jobs.hpp.
References FEAT::Assembly::TraceAssembler< Trafo_ >::assemble(), FEAT::Assembly::TraceAssembler< Trafo_ >::get_trafo(), and XASSERTM.
| void FEAT::Assembly::assemble_linear_functional_vector | ( | DomainAssembler< Trafo_ > & | dom_asm, |
| Vector_ & | vector, | ||
| const LinFunc_ & | linear_functional, | ||
| const Space_ & | space, | ||
| const String & | cubature, | ||
| const typename Vector_::DataType | alpha = typename Vector_::DataType(1) |
||
| ) |
Assembles a linear functional into a vector.
| [in,out] | dom_asm | A transient reference to the domain assembler that is to be used for the assembly. |
| [in,out] | vector | The transient vector that is to be assembled. |
| [in] | linear_functional | A transient reference to the functional implementing the Assembly::LinearFunctional interface to be assembled. |
| [in] | space | A transient reference to the finite-element to be used as the test-space. |
| [in] | cubature | The name of the cubature rule that is to be used for the assembly. |
| [in] | alpha | The scaling factor for the assembly. |
Definition at line 849 of file domain_assembler_basic_jobs.hpp.
References FEAT::Assembly::DomainAssembler< Trafo_ >::assemble(), FEAT::Assembly::DomainAssembler< Trafo_ >::get_trafo(), and XASSERTM.
| void FEAT::Assembly::assemble_linear_functional_vector | ( | TraceAssembler< Trafo_ > & | trace_asm, |
| Vector_ & | vector, | ||
| const LinFunc_ & | linear_functional, | ||
| const Space_ & | space, | ||
| const String & | cubature, | ||
| const typename Vector_::DataType | alpha = typename Vector_::DataType(1) |
||
| ) |
Assembles a linear functional into a vector.
| [in,out] | trace_asm | A transient reference to the trace assembler that is to be used for the assembly. |
| [in,out] | vector | The transient vector that is to be assembled. |
| [in] | linear_functional | A transient reference to the functional implementing the Assembly::LinearFunctional interface to be assembled. |
| [in] | space | A transient reference to the finite-element to be used as the test-space. |
| [in] | cubature | The name of the cubature rule that is to be used for the assembly. |
| [in] | alpha | The scaling factor for the assembly. |
Definition at line 670 of file trace_assembler_basic_jobs.hpp.
References FEAT::Assembly::TraceAssembler< Trafo_ >::assemble(), FEAT::Assembly::TraceAssembler< Trafo_ >::get_trafo(), and XASSERTM.
| AnalyticFunctionIntegral< DataType_, Function_ >::Type FEAT::Assembly::integrate_analytic_function | ( | DomainAssembler< Trafo_ > & | dom_asm, |
| const Function_ & | function, | ||
| const String & | cubature | ||
| ) |
Assembles the integral of an analytic function.
| DataType_ | The (scalar) datatype in which the assembly is to be performed. Must always be given. |
| [in,out] | dom_asm | A transient reference to the domain assembler that is to be used for the assembly. |
| [in] | function | A transient reference to the analytic function that is to be integrated. |
| [in] | cubature | The name of the cubature rule that is to be used for the assembly. |
Definition at line 1706 of file domain_assembler_basic_jobs.hpp.
References FEAT::Assembly::DomainAssembler< Trafo_ >::assemble(), FEAT::Assembly::DomainAssembler< Trafo_ >::get_trafo(), and FEAT::Assembly::DomainAssemblyAnalyticFunctionIntegralJob< DataType_, Function_, Trafo_, max_der_ >::result().
| AnalyticFunctionIntegral< DataType_, Function_ >::Type FEAT::Assembly::integrate_analytic_function | ( | TraceAssembler< Trafo_ > & | trace_asm, |
| const Function_ & | function, | ||
| const String & | cubature | ||
| ) |
Assembles the trace integral of an analytic function.
| max_der_ | The maximum derivative of the function that is to be integrated. |
| DataType_ | The (scalar) data type in which the assembly is to be performed. Must always be given. |
| [in,out] | trace_asm | A transient reference to the trace assembler that is to be used for the assembly. |
| [in] | function | A transient reference to the analytic function that is to be integrated. |
| [in] | cubature | The name of the cubature rule that is to be used for the assembly. |
Definition at line 1745 of file trace_assembler_basic_jobs.hpp.
References FEAT::Assembly::TraceAssembler< Trafo_ >::assemble(), and FEAT::Assembly::TraceAssembler< Trafo_ >::get_trafo().
| DiscreteFunctionIntegral< Vector_, Space_ >::Type FEAT::Assembly::integrate_discrete_function | ( | DomainAssembler< Trafo_ > & | dom_asm, |
| const Vector_ & | vector, | ||
| const Space_ & | space, | ||
| const String & | cubature | ||
| ) |
Assembles the integral of a discrete finite element function.
| [in,out] | dom_asm | A transient reference to the domain assembler that is to be used for the assembly. |
| [in] | vector | A transient reference to the coefficient vector of the finite element function that is to be integrated. |
| [in] | space | A transient reference to the finite element space that the coefficient vector belongs to. |
| [in] | cubature | The name of the cubature rule that is to be used for the assembly. |
Definition at line 1915 of file domain_assembler_basic_jobs.hpp.
References FEAT::Assembly::DomainAssembler< Trafo_ >::assemble(), FEAT::Assembly::DomainAssembler< Trafo_ >::get_trafo(), and XASSERTM.
| DiscreteFunctionIntegral< Vector_, Space_ >::Type FEAT::Assembly::integrate_discrete_function | ( | TraceAssembler< Trafo_ > & | trace_asm, |
| const Vector_ & | vector, | ||
| const Space_ & | space, | ||
| const String & | cubature | ||
| ) |
Assembles the integral of a discrete finite element function.
| max_der_ | The maximum derivative of the function that is to be integrated. |
| [in,out] | trace_asm | A transient reference to the trace assembler that is to be used for the assembly. |
| [in] | vector | A transient reference to the coefficient vector of the finite element function that is to be integrated. |
| [in] | space | A transient reference to the finite element space that the coefficient vector belongs to. |
| [in] | cubature | The name of the cubature rule that is to be used for the assembly. |
Definition at line 1927 of file trace_assembler_basic_jobs.hpp.
References FEAT::Assembly::TraceAssembler< Trafo_ >::assemble(), FEAT::Assembly::TraceAssembler< Trafo_ >::get_trafo(), and XASSERTM.
| DiscreteFunctionIntegral< Vector_, Space_ >::Type FEAT::Assembly::integrate_error_function | ( | DomainAssembler< Trafo_ > & | dom_asm, |
| const Function_ & | function, | ||
| const Vector_ & | vector, | ||
| const Space_ & | space, | ||
| const String & | cubature | ||
| ) |
Assembles the integral of an (analytic - discrete) error function.
| [in,out] | dom_asm | A transient reference to the domain assembler that is to be used for the assembly. |
| [in] | function | A transient reference to the analytic function that is to be integrated. |
| [in] | vector | A transient reference to the coefficient vector of the finite element function that is to be integrated. |
| [in] | space | A transient reference to the finite element space that the coefficient vector belongs to. |
| [in] | cubature | The name of the cubature rule that is to be used for the assembly. |
Definition at line 2153 of file domain_assembler_basic_jobs.hpp.
References FEAT::Assembly::DomainAssembler< Trafo_ >::assemble(), FEAT::Assembly::DomainAssembler< Trafo_ >::get_trafo(), and XASSERTM.
| DiscreteFunctionIntegral< Vector_, Space_ >::Type FEAT::Assembly::integrate_error_function | ( | TraceAssembler< Trafo_ > & | trace_asm, |
| const Function_ & | function, | ||
| const Vector_ & | vector, | ||
| const Space_ & | space, | ||
| const String & | cubature | ||
| ) |
Assembles the trace integral of an (analytic - discrete) error function.
| max_der_ | The maximum derivative of the error function that is to be integrated. |
| [in,out] | trace_asm | A transient reference to the trace assembler that is to be used for the assembly. |
| [in] | function | A transient reference to the analytic function that is to be integrated. |
| [in] | vector | A transient reference to the coefficient vector of the finite element function that is to be integrated. |
| [in] | space | A transient reference to the finite element space that the coefficient vector belongs to. |
| [in] | cubature | The name of the cubature rule that is to be used for the assembly. |
Definition at line 2140 of file trace_assembler_basic_jobs.hpp.
References FEAT::Assembly::TraceAssembler< Trafo_ >::assemble(), FEAT::Assembly::TraceAssembler< Trafo_ >::get_trafo(), and XASSERTM.