Skip to content

Commit

Permalink
Merge pull request #27 from alexiusacademia/beam-analysis
Browse files Browse the repository at this point in the history
Reduced kd trial iteration interval
  • Loading branch information
alexiusacademia authored Sep 19, 2018
2 parents 50d75dd + cf47710 commit 6aeb8d6
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 5 deletions.
10 changes: 7 additions & 3 deletions src/com/structuralengineering/rcbeam/BeamAnalysisTester.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

import com.structuralengineering.rcbeam.analysis.BeamAnalyses;
import com.structuralengineering.rcbeam.analysis.BeamAnalysisResult;
import com.structuralengineering.rcbeam.analysis.StressDistribution;
import com.structuralengineering.rcbeam.properties.BeamSection;
import com.structuralengineering.rcbeam.properties.BeamSectionNode;
import com.structuralengineering.rcbeam.properties.SteelTension;
Expand Down Expand Up @@ -42,13 +43,16 @@ public static void main(String[] args) {

SteelTension st = new SteelTension();

st.setTotalArea(0, Unit.METRIC);
st.setTotalArea(1000, Unit.METRIC);

bs.setSteelTension(st);

BeamAnalyses analyses = new BeamAnalyses(bs);
BeamAnalysisResult beforeCrack = analyses.beforeCrackAnalysis();
printString("AsMin = " + analyses.getMinimumSteelTensionArea());
BeamAnalysisResult nominalParabolic = analyses.beamCapacityAnalysis(StressDistribution.PARABOLIC);
printString("Mn(parabolic) = " + nominalParabolic.getMomentC() / Math.pow(1000, 2));

BeamAnalysisResult nominalWhitney = analyses.beamCapacityAnalysis(StressDistribution.WHITNEY);
printString("Mn(Whitney) = " + nominalWhitney.getMomentC() / Math.pow(1000, 2));
}

private static void printString(String str) {
Expand Down
10 changes: 8 additions & 2 deletions src/com/structuralengineering/rcbeam/analysis/BeamAnalyses.java
Original file line number Diff line number Diff line change
Expand Up @@ -240,7 +240,7 @@ public BeamAnalysisResult beamCapacityAnalysis(StressDistribution sd) {
Cs += AsPrime * fsPrime;

AsCalc = (Cc + Cs) / fs;
kd += 0.001;
kd += 0.1;
}

double My = 0;
Expand Down Expand Up @@ -467,10 +467,16 @@ private double[] beamCompressionStripParabolic(int i,
double kd,
double fcPrime,
double highestElev) {
double ⲉco = 2 * 0.85 * fcPrime / (4700 * Math.sqrt(fcPrime));
double[] result = new double[2];
double y = i * dy;
double ⲉcy = ⲉcu * y / kd; // Strain at y
double fc = 0.85 * fcPrime * (2 * ⲉcy / ⲉcu - Math.pow((ⲉcy / ⲉcu), 2));
double fc;
if (ⲉcy < ⲉco) {
fc = 0.85 * fcPrime * (2 * ⲉcy / ⲉco - Math.pow((ⲉcy / ⲉco), 2));
}else {
fc = 0.85 * fcPrime;
}
double yElev = highestElev - kd + y;
double b = Calculators.getBaseAtY(yElev, this.beamSection.getSection());
result[0] = fc;
Expand Down

0 comments on commit 6aeb8d6

Please sign in to comment.