|
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: 1.0.0.0 (1.0.0.0)
Syntax 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 kill_thick,
List<int> load_case_inds,
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,
kill_thick As Double,
load_case_inds As List(Of Integer),
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 kill_thick,
List<int>^ load_case_inds,
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 *
kill_thick : float *
load_case_inds : List<int> *
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. - kill_thick
- Type: SystemDouble
Shell thickness used for soft kill of shell elements. - load_case_inds
- Type: System.Collections.GenericListInt32
List 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