Cases

Analysis Case

class feastruct.fea.cases.AnalysisCase(freedom_case, load_case)[source]

Class for storing a specific freedom and load case to be used in an analysis case.

An analysis case contains a reference to a specific freedom and load case, which are both used to define a particular analysis case. Results are stored making reference to an AnalysisCase object.

Variables:
  • freedom_case (FreedomCase) – The FreedomCase object used in this analysis case
  • load_case (LoadCase) – The LoadCase object used in this analysis case
__init__(freedom_case, load_case)[source]

Inits the AnalysisCase class.

Parameters:
  • freedom_case – Freedom case used in this analysis case
  • load_case – Load case used in this analysis case

Case

class feastruct.fea.cases.Case(items)[source]

Parent class for cases.

Provides an init method for the creation of different types of cases and also a method to add an item to the case list.

Variables:items (list[BoundaryCondition]) – A list of BoundaryCondition items defining the case
__init__(items)[source]

Inits the Case class.

Parameters:items (list[BoundaryCondition]) – A list of BoundaryConditions to initialise the case
add_item(item)[source]

Appends an ‘item’ to the list of entries in the case.

Parameters:item (BoundaryCondition) – Entry to add to the current case

Freedom Case

class feastruct.fea.cases.FreedomCase(items=None)[source]

Bases: feastruct.fea.cases.Case

Class for storing a set dirichlet boundary conditions.

A freedom case contains a set of dirichlet boundary conditions that can be used in an analysis case. Methods are provided to add boundary conditions to the FreedomCase object.

Variables:items (list[BoundaryCondition]) – A list of BoundaryCondition items defining the freedom case
__init__(items=None)[source]

Inits the FreedomCase class.

Parameters:items (list[BoundaryCondition]) – A list of BoundaryConditions to initialise the case
add_item(item)

Appends an ‘item’ to the list of entries in the case.

Parameters:item (BoundaryCondition) – Entry to add to the current case
add_nodal_support(node, val, dof)[source]

Adds a nodal dirichlet boundary condition to the current freedom case.

Parameters:
  • node (Node) – The node object at which the nodal support acts
  • val (float) – The value of the nodal support - zero indicates a fixed support, whereas a non-zero value indicates a prescribed displacement
  • dof (int) – The degree of freedom about which the boundary condition acts
Returns:

Nodal support object

Return type:

feastruct.fea.bcs.NodalSupport

get_nodal_fixities(node)[source]

Returns a list defining the nodal fixity at the node for the current freedom case.

Parameters:node (feastruct.fea.node.Node) – Node object

Load Case

class feastruct.fea.cases.LoadCase(items=None)[source]

Bases: feastruct.fea.cases.Case

Class for storing a set neumann boundary conditions.

A load case contains a set of neumann boundary conditions that can be used in an analysis case. Methods are provided to add loads to the LoadCase object.

Variables:
  • items (list[ElementLoad]) – A list of BoundaryCondition items defining the load case
  • element_items – A list of ElementLoad items defining the load case
__init__(items=None)[source]

Inits the LoadCase class.

Parameters:items (list[BoundaryCondition]) – A list of BoundaryConditions to initialise the case
add_element_load(element_load)[source]

Adds an element load to the current load case.

Parameters:element_load (ElementLoad) – Element load object
Returns:Element load object
Return type:ElementLoad
add_item(item)

Appends an ‘item’ to the list of entries in the case.

Parameters:item (BoundaryCondition) – Entry to add to the current case
add_nodal_load(node, val, dof)[source]

Adds a nodal neumann boundary condition to the current load case.

Parameters:
  • node (Node) – The node object at which the nodal load is applied
  • val (float) – The value of the nodal load
  • dof (int) – The degree of freedom about which the nodal load acts
Returns:

Nodal load object

Return type:

feastruct.fea.bcs.NodalLoad