element_data.hpp array memory vector mfem/fem/intrules.hpp serif/backend/mfem/mapping/volume_cache.hpp serif/backend/mfem/mapping/data.hpp serif/backend/mfem/discretization/basis_evaluation.hpp src/include/serif/backend/mfem/operators/element_evaluation.hpp src/include/serif/backend/mfem/operators/element_preparation.hpp src/include/serif/backend/mfem/operators/geometry_derivatives.hpp src/include/serif/backend/mfem/operators/volume_data.hpp serif::operators::backend::mfem::ElementBasis serif::operators::backend::mfem::ElementGeometry serif::operators::backend::mfem::ElementData serif::operators::backend::mfem::BasisEvaluation serif serif::operators serif::operators::backend serif::operators::backend::mfem #pragmaonce #include<array> #include<memory> #include<vector> #include"mfem/fem/intrules.hpp" #include"serif/backend/mfem/mapping/volume_cache.hpp" #include"serif/backend/mfem/mapping/data.hpp" #include"serif/backend/mfem/discretization/basis_evaluation.hpp" namespaceserif::operators::backend::mfem{ usingdiscretization::backend::mfem::BasisEvaluation; template<std::size_tOperandCount> structElementBasisfinal{ intelement{-1}; const::mfem::IntegrationRule*rule{nullptr}; BasisEvaluationreference_test_basis; std::array<BasisEvaluation,OperandCount>reference_operand_basis; BasisEvaluationdisplacement_basis; std::vector<mapping::DMFixedMeshGeometry>reference_geometry; }; template<std::size_tOperandCount> structElementGeometryfinal{ BasisEvaluationtest_basis; std::array<BasisEvaluation,OperandCount>operand_basis; ::mfem::Vectordisplacement; ::mfem::Vectorcompactification; mapping::VolumeMappingCachemapping; }; template<std::size_tOperandCount> structElementDatafinal{ intelement{-1}; std::shared_ptr<constElementBasis<OperandCount>>basis; std::shared_ptr<constElementGeometry<OperandCount>>geometry; std::array<std::shared_ptr<const::mfem::Vector>,OperandCount>reference_operand_values; ::mfem::Vectorweighted_residual; ::mfem::DenseMatrixweighted_field_derivatives; ::mfem::DenseMatrixweighted_position_derivative; doublevalidation_integral{0.0}; }; }//namespaceserif::operators::backend::mfem