nodal_data.hpp memory serif/discretization/backend/mfem/dof_selection.hpp serif/operators/concepts.hpp src/include/serif/operators/backend/mfem/nodal_evaluation.hpp src/include/serif/operators/backend/mfem/nodal_inputs.hpp src/include/serif/operators/backend/mfem/nodal_rows.hpp serif::operators::backend::mfem::NodalDiscretization serif::operators::backend::mfem::NodalData serif::operators::backend::mfem::PointBorderDiscretization serif::operators::backend::mfem::PointBorderData serif serif::operators serif::operators::backend serif::operators::backend::mfem #pragmaonce #include<memory> #include"serif/discretization/backend/mfem/dof_selection.hpp" #include"serif/operators/concepts.hpp" namespaceserif::operators::backend::mfem{ usingoperators::AffinePointEquation; template<NodalValueEquationEquationT,discretization::domain::schema::IsSchemaSchemaT> structNodalDiscretization{ usingEquation=EquationT; usingTest=typenameEquationT::Test; usingResidualBinding=discretization::backend::mfem::TermBinding<Test, SchemaT>; usingValue=discretization::forms::OperandValue<equations::TestOperandOf<EquationT>>; staticconstexprintcomponents=discretization::forms::component_count<Value>; constResidualBinding&residual_binding; std::shared_ptr<constdiscretization::backend::mfem::DofSelection>selected_rows; }; template<NodalValueEquationEquationT,discretization::domain::schema::IsSchemaSchemaT> structNodalData{ usingDiscretization=NodalDiscretization<EquationT, SchemaT>; Discretizationdiscretization; ::mfem::Vectorresidual; ::mfem::DenseMatrixderivative; }; template<AffinePointEquationEquationT,discretization::domain::schema::IsSchemaSchemaT> structPointBorderDiscretization{ usingEquation=EquationT; usingBorderBinding=discretization::backend::mfem::TermBinding<typename EquationT::Border, SchemaT>; NodalDiscretization<EquationT, SchemaT>nodal; constBorderBinding&border_binding; }; template<AffinePointEquationEquationT,discretization::domain::schema::IsSchemaSchemaT> structPointBorderData{ usingBorder=typenameEquationT::Border; NodalData<EquationT, SchemaT>nodal; consttypenamePointBorderDiscretization<EquationT, SchemaT>::BorderBinding&border_binding; doubleborder_coefficient; }; }