public void Initialize(int num_layer) { Clear(); float hk0 = (float)Math.Round(20.0f / num_layer, 0); float ss = 0.0001f; float sy = 0.1f; float wetdry = 0.1f; for (int i = 0; i < num_layer; i++) { LayerGroup layer = new LayerGroup() { Name = "Layer " + (i + 1), CHANI = CHANI.Define, LAYAVG = LAYAVG.Harmonic_Mean, LayerIndex = i, LAYTYP = LAYTYP.Convertable, LAYVKA = LAYVKA.Ratio_of_horizontal_to_vertical_hydraulic_conductivity, LAYWET = LAYWET.Active, HK = 20 - i * hk0, VKA = 100, SS = ss, SY = sy, WETDRY = wetdry }; _Layers.Add(layer); } Initialized = true; }
public void OnItemChanged(LayerGroup lg, string prop) { if (LayerGroupChanged != null) { LayerGroupChanged(this, lg, prop); } }
public void Add(int pre_index) { int index = pre_index + 1; LayerGroup layer = new LayerGroup() { Name = "Layer " + (index + 1), CHANI = CHANI.Define, LAYAVG = LAYAVG.Harmonic_Mean, LayerIndex = index, LAYTYP = LAYTYP.Convertable, LAYVKA = LAYVKA.Ratio_of_horizontal_to_vertical_hydraulic_conductivity, LAYWET = LAYWET.Active }; _Layers.Insert(index, layer); Refresh(); }
public void Remove(LayerGroup layer) { _Layers.Remove(layer); Refresh(); }
private void LayerGroupManager_ItemChanged(object sender, LayerGroup e, string propname) { var grid = this.Grid as RegularGrid; int layer = e.LayerIndex; int ncell = grid.ActiveCellCount; switch (propname) { case "LAYTYP": LAYTYP[layer] = (int)e.LAYTYP; if (LAYTYP[layer] == 1) { LAYWET[layer] = 1; } else { LAYWET[layer] = 0; } break; case "LAYAVG": LAYAVG[layer] = (int)e.LAYAVG; break; case "CHANI": CHANI[layer] = (int)e.CHANI; break; case "LAYVKA": LAYVKA[layer] = (int)e.LAYVKA; break; case "LAYWET": LAYWET[layer] = (int)e.LAYWET; break; case "HK": for (int i = 0; i < ncell; i++) { HK[layer, 0, i] = (float)e.HK; HANI[layer, 0, i] = 1; } break; case "VKA": for (int i = 0; i < ncell; i++) { VKA[layer, 0, i] = (float)e.VKA; } break; case "SS": for (int i = 0; i < ncell; i++) { SS[layer, 0, i] = (float)e.SS; } break; case "SY": if (LAYTYP[layer] != 0) { for (int i = 0; i < ncell; i++) { SY[layer, 0, i] = (float)e.SY; } } break; case "WETDRY": if (LAYTYP[layer] != 0 && LAYWET[layer] != 0) { for (int i = 0; i < ncell; i++) { WETDRY[layer, 0, i] = (float)e.WETDRY; } } break; } }