DesignCriteria
DesignCriteria
DesignCriteria contains project information, material properties, load combinations, and various design settings.
Structure
public class DesignCriteria
{
public ProjectInformation ProjectInformation { get; set; }
public MaterialProperties MaterialProperties { get; set; }
public LoadCombinations LoadCombinations { get; set; }
public Settings Settings { get; set; }
}
ProjectInformation
Basic project metadata.
var info = design.DesignCriteria.ProjectInformation; // Read values string projectName = info.ProjectName; string clientName = info.ClientName; string designerName = info.DesignerName; DateTime date = info.Date; // Modify values info.ProjectName = "Bridge Beam A1"; info.ClientName = "ACME Construction"; info.DesignerName = "Jane Doe"; info.Date = DateTime.Now;
Properties
| Property | Type | Description |
|---|---|---|
ProjectName | string | Project identifier |
ClientName | string | Client or owner name |
DesignerName | string | Engineer’s name |
Date | DateTime | Design date |
Notes | string | Additional notes |
MaterialProperties
Concrete and reinforcement material definitions.
var materials = design.DesignCriteria.MaterialProperties; // Access concrete properties var concrete = materials.Concrete; // Access reinforcement properties var prestressSteel = materials.PrestressSteel; var mildSteel = materials.MildSteel;
Concrete Properties
| Property | Type | Unit | Description |
|---|---|---|---|
fci | double | psi | Initial concrete strength |
fc | double | psi | 28-day concrete strength |
Eci | double | psi | Initial modulus of elasticity |
Ec | double | psi | Final modulus of elasticity |
UnitWeight | double | pcf | Concrete unit weight |
Example: Material Setup
var design = await client.PullBeamDesignerAsync();
var materials = design.DesignCriteria.MaterialProperties;
// Set concrete properties
materials.Concrete.fc = 6000; // 6000 psi
materials.Concrete.fci = 4500; // 4500 psi initial
materials.Concrete.UnitWeight = 150; // 150 pcf
await client.PushBeamDesignerAsync("", design);
LoadCombinations
Design load combinations for various limit states.
var loadCombos = design.DesignCriteria.LoadCombinations;
// Access combination list
var combinations = loadCombos.Combinations;
foreach (var combo in combinations)
{
Console.WriteLine($"{combo.Name}: {combo.Description}");
}
Load Combination Properties
| Property | Type | Description |
|---|---|---|
Name | string | Combination identifier |
Description | string | Combination description |
LoadFactors | Dictionary | Load type to factor mapping |
LimitState | LimitState | Service, Strength, etc. |
Settings
Various design and analysis settings organized by category.
var settings = design.DesignCriteria.Settings; // Access different setting categories var transferSettings = settings.Transfer; var flexureSettings = settings.Flexure; var shearSettings = settings.Shear; var deflectionSettings = settings.Deflection; var developmentSettings = settings.Development;
Transfer Settings
Settings for transfer (release) condition.
| Property | Type | Description |
|---|---|---|
TransferLength | double | Strand transfer length |
CheckTopTension | bool | Check top fiber tension |
MaxTopTension | double | Maximum top tension allowed |
Flexure Settings
Flexural design parameters.
| Property | Type | Description |
|---|---|---|
PhiFlexure | double | Flexure strength reduction factor |
CheckMinReinforcement | bool | Apply minimum reinforcement check |
Shear Settings
Shear design parameters.
| Property | Type | Description |
|---|---|---|
PhiShear | double | Shear strength reduction factor |
ShearMethod | ShearMethod | Shear calculation method |
Torsion Settings
Torsion design parameters.
| Property | Type | Description |
|---|---|---|
PhiTorsion | double | Torsion strength reduction factor |
IncludeTorsion | bool | Include torsion in design |
Deflection Settings
Deflection analysis parameters.
| Property | Type | Description |
|---|---|---|
LongTermFactor | double | Long-term deflection multiplier |
DeflectionLimit | double | Maximum allowable deflection |
Development Settings
Reinforcement development parameters.
| Property | Type | Description |
|---|---|---|
TopBarFactor | double | Top bar modification factor |
CoatingFactor | double | Epoxy coating factor |
Complete Example
using System;
using System.Threading.Tasks;
using ErikssonBeam.API.BeamClient;
using ErikssonBeam.API.BeamDesigner;
class DesignCriteriaExample
{
static async Task ConfigureDesignCriteria(ErikssonBeamClient client)
{
var design = await client.PullBeamDesignerAsync();
var criteria = design.DesignCriteria;
// Project Information
criteria.ProjectInformation.ProjectName = "Highway Bridge Beam";
criteria.ProjectInformation.ClientName = "State DOT";
criteria.ProjectInformation.DesignerName = "J. Smith, P.E.";
criteria.ProjectInformation.Date = DateTime.Now;
// Materials
var materials = criteria.MaterialProperties;
materials.Concrete.fc = 8000; // High-strength concrete
materials.Concrete.fci = 6000;
materials.Concrete.UnitWeight = 150;
// Design Settings
var settings = criteria.Settings;
settings.Flexure.PhiFlexure = 0.9;
settings.Shear.PhiShear = 0.75;
// Deflection criteria
settings.Deflection.LongTermFactor = 2.0;
await client.PushBeamDesignerAsync("", design);
Console.WriteLine("Design criteria configured successfully");
}
static async Task DisplayCriteria(ErikssonBeamClient client)
{
var design = await client.PullBeamDesignerAsync();
var criteria = design.DesignCriteria;
Console.WriteLine("=== Design Criteria ===\n");
// Project Info
var info = criteria.ProjectInformation;
Console.WriteLine("Project Information:");
Console.WriteLine($" Project: {info.ProjectName}");
Console.WriteLine($" Client: {info.ClientName}");
Console.WriteLine($" Designer: {info.DesignerName}");
Console.WriteLine($" Date: {info.Date:yyyy-MM-dd}");
// Materials
var concrete = criteria.MaterialProperties.Concrete;
Console.WriteLine("\nConcrete Properties:");
Console.WriteLine($" f'c: {concrete.fc} psi");
Console.WriteLine($" f'ci: {concrete.fci} psi");
Console.WriteLine($" Unit Weight: {concrete.UnitWeight} pcf");
// Settings
var settings = criteria.Settings;
Console.WriteLine("\nDesign Settings:");
Console.WriteLine($" Phi Flexure: {settings.Flexure.PhiFlexure}");
Console.WriteLine($" Phi Shear: {settings.Shear.PhiShear}");
}
}
See Also
- Data Model Overview - BeamDesign structure
- StructuralModel - Loading and supports
- Reinforcement - Steel reinforcement