biasing along a quadrilateral surface with >4 curves

I’m stumped in trying to find a way to bias my elements along one axis of a quadrilateral region with a mapped scheme. The tricky part is the top edge of this quadrilateral is composed of multiple curves. Thus, it is easy to do biasing along the single bottom edge. I don’t know what a good strategy would be for mirroring that same biasing along the top edge - by default, Trelis will assume equal spacing, which is not favorable.

Here is a sketch of what I mean:

In practice, the bias-mismatch can be very extreme:

I’ve tried using “adjust boundary orthogonal”, but it totally destroys the biasing. I guess it would be possible to replace the top part with a single curve, but selecting individual edges/nodes for boundary conditions would be much too tedious. Any suggestions that could help?

You can composite the multiple top curves and then set the bias on the top and bottom curves. Here is an example:

#Create quadrilateral with two top curves.
reset
create vertex 0 0 0
create vertex 0 5 0
create vertex 5 5 0
create vertex 10 0 0
create vertex 10 5 0
create curve vertex 1 2
create curve vertex 2 3
create curve vertex 3 5
create curve vertex 5 4
create curve vertex 4 1
create surface curve all

#Composite multiple curves
composite create curve 2 3

curve 5 scheme bias factor .9 start vertex 1
curve 6 scheme bias factor .9 start vertex 2
mesh surf all

bias.png

The composite curve seemed to do the trick for meshing, but I essentially just made one single curve. I can no longer reference the child curves to assign nodesets or sidesets. When I try, I get an error saying “No entity with ID ## was found”.

Even when looking in the model tree, it seems the child curves are completely gone. The composite curve’s only attributes are the two end vertices.

I tried to delete the composite curve after meshing but also get an error saying “WARNING: Cannot delete composite curves that have been meshed. Skipping curve ##.”

Please advise.

Correct, compositing the curves will destroy the original curves and create one virtual curve. If you have Undo on, you can step backwards to undo the composite and get the curves back.

Another option might be to split the curve on the bottom to match the top, then set a size on the vertices and an auto bias scheme on the curves. This way you can create nodesets and sidesets.

reset
create surface rectangle width 15 height 5 zplane
split curve 1 distance 5
split curve 6 distance 5

#split bottom curve to match top curves
split curve 3 at vertex 6
split curve 10 at vertex 5

#set size on vertices and auto bias the curves
curve 5 7 8 9 11 12 scheme bias
vertex 1 2 3 4 size 0.25
vertex 5 6 7 8 size 1
mesh surf 1

#create nodsets
nodeset 1 add curve 9 11 12
nodeset 2 add curve 8
nodeset 3 add curve 7
nodeset 4 add curve 5