quadratureformulas
Abstract Base Class for Numerical Quadrature Formulas.
This module provides the base interface for implementing various numerical quadrature schemes. It defines the common structure and required methods that all quadrature implementations must follow.
Key functionalities
- Abstract interface for quadrature rule implementations
- Standard methods for accessing quadrature points and weights
- Flexible framework for different element types and dimensions
The module serves as a foundation for
- Multiple quadrature rule implementations
- Different element type integrations
- Various quadrature orders and types
- Custom quadrature scheme implementations
Key classes
- Quadratureformulas: Abstract base class for all quadrature implementations
Dependencies
- abc: For abstract base class functionality
Version Info
27/Dec/2024: Initial version - Thivin Anandh D
Quadratureformulas
Abstract base class for numerical quadrature formulas.
This class defines the interface that all quadrature implementations must follow. It provides the basic structure for implementing various quadrature rules while ensuring consistent access to quadrature data.
Attributes:
Name | Type | Description |
---|---|---|
quad_order |
Order of the quadrature rule |
|
quad_type |
Type of quadrature (e.g., 'gauss-legendre', 'gauss-jacobi') |
|
num_quad_points |
Total number of quadrature points |
Example
class MyQuadrature(Quadratureformulas): ... def init(self): ... super().init(quad_order=3, ... quad_type='custom', ... num_quad_points=9) ... def get_quad_values(self): ... # Implementation ... pass ... def get_num_quad_points(self): ... return self.num_quad_points
Note
This is an abstract base class. Concrete implementations must override: - get_quad_values() - get_num_quad_points()
The implementation should ensure proper initialization of: - Quadrature points - Quadrature weights - Number of quadrature points
Source code in scirex/core/sciml/fe/quadratureformulas.py
__init__(quad_order, quad_type, num_quad_points)
Constructor for the Quadratureformulas_Quad2D class.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
quad_order
|
int
|
Order of quadrature rule |
required |
quad_type
|
str
|
Type of quadrature ('gauss-legendre' or 'gauss-jacobi') |
required |
num_quad_points
|
int
|
Total number of quadrature points |
required |
Returns:
Type | Description |
---|---|
None |
Source code in scirex/core/sciml/fe/quadratureformulas.py
get_num_quad_points()
abstractmethod
Returns the number of quadrature points.
Returns:
Name | Type | Description |
---|---|---|
num_quad_points |
Total number of quadrature points |
get_quad_values()
abstractmethod
Returns the quadrature weights, xi and eta values.
Returns:
Name | Type | Description |
---|---|---|
weights |
Weights for each quadrature point |
|
xi |
x-coordinates of quadrature points in reference element |
|
eta |
y-coordinates of quadrature points in reference element |