Click or drag to resize

FactoryAlgorithmsOptiCroSec Method

Optimize the cross section of beams and shells for stress and maximum deflection. It is an iterative procedure. Be aware of the fact that NII forces are not updated.

Namespace:  Karamba.Factories
Assembly:  KarambaCommon (in KarambaCommon.dll) Version: 2.2.0.4 (2.2.0.4)
Syntax
public virtual Model OptiCroSec(
	Model model,
	IReadOnlyList<CroSec> crosecs,
	out List<double> maxDisplacements,
	out List<double> compliances,
	out string message,
	int ulsIter = 5,
	double targetUtil = 1,
	int slsIter = 5,
	double maxDeformLimit = -1,
	int nSamples = 3,
	bool elastDesign = true,
	bool bisectionSearch = true,
	List<string> elemIds = null,
	List<string> elemGrpIds = null,
	double gammaM0 = 1,
	double gammaM1 = 1,
	bool swayFrame = true
)

Parameters

model
Type: Karamba.ModelsModel
Model for which cross sections shall be optimized.
crosecs
Type: System.Collections.GenericIReadOnlyListCroSec
Sorted list of cross sections to select from for optimization. Cross sections coming first are first tested for appropriateness.
maxDisplacements
Type: System.Collections.GenericListDouble
Maximum displacement in each load-case after optimization.
compliances
Type: System.Collections.GenericListDouble
Resulting compliance (i.e. internal elastic energy) for each load-case.
message
Type: SystemString
Information regarding the optimization run.
ulsIter (Optional)
Type: SystemInt32
Number of iterations for the ultimate limit state.
targetUtil (Optional)
Type: SystemDouble
Target value for the element utilization.
slsIter (Optional)
Type: SystemInt32
Number of iterations for the serviceability limit state (limiting maximum deformation).
maxDeformLimit (Optional)
Type: SystemDouble
Limit for maximum deformation not to be surpassed by optimized structure under any load-cases. in case of negative values no displacement limits are checked.
nSamples (Optional)
Type: SystemInt32
Number of points along the beam axis for which the cross section design is to be checked. The minimum is two for beams. For shells the minimum is one. Larger values than one for shells have currently no impact.
elastDesign (Optional)
Type: SystemBoolean
'true' if cross section design should be elastic, otherwise plastic design is performed.
bisectionSearch (Optional)
Type: SystemBoolean
If 'true' then sufficient cross sections are searched for using a bisection algorithm.
elemIds (Optional)
Type: System.Collections.GenericListString
Identifiers of elements to be optimized. If null all elements are optimized.
elemGrpIds (Optional)
Type: System.Collections.GenericListString
Identifiers of element sets which shall have identical cross sections. In case of shells all faces of the shell have the same height.
gammaM0 (Optional)
Type: SystemDouble
Safety factor on the material if buckling does not govern the cross section design.
gammaM1 (Optional)
Type: SystemDouble
Safety factor on the material if buckling governs the cross section design.
swayFrame (Optional)
Type: SystemBoolean
flag which indicates when true that buckling involves sideways movement of the structure.

Return Value

Type: Model
Model with optimized cross sections.
See Also