# -*- coding: utf-8 -*-## This file is subject to the terms and conditions defined in# file 'LICENSE.txt', which is part of this source code package.#fromtypingimportOptional,ListfromMuscat.TypesimportMuscatFloatfromMuscat.Containers.MeshimportMeshfromMuscat.Containers.Filters.FilterObjectsimportElementFilterfromMuscat.FE.Fields.FieldToolsimportIntegrationPointWrapperfromMuscat.FE.Fields.FieldBaseimportFieldBasefromMuscat.FE.Fields.FEFieldimportFEFieldfromMuscat.FE.Fields.IPFieldimportIPFieldfromMuscat.FE.Spaces.FESpacesimportConstantSpaceGlobalfromMuscat.FE.DofNumberingimportComputeDofNumberingfromMuscat.FE.IntegrationimportIntegrateGeneralfromMuscat.FE.SymWeakFormimportGetTestField,GetFieldfromMuscat.FE.IntegrationRulesimportLagrangeIsoParamQuadrature
[docs]defCheckIntegrity(GUI=False):fromMuscat.IO.StlReaderimportReadStlfromMuscat.TestDataimportGetTestDataPathmesh=ReadStl(GetTestDataPath()+"stlsphere.stl")fromMuscat.FE.Fields.FieldToolsimportCreateFieldFromDescriptionfromMuscat.Containers.Filters.FilterObjectsimportElementFilterfield=CreateFieldFromDescription(mesh,[(ElementFilter(),1)])area=IntegrateField(field)print(f"Computed Area = {area}")importnumpyasnpnp.testing.assert_equal(area,2.9088166085800675)field=CreateFieldFromDescription(mesh,[(ElementFilter(),1)],fieldType="IP")area=IntegrateField(field)print(f"Computed Area = {area}")importnumpyasnpnp.testing.assert_equal(area,2.9088166085800675)return"ok"
if__name__=='__main__':print(CheckIntegrity(True))# pragma: no cover