Extracting B-spline basis information from U-spline json-export

Hello,

I want to extract B-spline patch data from a U-spline. Therefore, I assign each patch to a block so that it is easy to identify their corresponding elements in the .json export. But what are the knot vectors for these patches; is the knot vector always uniform with non-zero knots of size 1, or is there a relation to the element size?

Thanks.

Best regard,
Benjamin

PS: Here is a short journal file to construct a ring of 4 spline patches to clarify my question:

#’ set up geometry
create curve arc radius 1 center location 0 0 0 normal 0 0 1 start angle 0 stop angle 360 as 1
create vertex on curve 1 segment 4
split curve 1 at vertex all
curve 2 3 4 5 copy scale 2
create curve vertex 3 16
create curve vertex 4 18
create curve vertex 5 13
create curve vertex 6 14
create surface curve 13 6 2 12
create surface curve 5 12 9 11
create surface curve 8 10 4 11
create surface curve 10 7 13 3

#’ define patch domains
block 1 add surface 1
block 2 add surface 2
block 3 add surface 3
block 4 add surface 4

#’ meshing
surface all scheme map
surface all size auto factor 10
mesh surface all
block all element type QUAD4

#’ set up spline elements
set uspline surface all degree 2 continuity 1 creasing minimal
build uspline crease group
build uspline surface all
fit uspline all
draw uspline on
export uspline all json “splineExport”

Hi Benjamin,

For the example you provided, yes you can assume uniform knot vectors with knot spans equal to 1. However, this is not always true; for many U-splines, there is a dependence on mesh size.

Hope this helps,

Luke

Hi Luke,
I see. How can the knot span information be extracted from the JSON-file (or another export) for the general case?
Thanks,
Benjamin

Hi Benjamin,

Unfortunately most of this information is lost once we convert to the extracted format, and can’t easily be recovered from the .json file. Can I ask what you’re trying to use the corresponding B-Spline patch data for?

Hi Luke,
Ultimately, I want to generate and export regular conforming volumetric B-spline patches for an IGA solver that does not use Bezier extraction. Any advice on how to accomplish that with Coreform Cubit?
Best regards
Benjamin

Hi Benjamin,

I don’t think this can be easily accomplished with the current version of Cubit. For many cases, you may get lucky, and have the resulting U-spline control points correspond to what would be built using a B-spline patch with uniform knot spans, but we can’t guarantee this. We will let you know if and when we add more structured information to U-spline export.

Best,

Luke