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:3509
Definition Public.cs:3315
Definition Public.cs:4389
CriterionDefinitionConfig WithThreadSafety(bool isThreadSafe)
Definition Public.cs:4542
CriterionDefinitionConfig WithVersion(Version version)
Definition Public.cs:4484
CriterionDefinitionConfig WithAnalyzeFunc(Func< ICriterionInput, ICriterionResult > analyzeFunc)
Definition Public.cs:4694
CriterionDefinitionConfig AddApplicability(RepresentationType representationType)
If no applicability is defined, this criterion will be applicable to all representation types.
Definition Public.cs:4589
CriterionDefinitionConfig WithAnalyzeSampleCalcFunc(Func< ISampleCalcInput, ISampleCalcOutput > analyzeSampleCalcFunc)
Definition Public.cs:4702
CriterionDefinitionConfig WithDescription(string description)
Definition Public.cs:4477
CriterionDefinitionConfig WithUid(Guid uid)
Definition Public.cs:4497
CriterionDefinitionConfig WithInitSampleCalcFunc(Func< IReadOnlySampleCalcItemList > sampleCalcInitFunc)
Definition Public.cs:4710
CriterionDefinitionConfig WithBatchLoads(bool isBatchLoads)
Definition Public.cs:4548
CriterionDefinitionConfig WithReferenceId(int referenceId)
Definition Public.cs:4523
CriterionDefinitionConfig WithName(string name)
Definition Public.cs:4470
ENTRY POINT.
Definition Public.cs:3189
SampleCalcItemConfig WithId(int id)
Definition Public.cs:4151
double DoubleValue
Definition Public.cs:3987
SampleCalcItemConfig WithName(string name)
Definition Public.cs:4112
SampleCalcItemConfig WithValue(double? value)
Definition Public.cs:4033
Definition Public.cs:3632
SettingDefinitionConfig WithName(string name)
Definition Public.cs:3668
SettingDefinitionConfig WithCategory(string category)
Definition Public.cs:3728
SettingDefinitionConfig WithDefaultValue(int? defaultValue)
Definition Public.cs:3735
SettingDefinitionConfig WithId(int id)
Definition Public.cs:3689
SettingDefinitionConfig WithDescription(string description)
Definition Public.cs:3675
SettingDefinitionConfig WithUid(Guid uid)
Definition Public.cs:3702
IPlateRep GetPlateRep()
Represent this analyzable as a plate.
ISettingList Settings
Custom analysis settings.
Definition Public.cs:1700
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