utils.hpp mfem.hpp serif/discretization/domain/concepts.hpp serif/discretization/domain/schema/concepts.hpp serif serif::discretization serif::discretization::domain serif::discretization::domain::schema File containing utility functions for working with DomainSchemas. Emily M. Boudreaux #pragmaonce #include<mfem.hpp> #include"serif/discretization/domain/concepts.hpp" #include"serif/discretization/domain/schema/concepts.hpp" namespaceserif::discretization::domain::schema{ template<IsDomainOrSetDomainT,IsSchemaSchemaT> [[nodiscard]]mfem::Array<int>make_attribute_marker(constmfem::Mesh&mesh){ static_assert(SchemaT::templatecontains_domain<DomainT>(),"RequestedmarkerdomainisnotcompletelyregisteredinthesuppliedDomainSchema."); mfem::Array<int>marker(mesh.attributes.Max()); for(intdomainID=1;domainID<=marker.Size();++domainID){ marker[domainID-1]=SchemaT::templatedomain_id_belongs_to<DomainT>(domainID)?1:0; } returnmarker; } }