public static Quantity Discharge(string caption)
        {
            Describes describes = new Describes(caption,
                "Système international d'unités: Discharge[1], m3·s−1");

            return GetQuantity(describes, Dimensions.Discharge());
        }
        public static Quantity Area(string caption)
        {
            Describes describes = new Describes(caption,
                "Système international d'unités: Area[1], m2");

            return GetQuantity(describes, Dimensions.Area());
        }
        public static Quantity DimensionlessString(string caption)
        {
            var describes = new Describes(caption, "Dimensionless Double (UNSPECIFIED if unspecified)");

            return new Quantity(
                new ValueDefinition(describes, typeof(string), "UNSPECIFIED"),
                new Unit(new Describes("Dimensionless", "No specified dimensions")));
        }
        public static Quantity DimensionlessDouble(string caption)
        {
            var describes = new Describes(caption, "Dimensionless Double (-Inf if unspecified)");

            return new Quantity(
                new ValueDefinition(describes, typeof(double), Double.NegativeInfinity),
                new Unit(new Describes("Dimensionless", "No specified dimensions")));
        }
        public static Quantity DimensionlessInt32Positive(string caption)
        {
            var describes = new Describes(caption, "Dimensionless Int32 (-1 if unspecified)");

            return new Quantity(
                new ValueDefinition(describes, typeof(Int32), -1),
                new Unit(new Describes("Dimensionless", "No specified dimensions")));
        }
예제 #6
0
        protected override void DoMerge(TestModel model)
        {
            if (model is TestFile testFiles)
            {
                _testModelByLine = null;

                Describes.Merge(testFiles.Describes);
            }
        }
        public OrphanedInputSpaceTime(ITimeSpaceOutput output)
        {
            var describes = new Describes("Temporal Target", "= Temporal Target");
            SetIdentity(new Identity("FluidEarth2.Sdk.OrphanedInputSpaceTime", describes));

            Component = null;

            ValueDefinition = output.ValueDefinition;
            SpatialDefinition = output.SpatialDefinition;

            TimeSet = new TimeSet();
        }
        public static Quantity Pressure(string caption)
        {
            Describes describes = new Describes(caption,
                "Système international d'unités: Pressure[1], kg·m−1·s−2");

            return GetQuantity(describes, Dimensions.Pressure());
        }
        public static Quantity Length(string caption)
        {
            Describes describes = new Describes(caption,
                "Système international d'unités: Length[1], m");

            return GetQuantity(describes, Dimensions.Length());
        }
        public static Quantity Volume(string caption)
        {
            Describes describes = new Describes(caption,
                "Système international d'unités: Volume[1], m3");

            return GetQuantity(describes, Dimensions.Volume());
        }
        public static Quantity Velocity3d(string caption)
        {
            Describes describes = new Describes(caption,
                "Système international d'unités: Velocity[3], m/s");

            return GetQuantity(describes, Dimensions.Velocity(), 3);
        }
        protected override IBaseInput Convert(OpenMI.Standard.IInputExchangeItem item1)
        {
            var engineVariable = string.Format("Input{0}.{1}.{2}",
                ++_nInputs, item1.Quantity.ID, item1.ElementSet.ID);

            var describes = new Describes(engineVariable,
                string.Format("{0}\r\n\r\n{1}", item1.Quantity.Description, item1.ElementSet.Description));

            var elementSet = new ElementSetUnoptimisedStorage(item1.ElementSet);

            return new InputSpaceTimeComponent1(
                new Identity(engineVariable, describes),
                this,
                new Quantity(item1.Quantity, typeof(double), -999.999),
                elementSet,
                engineVariable, -999.999, elementSet.ElementCount);
        }
        /// <summary>
        /// Convert a OpenMI 1.4 output exchange item into corresponding OpenMI 2.0 base output.
        /// </summary>
        /// <param name="item1">OpenMI version 1.4 output exchange item</param>
        /// <returns>OpenMI 2.0 base output</returns>
        protected override IBaseOutput Convert(OpenMI.Standard.IOutputExchangeItem item1)
        {
            var engineVariable = string.Format("Output{0}.{1}.{2}",
                ++_nOutputs, item1.Quantity.ID, item1.ElementSet.ID);

            var describes = new Describes(engineVariable,
                string.Format("{0}\r\n\r\n{1}", item1.Quantity.Description, item1.ElementSet.Description));

            var v1Xml = V1ModelXmlItem(item1);

            var elementSet = ConvertElementSet(item1.ElementSet, v1Xml);

            var output = new OutputSpaceTimeUserVariables(
                new Identity(engineVariable, describes),
                this,
                new Quantity(item1.Quantity, typeof(double), -999.999),
                elementSet,
                engineVariable, -999.999, elementSet.ElementCount);

            if (v1Xml != null)
                foreach (var kv in v1Xml.UserVariables)
                    output.UserVariables.Add(kv.Key, kv.Value);

            return output;
        }