private void readNonLinearParameters(XmlNode node)
{
foreach (XmlNode child in node.ChildNodes)
{
if ("Case".Equals(child.Name))
{
string name = readAttribute(node, "Case", "").Trim();
name = (name.Length > 0) ? name : Culture.Get("Case");
AnalysisCase aCase = null;
foreach (AbstractCase ac in model.AbstractCases)
if (ac is AnalysisCase && name.Equals(ac.Name))
{
aCase = (AnalysisCase)ac;
break;
}
if (aCase != null)
{
if (!(aCase.Properties is PDeltaCaseProps))
aCase.Properties = new PDeltaCaseProps();
NonLinearParams nl = ((PDeltaCaseProps)aCase.Properties).NonLinearParams;
nl.Unloading = readAttribute(child, "Unloading", nl.Unloading);
nl.GeoNonLin = readAttribute(child, "GeoNonLin", nl.GeoNonLin);
nl.ResultsSave = readAttribute(child, "ResultsSave", nl.ResultsSave);
nl.MaxTotal = int.Parse(readAttribute(child, "MaxTotal", nl.MaxTotal.ToString()));
nl.MaxNull = int.Parse(readAttribute(child, "MaxNull", nl.MaxNull.ToString()));
nl.MaxIterCS = int.Parse(readAttribute(child, "MaxIterCS", nl.MaxIterCS.ToString()));
nl.MaxIterNR = int.Parse(readAttribute(child, "MaxIterNR", nl.MaxIterNR.ToString()));
nl.ItConvTol = float.Parse(readAttribute(child, "ItConvTol", nl.ItConvTol.ToString()));
nl.UseEvStep = readAttribute(child, "UseEvStep", CodeYN(nl.UseEvStep)).Equals("Yes");
nl.EvLumpTol = float.Parse(readAttribute(child, "EvLumpTol", nl.EvLumpTol.ToString()));
nl.LSPerIter = int.Parse(readAttribute(child, "LSPerIter", nl.LSPerIter.ToString()));
nl.LSTol = float.Parse(readAttribute(child, "LSTol", nl.LSTol.ToString()));
nl.LSStepFact = float.Parse(readAttribute(child, "LSStepFact", nl.LSStepFact.ToString()));
nl.FrameTC = readAttribute(child, "FrameTC", CodeYN(nl.FrameTC)).Equals("Yes");
nl.FrameHinge = readAttribute(child, "FrameHinge", CodeYN(nl.FrameHinge)).Equals("Yes");
nl.CableTC = readAttribute(child, "CableTC", CodeYN(nl.CableTC)).Equals("Yes");
nl.LinkTC = readAttribute(child, "LinkTC", CodeYN(nl.LinkTC)).Equals("Yes");
nl.LinkOther = readAttribute(child, "LinkOther", CodeYN(nl.LinkOther)).Equals("Yes");
nl.TFMaxIter = int.Parse(readAttribute(child, "TFMaxIter", nl.TFMaxIter.ToString()));
nl.TFTol = float.Parse(readAttribute(child, "TFTol", nl.TFTol.ToString()));
nl.TFAccelFact = float.Parse(readAttribute(child, "TFAccelFact", nl.TFAccelFact.ToString()));
nl.TFNoStop = readAttribute(child, "TFNoStop", CodeYN(nl.TFNoStop)).Equals("Yes");
}
}
}
}