diff --git a/Examples/Examples_all.json b/Examples/Examples_all.json index 5f08fca7..4f252ac1 100644 --- a/Examples/Examples_all.json +++ b/Examples/Examples_all.json @@ -88,7 +88,11 @@ { "name": "Two-Dimensional Truss: PLoM Modeling and Simulation", "description": "In this example, the goal is to demonstrate the use of PLoM model method to predict the response of the example truss under the given load.", - "inputFile": "qfem-0022/src/input.json" + "inputFile": "qfem-0022/src/input.json"}, + { + "name": "Surrogate modeling with design of experiments", + "description": "In this example illustrates different design of experiments strategies.", + "inputFile": "qfem-0021/src/input.json" } ] } \ No newline at end of file diff --git a/Examples/qfem-0001/figures/trussFEM.png b/Examples/qfem-0001/figures/trussFEM.png index c5acb178..9c994868 100644 Binary files a/Examples/qfem-0001/figures/trussFEM.png and b/Examples/qfem-0001/figures/trussFEM.png differ diff --git a/Examples/qfem-0001/figures/trussFORM-RES.png b/Examples/qfem-0001/figures/trussFORM-RES.png index 80c786eb..c06956dd 100644 Binary files a/Examples/qfem-0001/figures/trussFORM-RES.png and b/Examples/qfem-0001/figures/trussFORM-RES.png differ diff --git a/Examples/qfem-0001/figures/trussFORM-UQ.png b/Examples/qfem-0001/figures/trussFORM-UQ.png index f7a68049..f50d1a07 100644 Binary files a/Examples/qfem-0001/figures/trussFORM-UQ.png and b/Examples/qfem-0001/figures/trussFORM-UQ.png differ diff --git a/Examples/qfem-0001/figures/trussGlobal-UQ.png b/Examples/qfem-0001/figures/trussGlobal-UQ.png index 3f863438..2f101714 100644 Binary files a/Examples/qfem-0001/figures/trussGlobal-UQ.png and b/Examples/qfem-0001/figures/trussGlobal-UQ.png differ diff --git a/Examples/qfem-0001/figures/trussQoI.png b/Examples/qfem-0001/figures/trussQoI.png index c48f42f9..a31c5cdd 100644 Binary files a/Examples/qfem-0001/figures/trussQoI.png and b/Examples/qfem-0001/figures/trussQoI.png differ diff --git a/Examples/qfem-0001/figures/trussRES1.png b/Examples/qfem-0001/figures/trussRES1.png index 3dfb29a5..a2b35c66 100644 Binary files a/Examples/qfem-0001/figures/trussRES1.png and b/Examples/qfem-0001/figures/trussRES1.png differ diff --git a/Examples/qfem-0001/figures/trussRES2.png b/Examples/qfem-0001/figures/trussRES2.png index 75deb41e..65805cd2 100644 Binary files a/Examples/qfem-0001/figures/trussRES2.png and b/Examples/qfem-0001/figures/trussRES2.png differ diff --git a/Examples/qfem-0001/figures/trussRES3.png b/Examples/qfem-0001/figures/trussRES3.png index 32e41b2b..79874f04 100644 Binary files a/Examples/qfem-0001/figures/trussRES3.png and b/Examples/qfem-0001/figures/trussRES3.png differ diff --git a/Examples/qfem-0001/figures/trussRES4.png b/Examples/qfem-0001/figures/trussRES4.png index 63fdb45a..868d4587 100644 Binary files a/Examples/qfem-0001/figures/trussRES4.png and b/Examples/qfem-0001/figures/trussRES4.png differ diff --git a/Examples/qfem-0001/figures/trussRES5.png b/Examples/qfem-0001/figures/trussRES5.png index 84e2e050..f685cbd2 100644 Binary files a/Examples/qfem-0001/figures/trussRES5.png and b/Examples/qfem-0001/figures/trussRES5.png differ diff --git a/Examples/qfem-0001/figures/trussRV.png b/Examples/qfem-0001/figures/trussRV.png index f66d09bb..e127e435 100644 Binary files a/Examples/qfem-0001/figures/trussRV.png and b/Examples/qfem-0001/figures/trussRV.png differ diff --git a/Examples/qfem-0001/figures/trussSens-UQ.png b/Examples/qfem-0001/figures/trussSens-UQ.png index ec274e0b..13d330eb 100644 Binary files a/Examples/qfem-0001/figures/trussSens-UQ.png and b/Examples/qfem-0001/figures/trussSens-UQ.png differ diff --git a/Examples/qfem-0001/figures/trussSensitivity-RES.png b/Examples/qfem-0001/figures/trussSensitivity-RES.png index 77532d32..7535cc4c 100644 Binary files a/Examples/qfem-0001/figures/trussSensitivity-RES.png and b/Examples/qfem-0001/figures/trussSensitivity-RES.png differ diff --git a/Examples/qfem-0001/figures/trussUQ.png b/Examples/qfem-0001/figures/trussUQ.png index a1731f42..acdc851a 100644 Binary files a/Examples/qfem-0001/figures/trussUQ.png and b/Examples/qfem-0001/figures/trussUQ.png differ diff --git a/Examples/qfem-0009/README.rst b/Examples/qfem-0009/README.rst index 04ca20e9..87f1ae1b 100644 --- a/Examples/qfem-0009/README.rst +++ b/Examples/qfem-0009/README.rst @@ -124,29 +124,29 @@ QuoFEM also supports MCS-based sensitivity analysis method offered in Dakota eng - N=500 - N=1000 * - E - - 0.74 - - 0.19 - - 0.14 - - 0.12 - - 0.12 - * - P - - 0.76 - - 0.35 - - 0.28 + - 0.18 - 0.23 - 0.23 + - 0.12 + - 0.13 + * - P + - 0.60 + - 0.36 + - 0.29 + - 0.24 + - 0.25 * - Ao - - 0.16 - - 0.39 - - 0.42 + - 0.06 + - 0.45 - 0.42 - - 0.44 + - 0.43 + - 0.46 * - Au - - 0.28 - - 0.32 - - 0.27 - - 0.17 - - 0.15 + - 0.26 + - 0.29 + - 0.25 + - 0.18 + - 0.16 .. list-table:: Dakota: Sensitivity indices from different number of samples (the first raw is the user-specified number of samples and the second raw is the actual number of simulation calls) :header-rows: 2 diff --git a/Examples/qfem-0009/figures/trussPDF.PNG b/Examples/qfem-0009/figures/trussPDF.PNG index db26cf4c..76583aad 100644 Binary files a/Examples/qfem-0009/figures/trussPDF.PNG and b/Examples/qfem-0009/figures/trussPDF.PNG differ diff --git a/Examples/qfem-0009/figures/trussSensitivity-RES-SimUQ.png b/Examples/qfem-0009/figures/trussSensitivity-RES-SimUQ.png index b1b61560..61ac16af 100644 Binary files a/Examples/qfem-0009/figures/trussSensitivity-RES-SimUQ.png and b/Examples/qfem-0009/figures/trussSensitivity-RES-SimUQ.png differ diff --git a/Examples/qfem-0009/figures/trussSensitivity-RES-SimUQ2.png b/Examples/qfem-0009/figures/trussSensitivity-RES-SimUQ2.png index ff60843b..7006efa9 100644 Binary files a/Examples/qfem-0009/figures/trussSensitivity-RES-SimUQ2.png and b/Examples/qfem-0009/figures/trussSensitivity-RES-SimUQ2.png differ diff --git a/Examples/qfem-0009/figures/trussSensitivity-advanced.png b/Examples/qfem-0009/figures/trussSensitivity-advanced.png index fb978f0f..946bc4f7 100644 Binary files a/Examples/qfem-0009/figures/trussSensitivity-advanced.png and b/Examples/qfem-0009/figures/trussSensitivity-advanced.png differ diff --git a/Examples/qfem-0009/figures/trussSensitivity-corr.png b/Examples/qfem-0009/figures/trussSensitivity-corr.png index 0af955c9..8f1a6bf7 100644 Binary files a/Examples/qfem-0009/figures/trussSensitivity-corr.png and b/Examples/qfem-0009/figures/trussSensitivity-corr.png differ diff --git a/Examples/qfem-0009/figures/trussSensitivity-input-SimUQ.png b/Examples/qfem-0009/figures/trussSensitivity-input-SimUQ.png index e2323d7b..a570fe96 100644 Binary files a/Examples/qfem-0009/figures/trussSensitivity-input-SimUQ.png and b/Examples/qfem-0009/figures/trussSensitivity-input-SimUQ.png differ diff --git a/Examples/qfem-0009/src/input.json b/Examples/qfem-0009/src/input.json index 5d307e8f..8c180b85 100644 --- a/Examples/qfem-0009/src/input.json +++ b/Examples/qfem-0009/src/input.json @@ -83,17 +83,17 @@ "mean": 500, "name": "Au", "refCount": 1, - "stdDev": 25, + "stdDev": 100, "value": "RV.Au", "variableClass": "Uncertain" }, { - "distribution": "Normal", + "distribution": "Lognormal", "inputType": "Moments", "mean": 250, "name": "Ao", "refCount": 1, - "stdDev": 10, + "stdDev": 50, "value": "RV.Ao", "variableClass": "Uncertain" } diff --git a/Examples/qfem-0015/README.rst b/Examples/qfem-0015/README.rst index db0b3bcd..e42a3d2e 100644 --- a/Examples/qfem-0015/README.rst +++ b/Examples/qfem-0015/README.rst @@ -198,7 +198,9 @@ Once surrogate model is constructed, it can be used for various UQ/optimization :figclass: align-center :width: 1200 -5. Once the SurrogateGP Info field in the **FEM** tab is entered, the **QoI tab** is automatically populated. Users are allowed to remove some of the QoIs if not interested but may not add new QoIs or modify the names of existing QoIs. + +5. Users need to manually fill in the **QoI tab**. Users do not need to include here all the QoIs used for the training, but the users may not add new QoIs or modify the names of existing QoIs. [Tip] List of the trained QoI names can be found and copied in the **FEM tab**. + .. figure:: figures/SUR-VER5.png :align: center diff --git a/Examples/qfem-0015/figures/SUR-FEMtab.png b/Examples/qfem-0015/figures/SUR-FEMtab.png index 6cc6ab04..55657f2d 100644 Binary files a/Examples/qfem-0015/figures/SUR-FEMtab.png and b/Examples/qfem-0015/figures/SUR-FEMtab.png differ diff --git a/Examples/qfem-0015/figures/SUR-QoItab.png b/Examples/qfem-0015/figures/SUR-QoItab.png index 5dff9b9c..aa4f6e99 100644 Binary files a/Examples/qfem-0015/figures/SUR-QoItab.png and b/Examples/qfem-0015/figures/SUR-QoItab.png differ diff --git a/Examples/qfem-0015/figures/SUR-RVtab.png b/Examples/qfem-0015/figures/SUR-RVtab.png index 87db323e..1befff65 100644 Binary files a/Examples/qfem-0015/figures/SUR-RVtab.png and b/Examples/qfem-0015/figures/SUR-RVtab.png differ diff --git a/Examples/qfem-0015/figures/SUR-UQtab1.png b/Examples/qfem-0015/figures/SUR-UQtab1.png index 74f3c90c..82dca211 100644 Binary files a/Examples/qfem-0015/figures/SUR-UQtab1.png and b/Examples/qfem-0015/figures/SUR-UQtab1.png differ diff --git a/Examples/qfem-0015/figures/SUR-VER2.png b/Examples/qfem-0015/figures/SUR-VER2.png index c77b7615..f9ab80c7 100644 Binary files a/Examples/qfem-0015/figures/SUR-VER2.png and b/Examples/qfem-0015/figures/SUR-VER2.png differ diff --git a/Examples/qfem-0015/figures/SUR-VER3.png b/Examples/qfem-0015/figures/SUR-VER3.png index 8a158943..7b60ab06 100644 Binary files a/Examples/qfem-0015/figures/SUR-VER3.png and b/Examples/qfem-0015/figures/SUR-VER3.png differ diff --git a/Examples/qfem-0015/figures/SUR-VER4.png b/Examples/qfem-0015/figures/SUR-VER4.png index 5369a74d..9d7b9775 100644 Binary files a/Examples/qfem-0015/figures/SUR-VER4.png and b/Examples/qfem-0015/figures/SUR-VER4.png differ diff --git a/Examples/qfem-0015/figures/SUR-VER5.png b/Examples/qfem-0015/figures/SUR-VER5.png index 351784a5..aa4f6e99 100644 Binary files a/Examples/qfem-0015/figures/SUR-VER5.png and b/Examples/qfem-0015/figures/SUR-VER5.png differ diff --git a/Examples/qfem-0015/src/input.json b/Examples/qfem-0015/src/input.json index c569a0ed..6a21bef2 100644 --- a/Examples/qfem-0015/src/input.json +++ b/Examples/qfem-0015/src/input.json @@ -58,142 +58,142 @@ { "distribution": "Uniform", "inputType": "Parameters", - "lowerbound": 0.45, + "lowerbound": 0.2, "name": "materialQuality", - "refCount": 1, - "upperbound": 0.55, + "refCount": 4, + "upperbound": 1, "value": "RV.materialQuality", - "variableClass": "Uniform" + "variableClass": "Uncertain" }, { "distribution": "Uniform", "inputType": "Parameters", - "lowerbound": 1350, + "lowerbound": 800, "name": "planArea", - "refCount": 1, - "upperbound": 1650, + "refCount": 4, + "upperbound": 2400, "value": "RV.planArea", - "variableClass": "Uniform" + "variableClass": "Uncertain" }, { "distribution": "Uniform", "inputType": "Parameters", - "lowerbound": 0.54, + "lowerbound": 0.4, "name": "aspectRatio", - "refCount": 1, - "upperbound": 0.66, + "refCount": 4, + "upperbound": 0.8, "value": "RV.aspectRatio", - "variableClass": "Uniform" + "variableClass": "Uncertain" }, { "distribution": "Uniform", "inputType": "Parameters", - "lowerbound": 0.063, + "lowerbound": 0.02, "name": "damping", - "refCount": 1, - "upperbound": 0.077, + "refCount": 4, + "upperbound": 0.1, "value": "RV.damping", - "variableClass": "Uniform" + "variableClass": "Uncertain" }, { "distribution": "Uniform", "inputType": "Parameters", - "lowerbound": 0.585, + "lowerbound": 0.5, "name": "extDensity_x", - "refCount": 1, - "upperbound": 0.715, + "refCount": 4, + "upperbound": 0.8, "value": "RV.extDensity_x", - "variableClass": "Uniform" + "variableClass": "Uncertain" }, { "distribution": "Uniform", "inputType": "Parameters", - "lowerbound": 0.54, + "lowerbound": 0.5, "name": "extDensity_z", - "refCount": 1, - "upperbound": 0.66, + "refCount": 4, + "upperbound": 0.8, "value": "RV.extDensity_z", - "variableClass": "Uniform" + "variableClass": "Uncertain" }, { "distribution": "Uniform", "inputType": "Parameters", - "lowerbound": 0.063, + "lowerbound": 0.06, "name": "intDensity", - "refCount": 1, - "upperbound": 0.077, + "refCount": 4, + "upperbound": 0.08, "value": "RV.intDensity", - "variableClass": "Uniform" + "variableClass": "Uncertain" }, { "distribution": "Uniform", "inputType": "Parameters", - "lowerbound": 0.18, + "lowerbound": 0, "name": "extEcc_x", - "refCount": 1, - "upperbound": 0.22, + "refCount": 4, + "upperbound": 0.5, "value": "RV.extEcc_x", - "variableClass": "Uniform" + "variableClass": "Uncertain" }, { "distribution": "Uniform", "inputType": "Parameters", - "lowerbound": 0.18, + "lowerbound": 0, "name": "extEcc_z", - "refCount": 1, - "upperbound": 0.22, + "refCount": 4, + "upperbound": 0.5, "value": "RV.extEcc_z", - "variableClass": "Uniform" + "variableClass": "Uncertain" }, { "distribution": "Uniform", "inputType": "Parameters", - "lowerbound": 0.18, + "lowerbound": 0, "name": "intEcc_x", - "refCount": 1, - "upperbound": 0.22, + "refCount": 4, + "upperbound": 0.5, "value": "RV.intEcc_x", - "variableClass": "Uniform" + "variableClass": "Uncertain" }, { "distribution": "Uniform", "inputType": "Parameters", - "lowerbound": 0.18, + "lowerbound": 0, "name": "intEcc_z", - "refCount": 1, - "upperbound": 0.22, + "refCount": 4, + "upperbound": 0.5, "value": "RV.intEcc_z", - "variableClass": "Uniform" + "variableClass": "Uncertain" }, { "distribution": "Uniform", "inputType": "Parameters", - "lowerbound": 11.7, + "lowerbound": 10, "name": "floor1Weight", - "refCount": 1, - "upperbound": 14.3, + "refCount": 4, + "upperbound": 15.5, "value": "RV.floor1Weight", - "variableClass": "Uniform" + "variableClass": "Uncertain" }, { "distribution": "Uniform", "inputType": "Parameters", - "lowerbound": 11.7, + "lowerbound": 10, "name": "floor2Weight", - "refCount": 1, - "upperbound": 14.3, + "refCount": 4, + "upperbound": 15.5, "value": "RV.floor2Weight", - "variableClass": "Uniform" + "variableClass": "Uncertain" }, { "distribution": "Uniform", "inputType": "Parameters", - "lowerbound": 9.9, + "lowerbound": 10, "name": "roofWeight", - "refCount": 1, - "upperbound": 12.1, + "refCount": 4, + "upperbound": 15.5, "value": "RV.roofWeight", - "variableClass": "Uniform" + "variableClass": "Uncertain" } ], "remoteAppDir": "C:/Users/SimCenter/Sangri/SimCenterBackendApplications", diff --git a/Examples/qfem-0016/README.rst b/Examples/qfem-0016/README.rst index a93b9a80..6eb941b8 100644 --- a/Examples/qfem-0016/README.rst +++ b/Examples/qfem-0016/README.rst @@ -6,9 +6,6 @@ Surrogate Modeling to Predict Mean and Variance of Earthquake Response | Problem files | :github:`Github ` | +----------------+------------------------------------------+ -.. note:: - This example may run up to 20 minutes depending on the computer performance. For a quick test run, the user may want to reduce the **Max Computation Time** or **Max Number of model Runs**. - Outline ------- @@ -23,11 +20,11 @@ The structure (:qfem-0016:`three story nonlinear building stick model #include #include -#include +//#include +#include #include #include @@ -257,6 +258,10 @@ WorkflowApp_quoFEM::outputToJSON(QJsonObject &jsonObjectTop) { if (result == false) return result; + result = theResults->outputToJSON(jsonObjectTop); + if (result == false) + return result; + //theRunLocalWidget->outputToJSON(jsonObjectTop); return result; @@ -301,7 +306,7 @@ WorkflowApp_quoFEM::processResults(QString &dirName){ theResults->processResults(dirName); // theRunWidget->hide(); - theComponentSelection->displayComponent("RES"); + theComponentSelection->displayComponent(QString("RES")); } void @@ -344,9 +349,15 @@ WorkflowApp_quoFEM::inputFromJSON(QJsonObject &jsonObject) theEDPs->inputFromJSON(jsonObject); theRVs->inputFromJSON(jsonObject); + theRunWidget->inputFromJSON(jsonObject); - - return true; + + auto* theNewResults = theUQ_Selection->getResults(); + // + if (theNewResults->inputFromJSON(jsonObject) == false) + emit errorMessage("quoFEM: failed to read RES data"); + theResults->setResultWidget(theNewResults); + return true; } diff --git a/main.cpp b/main.cpp index cfa85c5f..f1c11fe5 100644 --- a/main.cpp +++ b/main.cpp @@ -163,7 +163,7 @@ int main(int argc, char *argv[]) QString version("Version 3.0.0"); w.setVersion(version); - QString citeText = QString("1) Frank McKenna, Adam Zsarnoczay, Michael Gardner, Wael Elhaddad, Sang-ri Yi, & Aakash Bangalore Satish. (2021). NHERI-SimCenter/quoFEM: Version 2.4.0 (v2.4.0). Zenodo. https://doi.org/10.5281/zenodo.5558000 \n\n2) Gregory G. Deierlein, Frank McKenna, Adam Zsarnóczay, Tracy Kijewski-Correa, Ahsan Kareem, Wael Elhaddad, Laura Lowes, Matt J. Schoettler, and Sanjay Govindjee (2020) A Cloud-Enabled Application Framework for Simulating Regional-Scale Impacts of Natural Hazards on the Built Environment. Frontiers in the Built Environment. 6:558706. doi: 10.3389/fbuil.2020.558706"); + QString citeText = QString("1) Frank McKenna, Sang-ri Yi, Aakash Bangalore Satish, Adam Zsarnoczay, Michael Gardner, Kuanshi Zhong, & Wael Elhaddad. (2022). NHERI-SimCenter/quoFEM: Version 3.0.0 (v3.0.0). Zenodo. https://doi.org/10.5281/zenodo.6404498 \n\n2) Gregory G. Deierlein, Frank McKenna, Adam Zsarnóczay, Tracy Kijewski-Correa, Ahsan Kareem, Wael Elhaddad, Laura Lowes, Matt J. Schoettler, and Sanjay Govindjee (2020) A Cloud-Enabled Application Framework for Simulating Regional-Scale Impacts of Natural Hazards on the Built Environment. Frontiers in the Built Environment. 6:558706. doi: 10.3389/fbuil.2020.558706"); w.setCite(citeText);