public void DerivativeOperator1D3P_Multiplu_Decimal() { // Подготовка var d = new DerivativeOperator1D3P { Kim1 = 2.4m, Ki = 0.1m, Kip1 = 1.8m }; decimal decimalNumber = 2.0m; // Действие var result = d * decimalNumber; var d3 = new DerivativeOperator1D3P { Kim1 = 4.8m, Ki = 0.2m, Kip1 = 3.6m }; // Проверка Assert.NotEqual(d, d3); Assert.NotEqual(result, d3); Assert.Equal(result.Kim1, d3.Kim1); Assert.Equal(result.Ki, d3.Ki); Assert.Equal(result.Kip1, d3.Kip1); }
/// <summary> /// Исследование характеристик работы решателя одномерных задач /// </summary> private static void SolverTask1DTests() { // Задаём дифференциальный оператор var op = new DerivativeOperator1D3P(); op.Kim1 = -1m / (2m * 0.5m); op.Ki = 2m; op.Kip1 = 1m / (2m * 0.5m); // Создаём одномерную расчетную область var raschOblast1D = new Grid1D(1.5m, 11, AxisEnum.X); // Создаём исследуемый объект var lineSegment = new GeometryPrimitive1DLineSegment(new Coordinate1D(0m), 0.5m); var raschObjectGeometry1D = new Geometry1D(); var geometryElement = new GeometryElement1D(new Coordinate1D(0.5m)); geometryElement.AddGeometryPrimitive(lineSegment); raschObjectGeometry1D.AddGeometryElement(geometryElement); var gridWithGeometryPrecalculated1D = new GridWithGeometryPreCalculated1D(raschOblast1D, raschObjectGeometry1D); var nodeSet1D = gridWithGeometryPrecalculated1D.NodeSet1D; // Создаём задачу var task = new SolverTask1D(); task.NodeSet1D = nodeSet1D; SolverResult result = Solver.Calculate(task); }
public void DerivativeOperator1D3P_Plus_DerivativeOperator1D3P() { // Подготовка var d1 = new DerivativeOperator1D3P { Kim1 = 2.4m, Ki = 0.1m, Kip1 = 1.8m }; var d2 = new DerivativeOperator1D3P { Kim1 = 0.1m, Ki = 0.2m, Kip1 = 0.3m }; // Действие var result = d1 + d2; var d3 = new DerivativeOperator1D3P { Kim1 = 2.5m, Ki = 0.3m, Kip1 = 2.1m }; // Проверка Assert.NotEqual(d1, d2); Assert.NotEqual(result, d1); Assert.NotEqual(result, d2); Assert.Equal(result.Kim1, d3.Kim1); Assert.Equal(result.Ki, d3.Ki); Assert.Equal(result.Kip1, d3.Kip1); }