|
BESOShellsolve Method
|
Perform bi-directional evolutionary structural optimization (BESO) on the shell elements of a model.
Namespace:
Karamba.Algorithms
Assembly:
KarambaCommon (in KarambaCommon.dll) Version: 2.2.0.4 (2.2.0.4)
Syntaxpublic static void solve(
Model in_model,
List<string> elem_ids,
int max_iter,
double targ_a,
double er,
double ar_max,
int n_hist,
double conv,
double rmin,
double rexp,
double soft_kill_factor,
List<string> load_case_ids,
ref string info,
out Model model,
out List<Model> model_hist,
out List<double> c_hist,
out List<double> v_hist
)
Public Shared Sub solve (
in_model As Model,
elem_ids As List(Of String),
max_iter As Integer,
targ_a As Double,
er As Double,
ar_max As Double,
n_hist As Integer,
conv As Double,
rmin As Double,
rexp As Double,
soft_kill_factor As Double,
load_case_ids As List(Of String),
ByRef info As String,
<OutAttribute> ByRef model As Model,
<OutAttribute> ByRef model_hist As List(Of Model),
<OutAttribute> ByRef c_hist As List(Of Double),
<OutAttribute> ByRef v_hist As List(Of Double)
)
public:
static void solve(
Model^ in_model,
List<String^>^ elem_ids,
int max_iter,
double targ_a,
double er,
double ar_max,
int n_hist,
double conv,
double rmin,
double rexp,
double soft_kill_factor,
List<String^>^ load_case_ids,
String^% info,
[OutAttribute] Model^% model,
[OutAttribute] List<Model^>^% model_hist,
[OutAttribute] List<double>^% c_hist,
[OutAttribute] List<double>^% v_hist
)
static member solve :
in_model : Model *
elem_ids : List<string> *
max_iter : int *
targ_a : float *
er : float *
ar_max : float *
n_hist : int *
conv : float *
rmin : float *
rexp : float *
soft_kill_factor : float *
load_case_ids : List<string> *
info : string byref *
model : Model byref *
model_hist : List<Model> byref *
c_hist : List<float> byref *
v_hist : List<float> byref -> unit
Parameters
- in_model
- Type: Karamba.ModelsModel
Model to be BESOed. - elem_ids
- Type: System.Collections.GenericListString
"List of identifiers of shells that take part in cross section design. By default all are included. - max_iter
- Type: SystemInt32
Maximum number of iterations. - targ_a
- Type: SystemDouble
Target Ratio of remaining are to initial area of all elements that take part in the BESO (also inactive elements count). - er
- Type: SystemDouble
Evolutionary volume ratio: V(k+1) = V(k)*(1+-ER). If ER less than 0 (the default) then ER is set to (1-TargetRatio)/MaxIter+ARmax/2. - ar_max
- Type: SystemDouble
Ratio between maximum number of elements to be added per step and all elements. - n_hist
- Type: SystemInt32
Number of iterations between the steps which are used for calculating the convergence criteria. - conv
- Type: SystemDouble
Relative change of the mass between two iterations Nhist cycles apart below which convergence is assumed. - rmin
- Type: SystemDouble
Radius of influence [m] for determining the element sensitivity. If Rmin less than 0 (the default) then Rmin is set to the
characteristic element length which is calculated as (total Area/number of elements)^(0.5)*2. - rexp
- Type: SystemDouble
Exponent for weighting the distance from nodes to element centers for the calculation of sensitivities. - soft_kill_factor
- Type: SystemDouble
Factor for reducing the stiffness of inactive elements in the calculation (e.g. 1e-5). - load_case_ids
- Type: System.Collections.GenericListString
List of names of load cases that are considered for BESO. - info
- Type: SystemString
Information regarding the optimization process. - model
- Type: Karamba.ModelsModel
Optimized model. - model_hist
- Type: System.Collections.GenericListModel
History of model-evolution as a list of models. - c_hist
- Type: System.Collections.GenericListDouble
History of objective function values. - v_hist
- Type: System.Collections.GenericListDouble
History of volume values.
See Also