BESOBeamsolve Method

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

Definition

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

Parameters

inModel  Model
model to run BESO with.
elemIds  ListString
List of identifiers of single elements that take part in the BESO procedure. By default the whole structure is included.
elemGrpIds  ListString
List of identifiers of groups of elements that take part in the BESO procedure and shall be switched on and off collectively.
loadCaseIds  ListString
List of names of load-cases that are considered for BESO.
massRatio  Double
Target Ratio of remaining mass to initial mass of all elements that take part in the BESO.
nMassIter  Int32
Intended number of iterations for constantly adding or removing elements in the structure.
nMaxIter  Int32
Maximum number of iterations for constantly adding or removing elements in the structure.
tenFac  Double
Weighting factor for beams under tension.
comFac  Double
Weighting factor for beams under compression.
sheFac  Double
Weighting factor for beams under shear.
momFac  Double
Weighting factor for beams under moments.
stepFac  Double
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  Double
Minimum distance between elements changed in one step.
cutRate  Double
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.
softKillFactor  Double
Factor for reducing the stiffness of inactive elements in the calculation (e.g. 1e-5).
history  ListListBoolean
List of Lists of boolean values: For each iteration a list of booleans signals for each element of the model whether it was on or off.
modelActivationState  ListBoolean
List of boolean values corresponding to each element in the optimized model. True if the element is active.
weights  ListDouble
BESO-weight of each active group in descending order.
maxDisp  Double
Maximum displacement.
model  Model
Model after BESO.

See Also