Eriksson Beam API
Search Results for

    Show / Hide Table of Contents

    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
    • Edit this page
    In this article
    Back to top Generated by DocFX