Skip to content

Conversation

@hverhelst
Copy link
Member

@hverhelst hverhelst commented Jan 15, 2025

NEW:

  • Sparse matrices
  • Function expressions
  • Quadrature rules
  • Compute function
  • Element getters

API:

  • evalSingle/derivSingle/deriv2Single --> eval/deriv/deriv2
  • remove Gismo.size and replace by Base.size (works)
  • Remove asMatrix and toMatrix and add copyMatrix since there were issues in garbage collection

FIXED:

  • gismo_jll version

- evalSingle/derivSingle/deriv2Single --> eval/deriv/deriv2
- remove Gismo.size and replace by Base.size (works)
FIXED:
- gismo_jll version
- Sparse matrix support
- gsFunctionSet::compute binding
- gsBasis::boundary, gsBasis::boundaryOffset
- gsBasis::getElements
- gsHTensorBasis::{tensorLevel,getLevelAtPoint,getElementData}
- gsBoundaryConditions

IMPROVED:
- tests (runtests.jl)
@hverhelst hverhelst requested a review from Albe21072000 July 14, 2025 11:33
Copy link
Member

@Albe21072000 Albe21072000 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For me it is all OK, the only issue is with the plot visualization in VScode, which requires the method display instead of gui.

@hverhelst hverhelst requested a review from Copilot July 14, 2025 14:20
@hverhelst hverhelst added this to the v25.06.0 milestone Jul 14, 2025
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR updates the single‐basis evaluation API, unifies size implementations, and refactors matrix I/O/ownership semantics while adding sparse‐matrix and PDE support.

  • Renamed evalSingle/derivSingle/deriv2Single to val/deriv/deriv2 and routed through new compute API
  • Replaced custom Gismo.size with Base.size on Basis, KnotVector, MultiPatch, etc.
  • Refactored matrix functions (asMatrixcopyMatrix, asVectorcopyVector) and introduced sparse‐matrix exports and new PDE & FunctionExpr types

Reviewed Changes

Copilot reviewed 16 out of 20 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
test/runtests.jl Switched to size, added val/deriv/deriv2 tests, sparse support
src/gsCore.jl Replaced evalSingle fns, updated Base.size, added compute, getElements, boundary, boundaryOffset
src/gsMatrix.jl Renamed ownership wrappers to copyMatrix/copyVector, added sparse‐matrix support
src/gsHSplines.jl Added tensorLevel, getLevelAtPoint, getElementData
src/gsPde.jl Introduced BoundaryConditions, addCondition!, addCornerValue!, setGeoMap!
src/gsNurbs.jl Updated size for KnotVector, pipe API for NurbsAnnulus
src/Declarations.jl Declared new C‐pointer structs (gsCVectorInt, gsCSparseMatrix, gsCFunctionExpr, gsCBoundaryConditions)
src/Gismo.jl Included new gsPde.jl submodule
test/runbenchmarks.jl Removed unused import of Gismo.size
examples/*.jl Updated example calls to use copyMatrix/copyVector and new APIs

Co-authored-by: Copilot <[email protected]>
@hverhelst hverhelst changed the title Fix size and change functions for single basis function evaluations Improve evaluations, matrix copies and add new features for PDEs and integration Jul 14, 2025
@hverhelst hverhelst merged commit be556e1 into main Jul 14, 2025
12 checks passed
@hverhelst hverhelst deleted the develop branch July 14, 2025 14:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants