multi_unified_bspline_utils.py

openaerostruct.geometry.multi_unified_bspline_utils.build_multi_spline(out_name, num_sections, control_points)[source]

This function returns an OpenMDAO Independent Variable Component with an output vector appropriately named and sized to function as an unified B-spline that joins multiple sections by construction.

Parameters:
out_name: string

Name of the output to assign to the B-spline

num_sectionsint

Number of sections

control_points: list

List of B-spline control point arrays corresponding to each section

Returns:
spline_controlOpenMDAO component object

The unified B-spline indpendent variable component

openaerostruct.geometry.multi_unified_bspline_utils.connect_multi_spline(prob, section_surfaces, sec_cp, out_name, comp_name, return_bind_inds=False)[source]

This function connects the the unified B-spline component with the individual B-splines of each section. There is a point of overlap at each section so that each edge control point control the edge controls points of each section’s B-spline. This is how section joining by consturction is acheived. An issue occurs however when a B-spline in a particular section only has one control point. In this case the one section control point is bound to the left edge B-spline component control point. As result, there is nothing to maintain C0 continuity with the next section. As result a constraint will need to be manually set. To facilitate this, the array bind_inds will contain a list of the B-spline control point indicies that will need to be manually constrained to their previous sections.

Parameters:
probOpenMDAO problem object

The OpenAeroStruct problem object with the unified B-spline component added.

section_surfaceslist

List of the surface dictionaries for each section.

sec_cplist

List of B-spline control point arrays for each section.

out_name: string

Name of the unified B-spline component output to connect from

comp_name: string

Name of the unified B-spline component added to the problem object

return_bind_inds: bool

Return list of unjoined unified B-spline inidices. Default is False.

Returns:
bind_indslist

List of unified B-spline control point indicies not connected due to the presence of a single control point section.(Only if return bind_inds specified)