Click or drag to resize

BESOBeamsolve Method

Perform bi-directional evolutionary structural optimization (BESO) on the beam and truss elements of a model.

Namespace:  Karamba.Algorithms
Assembly:  KarambaCommon (in KarambaCommon.dll) Version: 1.0.0.0 (1.0.0.0)
Syntax
public static void solve(
	Model inModel,
	List<string> elemIds,
	List<string> elemGrpIds,
	List<int> loadCaseInds,
	double massRatio,
	int nMassIter,
	int nMaxIter,
	double tenFac,
	double comFac,
	double sheFac,
	double momFac,
	double stepFac,
	double minDist,
	double cutRate,
	out List<List<bool>> history,
	out List<bool> modelActivationState,
	out List<double> weights,
	out double maxDisp,
	out Model model
)

Parameters

inModel
Type: Karamba.ModelsModel
model to run BESO with
elemIds
Type: System.Collections.GenericListString
List of identifiers of single elements that take part in the BESO procedure. By default the whole structure is included.
elemGrpIds
Type: System.Collections.GenericListString
List of identifiers of groups of elements that take part in the BESO procedure and shall be switched on and off collectively.
loadCaseInds
Type: System.Collections.GenericListInt32
List of load cases that are considered for BESO
massRatio
Type: SystemDouble
Target Ratio of remaining mass to initial mass of all elements that take part in the BESO.
nMassIter
Type: SystemInt32
Intended number of iterations for constantly adding or removing elements in the structure.
nMaxIter
Type: SystemInt32
Maximum number of iterations for constantly adding or removing elements in the structure.
tenFac
Type: SystemDouble
Weighting factor for beams under tension.
comFac
Type: SystemDouble
Weighting factor for beams under compression.
sheFac
Type: SystemDouble
Weighting factor for beams under shear.
momFac
Type: SystemDouble
Weighting factor for beams under moments.
stepFac
Type: SystemDouble
Add/remove n*(1+stepFac) of the n currently active elements in one half-step. Remove/add n*stepFac elements in the next half-step.
minDist
Type: SystemDouble
Minimum distance between elements changed in one step.
cutRate
Type: SystemDouble
Limit ratio between the weight of any active element to the mean weight of all active elements. Elements below that limit get removed after the last step.
history
Type: System.Collections.GenericListListBoolean
List of Listse of boolean values: For each iteration a list of booleans signals for each element of the model whether it was on or off.
modelActivationState
Type: System.Collections.GenericListBoolean
List of boolean values corresponding to each element in the optimized model. True if the element is active.
weights
Type: System.Collections.GenericListDouble
BESO-weight of each active group in descending order.
maxDisp
Type: SystemDouble
Maximum displacement
model
Type: Karamba.ModelsModel
Model after BESO.
See Also