Post-Processing

Post-Processor 2D

class feastruct.post.post2d.PostProcessor2D(analysis, n_subdiv=11)[source]

Class for post processing methods for 2D analyses.

This class provides some post-processing methods for a particular 2D analysis that can be used to visualise tthe structural geometry and the finite element analysis results.

Variables:
  • analysis (fea) – Analysis object for post-processing
  • n_subdiv (int) – Number of subdivisions (total nodes) used to discretise frame elements in post-processing, such that higher order shape functions can be realised
__init__(analysis, n_subdiv=11)[source]

Inits the fea class.

Parameters:
  • analysis (FiniteElementAnalysis) – Analysis object for post-processing
  • n_subdiv (int) – Number of subdivisions used to discretise frame elements in post-processing
get_support_angle(node, prefer_dir=None)[source]

Given a node object, returns the optimal angle to plot a support. Essentially finds the average angle of the connected elements and considers a preferred plotting direction. N.B. this method is adapted from the MATLAB code by F.P. van der Meer: plotGeom.m.

Parameters:
  • node (node) – Node object
  • prefer_dir (int) – Preferred direction to plot the support, where 0 corresponds to the x-axis and 1 corresponds to the y-axis
plot_buckling_results(analysis_case, buckling_mode=0)[source]

Method used to plot a buckling eigenvector. The undeformed structure is plotted with a dashed line.

Parameters:
  • analysis_case (AnalysisCase) – Analysis case
  • buckling_mode (int) – Buckling mode to plot
plot_frame_forces(analysis_case, axial=False, shear=False, moment=False, scale=0.1)[source]

Method used to plot internal frame actions resulting from the analysis case.

Parameters:
  • analysis_case (AnalysisCase) – Analysis case
  • axial (bool) – Whether or not the axial force diagram is displayed
  • shear (bool) – Whether or not the shear force diagram is displayed
  • moment (bool) – Whether or not the bending moment diagram is displayed
  • scale (float) – Scale used for plotting internal force diagrams. Corresponds to the fraction of the window that the largest action takes up
plot_frequency_results(analysis_case, frequency_mode=0)[source]

Method used to plot a frequency eigenvector. The undeformed structure is plotted with a dashed line.

Parameters:
  • analysis_case (AnalysisCase) – Analysis case
  • frequency_mode (int) – Frequency mode to plot
plot_geom(analysis_case, ax=None, supports=True, loads=True, undeformed=True, deformed=False, def_scale=1, dashed=False)[source]

Method used to plot the structural mesh in the undeformed and/or deformed state. If no axes object is provided, a new axes object is created. N.B. this method is adapted from the MATLAB code by F.P. van der Meer: plotGeom.m.

Parameters:
  • analysis_case (AnalysisCase) – Analysis case
  • ax (matplotlib.axes.Axes) – Axes object on which to plot
  • supports (bool) – Whether or not the freedom case supports are rendered
  • loads (bool) – Whether or not the load case loads are rendered
  • undeformed (bool) – Whether or not the undeformed structure is plotted
  • deformed (bool) – Whether or not the deformed structure is plotted
  • def_scale (float) – Deformation scale used for plotting the deformed structure
  • dashed (bool) – Whether or not to plot the structure with dashed lines if only the undeformed structure is to be plotted
plot_reactions(analysis_case)[source]

Method used to generate a plot of the reaction forces.

Parameters:analysis_case (AnalysisCase) – Analysis case
wide_lim(x)[source]

Returns a tuple corresponding to the axis limits (x) stretched by 2% on either side.

Parameters:x (list[float, float]) – List containing axis limits e.g. [xmin, xmax]
Returns:Stretched axis limits (x1, x2)
Return type:tuple(float, float)

Scalar Result

class feastruct.post.post.ScalarResult(result, analysis_case)[source]

Class for storing a scalar result for a specific analysis case.

Variables:
  • result (float) – Scalar result
  • analysis_case (AnalysisCase) – Analysis case relating to the result
__init__(result, analysis_case)[source]

Inits the ScalarResult class.

Variables:result (float) – Scalar result
Parameters:analysis_case (AnalysisCase) – Analysis case relating to the result