protected override XElement TypedSerialize(VariableExport variableExport, SimModelSerializationContext serializationContext) { var speciesNode = base.TypedSerialize(variableExport, serializationContext); //Export only if NOT allowed (SimModel default for missing attribute is: ALLOWED) if (!variableExport.NegativeValuesAllowed) { speciesNode.AddAttribute(SimModelSchemaConstants.NegativeValuesAllowed, "0"); } if (variableExport.RHSIds.Count == 0) { return(speciesNode); } var rhsListNode = speciesNode.AddElement(SerializerRepository.CreateElement(SimModelSchemaConstants.RhsFormulaList)); foreach (var rhsId in variableExport.RHSIds) { var rhsNode = rhsListNode.AddElement(SerializerRepository.CreateElement(SimModelSchemaConstants.RhsFormula)); rhsNode.AddAttribute(SimModelSchemaConstants.Id, rhsId.ConvertedTo <string>()); } return(speciesNode); }
protected override XElement TypedSerialize(T objectToSerialize, SimModelSerializationContext serializationContext) { var element = SerializerRepository.CreateElement(ElementName); element.SetValue(objectToSerialize.ConvertedTo <string>()); return(element); }
protected override XElement TypedSerialize(TQuantity quantityExport, SimModelSerializationContext serializationContext) { var quantityExportNode = base.TypedSerialize(quantityExport, serializationContext); if (quantityExport.Value == null) { quantityExportNode.AddAttribute(_formulaIdAttribute, quantityExport.FormulaId.ToString()); } return(quantityExportNode); }
protected override XElement TypedSerialize(ParameterExport parameterExport, SimModelSerializationContext serializationContext) { var parameterNode = base.TypedSerialize(parameterExport, serializationContext); //do not write default value for paramter.CanBeVaried which is almost always true if (!parameterExport.CanBeVaried) { parameterNode.AddAttribute(SimModelSchemaConstants.CanBeVaried, "0"); } return(parameterNode); }
protected override void Context() { sut = new SimModelDoubleAttributeMapper(); _context = new SimModelSerializationContext(); }
protected override XElement TypedSerialize(TableFormulaWithOffsetExport tableFormulaWithOffsetExport, SimModelSerializationContext serializationContext) { var formulaNode = base.TypedSerialize(tableFormulaWithOffsetExport, serializationContext); var tableObjectNode = SerializerRepository.CreateElement(SimModelSchemaConstants.TableObject); tableObjectNode.AddAttribute(SimModelSchemaConstants.Id, tableFormulaWithOffsetExport.TableObjectId.ConvertedTo <string>()); formulaNode.Add(tableObjectNode); var offsetObjectNode = SerializerRepository.CreateElement(SimModelSchemaConstants.OffsetObject); offsetObjectNode.AddAttribute(SimModelSchemaConstants.Id, tableFormulaWithOffsetExport.OffsetObjectId.ConvertedTo <string>()); formulaNode.Add(offsetObjectNode); return(formulaNode); }
protected override XElement TypedSerialize(ExplicitFormulaExport explicitFormulaExport, SimModelSerializationContext serializationContext) { var formulaNode = base.TypedSerialize(explicitFormulaExport, serializationContext); var equationNode = SerializerRepository.CreateElement(SimModelSchemaConstants.Equation); equationNode.Value = explicitFormulaExport.Equation; formulaNode.Add(equationNode); addReferenceNodeFor(formulaNode, explicitFormulaExport.ReferenceList, SimModelSchemaConstants.ReferenceList, SimModelSchemaConstants.Reference); return(formulaNode); }
protected override XElement TypedSerialize(OutputIntervalExport objectToSerialize, SimModelSerializationContext serializationContext) { var element = base.TypedSerialize(objectToSerialize, serializationContext); element.AddAttribute("distribution", "Uniform"); return(element); }
protected override XElement TypedSerialize(TableFormulaWithXArgumentExport tableFormulaWithXArgumentExport, SimModelSerializationContext serializationContext) { var formulaNode = base.TypedSerialize(tableFormulaWithXArgumentExport, serializationContext); var tableObjectNode = SerializerRepository.CreateElement(SimModelSchemaConstants.TableObject); tableObjectNode.AddAttribute(SimModelSchemaConstants.Id, tableFormulaWithXArgumentExport.TableObjectId); formulaNode.Add(tableObjectNode); var xArgumentObject = SerializerRepository.CreateElement(SimModelSchemaConstants.XArgumentObject); xArgumentObject.AddAttribute(SimModelSchemaConstants.Id, tableFormulaWithXArgumentExport.XArgumentObjectId); formulaNode.Add(xArgumentObject); return(formulaNode); }
protected override XElement TypedSerialize(SolverSettingsExport objectToSerialize, SimModelSerializationContext serializationContext) { var node = base.TypedSerialize(objectToSerialize, serializationContext); addAsElement(node, objectToSerialize, x => x.H0); addAsElement(node, objectToSerialize, x => x.HMax); addAsElement(node, objectToSerialize, x => x.HMin); addAsElement(node, objectToSerialize, x => x.AbsTol); addAsElement(node, objectToSerialize, x => x.MxStep); addAsElement(node, objectToSerialize, x => x.RelTol); addAsElement(node, objectToSerialize, x => x.UseJacobian); return(node); }