Assembly of Plate and Panel Models (compmech.panel.assembly)

class compmech.panel.assembly.PanelAssembly(panels)[source]

Class for Panel Assemblies

This class has some useful methods that will help plotting output for different panel groups within the assembly and so forth.

Parameters:

panels : iterable

A list, tuple etc of Panel objects.

Methods

get_size()
plot(c, group[, invert_y, vec, filename, ...]) Contour plot for a Ritz constants vector.
uvw(c, group[, gridx, gridy]) Calculates the displacement field
plot(c, group, invert_y=False, vec='w', filename='', ax=None, figsize=(3.5, 2.0), save=True, title='', identify=False, show_boundaries=False, boundary_line='--k', boundary_linewidth=1.0, colorbar=False, cbar_nticks=2, cbar_format=None, cbar_title='', cbar_fontsize=10, aspect='equal', clean=True, dpi=400, texts=[], xs=None, ys=None, gridx=50, gridy=50, num_levels=400, vecmin=None, vecmax=None, calc_data_only=False)[source]

Contour plot for a Ritz constants vector.

Parameters:

c : np.ndarray

The Ritz constants that will be used to compute the field contour.

group : str

A group to plot. Each panel in panels should contain an attribute group, which is used to identify which entities should be plotted together.

vec : str, optional

Can be one of the components:

  • Displacement: 'u', 'v', 'w', 'phix', 'phiy'
  • Strain: 'exx', 'eyy', 'gxy', 'kxx', 'kyy', 'kxy', 'gyz', 'gxz'
  • Stress: 'Nxx', 'Nyy', 'Nxy', 'Mxx', 'Myy', 'Mxy', 'Qy', 'Qx'

invert_y : bool, optional

Inverts the y axis of the plot.

save : bool, optional

Flag telling whether the contour should be saved to an image file.

dpi : int, optional

Resolution of the saved file in dots per inch.

filename : str, optional

The file name for the generated image file. If no value is given, the name parameter of the Panel object will be used.

ax : AxesSubplot, optional

When ax is given, the contour plot will be created inside it.

figsize : tuple, optional

The figure size given by (width, height).

title : str, optional

If any string is given a title is added to the contour plot.

indentify : bool, optional

If domains should be identified. If yes, the name of each panel is used.

show_boundaries : bool, optional

If boundaries between domains should be drawn.

boundary_line : str, optional

Matplotlib string to define line type and color.

boundary_linewidth : float, optional

Matplotlib float to define line width.

colorbar : bool, optional

If a colorbar should be added to the contour plot.

cbar_nticks : int, optional

Number of ticks added to the colorbar.

cbar_format : [ None | format string | Formatter object ], optional

See the matplotlib.pyplot.colorbar documentation.

cbar_fontsize : int, optional

Fontsize of the colorbar labels.

cbar_title : str, optional

Colorbar title. If cbar_title == '' no title is added.

aspect : str, optional

String that will be passed to the AxesSubplot.set_aspect() method.

clean : bool, optional

Clean axes ticks, grids, spines etc.

xs : np.ndarray, optional

The x positions where to calculate the displacement field. Default is None and the method _default_field is used.

ys : np.ndarray, optional

The y positions where to calculate the displacement field. Default is None and the method _default_field is used.

gridx : int, optional

Number of points along the x axis where to calculate the displacement field.

gridy : int, optional

Number of points along the y where to calculate the displacement field.

num_levels : int, optional

Number of contour levels (higher values make the contour smoother).

vecmin : float, optional

Minimum value for the contour scale (useful to compare with other results). If not specified it will be taken from the calculated field.

vecmax : float, optional

Maximum value for the contour scale.

calc_data_only : bool, optional

If only calculated data should be returned.

Returns:

ax : matplotlib.axes.Axes

The Matplotlib object that can be used to modify the current plot if needed.

data : dict

Data calculated during the plotting procedure.

uvw(c, group, gridx=50, gridy=50)[source]

Calculates the displacement field

For a given full set of Ritz constants c, the displacement field is calculated and stored in the parameters u, v, w, phix, phiy of the Panel object.

Parameters:

c : float

The full set of Ritz constants

group : str

A group to plot. Each panel in panels should contain an attribute group, which is used to identify which entities should be plotted together.

gridx : int, optional

Number of points along the x axis where to calculate the displacement field.

gridy : int, optional

Number of points along the y where to calculate the displacement field.

Returns:

out : tuple

A tuple of np.ndarrays containing (xs, ys, u, v, w, phix, phiy).

Notes

The returned values u`, v, w, phix, phiy are stored as parameters with the same name in the Panel object.