Muscat.FE.IntegrationRules module

CheckIntegrity(GUI: bool = False)[source]
class ElementaryQuadrature(elementType: ElementType, points: ArrayLike, weights: ArrayLike)[source]

Bases: object

CopyFor(elementType: ElementType) ElementaryQuadrature[source]
elementType: ElementType
points: ndarray
weights: ndarray
GetIntegrationRule(ruleName: str | None = None, rule: MeshQuadrature | None = None) MeshQuadrature[source]

Return the integration rule for the mesh using the name or an integration rule. In the case where both are None then LagrangeIsoParamQuadrature is returned

  • ruleName (str, optional) – name of the integration rule, by default None

  • rule (MeshQuadrature, optional) – integration rule in the case ruleName is None, by default None


the integration rule

Return type:


GetIntegrationRuleByName(ruleName: str) MeshQuadrature[source]
class IntegrationRulesFactory[source]

Bases: Factory

class MeshQuadrature(name: str)[source]

Bases: object

AddElementaryQuadrature(elementaryQuadrature: ElementaryQuadrature)[source]
elementQuadrature: Dict[ElementType, ElementaryQuadrature]
items() Generator[ED.ElementType, ElementaryQuadrature][source]
keys() ElementType[source]
name: str
values() Generator[ElementaryQuadrature][source]
RegisterIntegrationRule(ir: MeshQuadrature)[source]
TensorProd(p1: ArrayLike, w1: ArrayLike, p2: ArrayLike, w2: ArrayLike, p3: ArrayLike | None = None, w3: ArrayLike | None = None)[source]
TensorProdHomogeneous(dim: int, p: ArrayLike, w: ArrayLike)[source]
TensorProductGauss(dim: int, nbPoints: int = 2) Tuple[np.ndarray, np.ndarray][source]

Tensor product of gauss point in dimension (dim) using nbPoints (number of points) per dimension

  • dim (int) – the dimensionality of the tensor product

  • nbPoints (int, optional) – Number of points per dimension , by default 2


Integration Rule (points and weights)

Return type: