Skip to content

Commit

Permalink
Invert quadrature loops (#322)
Browse files Browse the repository at this point in the history
Invert the quadrature loop in the assembly methods of linear and
bilinear forms, which means that we loop over the quadrature points
before looping over the basis functions. This loop inversion is not
automatic, we do it only in the case where we have a spline or NURBs
mapping, or where the analytical mapping is not affine.

To manually deactivate the loop inversion it is sufficient to set
`invert_quad_loop = False` in function `AST.__init__` of module
`psydac.api.ast.fem`.

**Other changes**

- Add `lhs` property to class `ComputeLogicalBasis`.
- Delete `prefix` property from classes `BasisAtom`, `IteratorBase`,
 `LogicalBasisValue`, and `Loop`.
- Delete initialization code from `_visit_EvalField` and `_visit_EvalMapping`,
 and move it to the constructors of the classes `EvalField` and `EvalMapping`.
  • Loading branch information
saidctb authored Jul 25, 2023
1 parent b154c81 commit 19b89a1
Show file tree
Hide file tree
Showing 3 changed files with 516 additions and 374 deletions.
Loading

0 comments on commit 19b89a1

Please sign in to comment.