void SampleListing::CreateListing() { StdTitle("Uncertainty Propogation Setup"); ClearEnumStrs(); AddEnumStr("Monte Carlo", utMonteCarlo); AddEnumStr("FOSM", utFOSM); AddEnumStr("PEM", utPEM); AddStdEnum("Uncertainty", uncertType); AddBoolText("Unspecified correlations", forceCorrelationsToZero, "Force to 0.0", "Random"); if (IsMonteCarlo()) { AddBoolText("Sampling procedure", samplingIsLHS, "Latin Hyper-Cube", "Monte-Carlo"); AddStdInt("Number of trials", numberOfTrials); AddStdInt("Random number seed", randSeed); AddYesNo("User-specified correlations ?", specifyCorrelations); } else if (IsFOSM()) { AddBoolText("Derivative Span", calcDerivSpan, "Calculated", "User-Specified"); if (calcDerivSpan) AddStdReal("Initial Derivative Span", derivSpan); else AddStdReal("Specified Derivative Span", derivSpan); } AddStdInt("# of sampled variables", SampVar::GetnActive()); SC_SetupErr tempErr; SampVarArray currSamp; for (int i = 0; i < currSamp.Size(); i++) AddStatus(currSamp[i]->GetLongID(), currSamp[i]->SampleSetupOK(tempErr)); }
void DataCaptureListing::ListSuperComponent(const SuperComponent& outSuper) { ClearEnumStrs(); AddEnumStr("+ Pressure", SuperComponent::soAddP); AddEnumStr("- Pressure", SuperComponent::soSubP); AddEnumStr("+ Delta P", SuperComponent::soAddDP); AddEnumStr("- Delta P", SuperComponent::soSubDP); char tempStr[80]; CopyString(tempStr, " ", 80); ConcatString(tempStr, outSuper.GetID(), 80); ConcatString(tempStr, " operation", 80); AddStdEnum(tempStr, outSuper.superOp); ClearEnumStrs(); AddEnumStr("Constant", SuperComponent::stConstant); AddEnumStr("Optimized", SuperComponent::stOptimized); AddEnumStr("Sampled", SuperComponent::stSampled); AddStdEnum(" Type", outSuper.superType); switch (outSuper.superType) { case SuperComponent::stConstant : { UnitReal temp(outSuper.superRadUnits, outSuper.constantRad); AddUnitReal(" Fixed radius", temp); break; } case SuperComponent::stOptimized : { AddOptVar(" Optimized radius", outSuper.optRadVal); break; } case SuperComponent::stSampled : { AddSampVar(" Sampled radius", outSuper.sampRadVal); break; } case SuperComponent::stVary : { AddVaryVar(" Varied radius", outSuper.varyRadVal); break; } } }
void DataCaptureListing::ListDataCapture(const DataCaptureSpec& outDC) { AddConditionalBlank(); AddStdText("Output ID", outDC.dataDesig); ClearEnumStrs(); AddEnumStr("Pressure", DataCaptureSpec::ctPressure); AddEnumStr("Flow Rate", DataCaptureSpec::ctFlow); AddEnumStr("Cumulative Production", DataCaptureSpec::ctProduction); AddEnumStr("Test Zone Property", DataCaptureSpec::ctTestZone); AddEnumStr("Water Table", DataCaptureSpec::ctWaterTable); AddStdEnum(" Output type", outDC.captureType); ClearEnumStrs(); switch (outDC.captureType) { case DataCaptureSpec::ctPressure : { AddEnumStr("Test Zone", DataCaptureSpec::pctTestZone); AddEnumStr("Observation Well", DataCaptureSpec::pctRadius); AddEnumStr("Superposition", DataCaptureSpec::pctSuperposition); AddStdEnum(" Pressure capture type", outDC.pressureCapType); switch (outDC.pressureCapType) { case DataCaptureSpec::pctTestZone : { if (control.IsLayered()) { AddStdText("Wellbore zone", outDC.wellboreZoneID); } break; } case DataCaptureSpec::pctRadius : { if (control.IsHorizontalAnisotropic()) { AddUnitReal(" Observation well X location", outDC.obsXLocation); AddUnitReal(" Observation well Y location", outDC.obsYLocation); AddStdReal(" Observation well angle (degrees)", Degrees(outDC.GetObsAngle()), SC_DecFormat(3)); } AddUnitReal(" Observation well radius", outDC.radiusData); if (control.Is2DRadial()) { AddBoolText(" Vertical position", outDC.zvalueIsRatio, "Actual", "Ratio"); if (outDC.zvalueIsRatio) AddStdReal(" Vertical ratio", outDC.normalizedZ, SC_DecFormat(3)); else AddUnitReal(" Vertical offset", outDC.actualZ); } break; } case DataCaptureSpec::pctSuperposition : { for (int i = 0; i < outDC.superData.Size(); i++) if (outDC.superData.IsValid(i)) ListSuperComponent(outDC.superData.GetRef(i)); break; } } break; } case DataCaptureSpec::ctFlow : { AddEnumStr("Well", DataCaptureSpec::fctWell); AddEnumStr("Formation", DataCaptureSpec::fctFormation); AddEnumStr("Test Zone", DataCaptureSpec::fctTestZone); AddEnumStr("Wellbore Storage", DataCaptureSpec::fctWellboreStorage); AddStdEnum(" Flow rate output type", outDC.flowCapType); break; } case DataCaptureSpec::ctProduction : { AddEnumStr("Well", DataCaptureSpec::prctWell); AddEnumStr("Formation", DataCaptureSpec::prctFormation); AddEnumStr("Test Zone", DataCaptureSpec::prctTestZone); AddStdEnum(" Production output type", outDC.flowCapType); break; } case DataCaptureSpec::ctTestZone : { AddEnumStr("Temperature", DataCaptureSpec::tzctTemperature); AddEnumStr("Compressibility", DataCaptureSpec::tzctCompressibility); AddEnumStr("Volume", DataCaptureSpec::tzctVolume); AddStdEnum(" Test zone property output type", outDC.flowCapType); break; } case DataCaptureSpec::ctWaterTable : { AddUnitReal(" Water table radius", outDC.radiusData); break; } } AddUnitIndex(" Output units", outDC.outputUnits); }