| 142 | |
| 143 | |
| 144 | ShearPanelMaterial::ShearPanelMaterial(int tag, |
| 145 | double f1p, double d1p, double f2p, double d2p, |
| 146 | double f3p, double d3p, double f4p, double d4p, |
| 147 | double f1n, double d1n, double f2n, double d2n, |
| 148 | double f3n, double d3n, double f4n, double d4n, |
| 149 | double mdp, double mfp, double msp, |
| 150 | double mdn, double mfn, double msn, |
| 151 | double gk1, double gk2, double gk3, double gk4, double gklim, |
| 152 | double gd1, double gd2, double gd3, double gd4, double gdlim, |
| 153 | double gf1, double gf2, double gf3, double gf4, double gflim, double ge, double ystr): |
| 154 | UniaxialMaterial(tag, MAT_TAG_ShearPanelMaterial), |
| 155 | stress1p(f1p), strain1p(d1p), stress2p(f2p), strain2p(d2p), |
| 156 | stress3p(f3p), strain3p(d3p), stress4p(f4p), strain4p(d4p), |
| 157 | stress1n(f1n), strain1n(d1n), stress2n(f2n), strain2n(d2n), |
| 158 | stress3n(f3n), strain3n(d3n), stress4n(f4n), strain4n(d4n), yldStress(ystr), yldStrain(0.0), |
| 159 | envlpPosStress(6), envlpPosStrain(6), envlpNegStress(6), envlpNegStrain(6), tagMat(tag), |
| 160 | gammaK1(gk1), gammaK2(gk2), gammaK3(gk3), gammaK4(gk4), gammaKLimit(gklim), |
| 161 | gammaD1(gd1), gammaD2(gd2), gammaD3(gd3), gammaD4(gd4), gammaDLimit(gdlim), |
| 162 | gammaF1(gf1), gammaF2(gf2), gammaF3(gf3), gammaF4(gf4), gammaFLimit(gflim), |
| 163 | gammaE(ge), |
| 164 | rDispP(mdp), rForceP(mfp), uForceP(msp), rDispN(mdn), rForceN(mfn), uForceN(msn), |
| 165 | state3Stress(4), state3Strain(4), state4Stress(4), state4Strain(4), |
| 166 | envlpPosDamgdStress(6), envlpNegDamgdStress(6) |
| 167 | { |
| 168 | bool error = false; |
| 169 | |
| 170 | // Positive backbone parameters |
| 171 | if (strain1p <= 0.0) |
| 172 | error = true; |
| 173 | |
| 174 | if (strain2p <= 0.0) |
| 175 | error = true; |
| 176 | |
| 177 | if (strain3p <= 0.0) |
| 178 | error = true; |
| 179 | |
| 180 | if (strain4p <= 0.0) |
| 181 | error = true; |
| 182 | |
| 183 | // Negative backbone parameters |
| 184 | if (strain1n >= 0.0) |
| 185 | error = true; |
| 186 | |
| 187 | if (strain2n >= 0.0) |
| 188 | error = true; |
| 189 | |
| 190 | if (strain3n >= 0.0) |
| 191 | error = true; |
| 192 | |
| 193 | if (strain4n >= 0.0) |
| 194 | error = true; |
| 195 | |
| 196 | if (error){ |
| 197 | opserr << "ERROR: -- input backbone is not unique (one-to-one) , ShearPanelMaterial::ShearPanelMaterial" << "\a"; |
| 198 | } |
| 199 | |
| 200 | envlpPosStress.Zero(); envlpPosStrain.Zero(); envlpNegStress.Zero(); envlpNegStrain.Zero(); |
| 201 | energyCapacity = 0.0; kunload = 0.0; elasticStrainEnergy = 0.0; |
nothing calls this directly
no test coverage detected