You may optionally enable sample calculations for your custom criterion.
namespace Solver.Criteria.Sample;
{
{
.
WithUid(
"00000000-0000-0000-0000-REPLACEME001")
_ = config.Add(definition);
.
WithUid(
"00000000-0000-0000-0000-REPLACEME001")
_ = config.Add(setting);
return config;
}
{
double t = plate.Thickness;
double a = plate.Length;
double b = plate.Width;
.
Add(
"t", t,
Unit.Distance, SampleCalcIds.t)
.
Add(
"a", a,
Unit.Distance, SampleCalcIds.a)
.
Add(
"b", b,
Unit.Distance, SampleCalcIds.b);
var forces = plate.GetLoadMidpoint();
.
Add(
"N<_x>", forces.Nx,
Unit.UnitForce)
.
Add(
"N<_y>", forces.Ny,
Unit.UnitForce)
.
Add(
"N<_xy>", forces.Nxy,
Unit.UnitForce);
_ = details.AddSubTree("Allowables")
.Add(
"Allow", allowable,
Unit.Stress);
var margin = ComputeCore(t, a, b);
}
private static Margin ComputeCore(
double t,
double a,
double b)
{
}
private static SampleCalcItemList InitSampleCalc()
{
var items = new SampleCalcItemList();
SampleCalcItemConfig item;
item = new SampleCalcItemConfig()
items.Add(item);
item = new SampleCalcItemConfig()
items.Add(item);
item = new SampleCalcItemConfig()
items.Add(item);
return items;
}
private static ISampleCalcOutput ComputeSampleCalc(ISampleCalcInput sampleInput)
{
var items = sampleInput.
Items;
double a = items.GetItem(SampleCalcIds.a).DoubleValue;
double b = items.GetItem(SampleCalcIds.b).DoubleValue;
var ms = ComputeCore(t, a, b);
var outItems = new SampleCalcItemList();
SampleCalcItemConfig item;
item = new SampleCalcItemConfig()
outItems.Add(item);
item = new SampleCalcItemConfig()
outItems.Add(item);
return new SampleCalcOutput(outItems);
}
}
internal enum SampleCalcIds
{
t, a, b
}
A single analysis result. Use this to return the analysis result from a criterion that does not use b...
Definition Public.cs:3644
Definition Public.cs:3450
Definition Public.cs:4524
CriterionDefinitionConfig WithThreadSafety(bool isThreadSafe)
Definition Public.cs:4677
CriterionDefinitionConfig WithVersion(Version version)
Definition Public.cs:4619
CriterionDefinitionConfig WithAnalyzeFunc(Func< ICriterionInput, ICriterionResult > analyzeFunc)
Definition Public.cs:4829
CriterionDefinitionConfig AddApplicability(RepresentationType representationType)
If no applicability is defined, this criterion will be applicable to all representation types.
Definition Public.cs:4724
CriterionDefinitionConfig WithAnalyzeSampleCalcFunc(Func< ISampleCalcInput, ISampleCalcOutput > analyzeSampleCalcFunc)
Definition Public.cs:4837
CriterionDefinitionConfig WithDescription(string description)
Definition Public.cs:4612
CriterionDefinitionConfig WithUid(Guid uid)
Definition Public.cs:4632
CriterionDefinitionConfig WithInitSampleCalcFunc(Func< IReadOnlySampleCalcItemList > sampleCalcInitFunc)
Definition Public.cs:4845
CriterionDefinitionConfig WithBatchLoads(bool isBatchLoads)
Definition Public.cs:4683
CriterionDefinitionConfig WithReferenceId(int referenceId)
Definition Public.cs:4658
CriterionDefinitionConfig WithName(string name)
Definition Public.cs:4605
ENTRY POINT.
Definition Public.cs:3315
SampleCalcItemConfig WithId(int id)
Definition Public.cs:4286
double DoubleValue
Definition Public.cs:4122
SampleCalcItemConfig WithName(string name)
Definition Public.cs:4247
SampleCalcItemConfig WithValue(double? value)
Definition Public.cs:4168
Definition Public.cs:3767
SettingDefinitionConfig WithName(string name)
Definition Public.cs:3803
SettingDefinitionConfig WithCategory(string category)
Definition Public.cs:3863
SettingDefinitionConfig WithDefaultValue(int? defaultValue)
Definition Public.cs:3870
SettingDefinitionConfig WithId(int id)
Definition Public.cs:3824
SettingDefinitionConfig WithDescription(string description)
Definition Public.cs:3810
SettingDefinitionConfig WithUid(Guid uid)
Definition Public.cs:3837
IPlateRep GetPlateRep()
Represent this analyzable as a plate.
ISettingList Settings
Custom analysis settings.
Definition Public.cs:1751
IDetailTree Add(string name, double value, Unit unit)
Captures a value as a detail. The 'unit' field allows HyperX to convert this number to display units ...
IDetailTree AddSubTree(string name)
Adds and returns, nested detail tree.
SampleCalcItemConfig GetItem(int id)
RepresentationType
Ways a portion of structure can be represented for analysis.
Definition Public.cs:86
Unit
Definition Public.cs:412
@ Margin
Definition Public.cs:456