Build OS | Windows | MacOS | Linux |
---|---|---|---|
Status |
This open-source research application provides an application that can be used to predict the response of a building subjected to wind events. The application is focused on quantifying the uncertainties in the predicted response, given the that the properties of the buildings and the wind events are not known exactly, and that both the simulation software and the user make simplifying assumptions in the numerical modeling of that structure. In this application, the user is required to characterize the uncertainties in the input. The application will, after utilizing the users selected sampling method, provide information that characterizes the uncertainties in the computed response measures. As the computations to make these determinations can be prohibitively expensive to perform on a user's local computer, the user has the option to perform the computations remotely on HPC resources located at the Texas Advanced Computing Center (TACC) and made available to the user through NHERI DesignSafe, the cyberinfrastructure provider for the distributed NSF funded Natural Hazards in Engineering Research Infrastructure (NHERI) facility.
Please visit the WE-UQ Research Tool webpage for more resources related to this tool. Additionally, this page provides more information on the NHERI SimCenter, including other SimCenter applications, FAQ, and how to collaborate.
WE-UQ requires two dependencies to be able to build it and run it, SimCenterCommon and SimCenterBackendApplications. The provided Conan recipe conanfile.py
, will help to obtain these dependencies automatically while building WE-UQ. The following are the requirements to build WE-UQ:
- Qt Framework version 5.10 or higher: Qt 5.12 is recommended because it is a long term support (LTS) release. You can download and install Qt for you platform and compiler from the official website. You can optionally choose to obtain Qt using Conan as will be shown later.
- C++11 compliant compiler: It is recommended to use Visual C++ 2015 or later on Windows, Clang 10.0 or later on MacOS and GCC 5 or later on Linux.
- Conan Package Manager: Conan package manager is required to automatically handle the dependencies of WE-UQ. The easiest way to install Conan is using the command
pip install conan
. For more information check Conan website and online documentation.
The following are the requirements to run WE-UQ:
- OpenSees: version 3.0 or newer.
- DAKOTA: version 6.5 or newer.
- Python: version 3.6 or newer. Python 2 is supported, but the support might be dropped in the future as it is being deprecated in 2020.
- Perl: ActivateState or Strawberry Perl on Windows, or the built-in perl on Mac or Linux.
This is necessary as a one time setup for Conan to make sure it is configured to use the right remotes. Before we start this process you can check the current remotes used by Conan using the following command:
conan remote list
This will print the remotes to the screen, you need to make sure Conan is set up to use both the Bincrafters and the NHERI SimCenter repositories. By default, these remotes are not configured, but they can be added using the following commands:
conan remote add simcenter https://api.bintray.com/conan/nheri-simcenter/simcenter --insert
This will add the NHERI SimCenter Conan repository as the first entry in the remotes list. Bincrafters repository can be added as follows:
$ conan remote add bincrafters https://api.bintray.com/conan/bincrafters/public-conan
- Create an output folder for the build process. This is important to have an out-of-source build, also called shadow build. It is useful to do so to avoid mixing compiled code with the source code and this will keep the source directory clean. It is common to call this folder build and it can be created as a subfolder of the WE-UQ folder as follows:
mkdir build
cd build
-
Set up Conan remotes as shown above, this needs to be done only once (i.e. not every time you build WE-UQ).
-
Run QMake using the WE-UQ project, as follows:
qmake ../WE-UQ.pro
if you want to build for debugging, you can use the following command:
qmake ../WE-UQ.pro CONFIG+=Debug
This step will first run Conan to install the dependencies and then will generate Makefiles to build WE-UQ. The first time to run this it might take a longer time, specially if this triggered some dependencies to be built form the source. Subsequent runs should be much faster.
- Build using the generated Makefiles. This can be done on Linux and Mac by runnning
make
and on Windows by runnningnmake
. Alternatively, if you want to build in parallel to speed up the process, you can usemake -j
on Linux\Mac orjom
on Windows.
- Open WE-UQ.pro project in Qt Creator.
- Choose and configure the build kit using the prompt. This allows you to choose which compiler version you use, the architecture and build type (e.g. Release).
- Run QMake by right clicking on the project (or using the Build menu) and choosing to run QMake. This step may take a longer time the first time to run it while it is installing the dependencies. To see the output and progress of this step, check the compile output pane in Qt Creator.
- Build WE-UQ using the build tool at the bottom left corner or using the build menu.
- Run WE-UQ using the run tool at the bottom left corner or using the build menu.
Although, the QMake project is set up to automatically call Conan, sometimes it is useful to install the Conan dependencies manually to troubleshoot the process if a problem happens. To do so, we can use the command from the terminal in the build directory:
conan install ..
This will install dependencies for the default Conan profile (e.g. default compiler, x64 and release build).
This project is set up to automatically build using Azure pipelines. Changes in the master branch or release branches will trigger the build, in addition to pull requests. All the builds are acessible through this link. In addition, build artifacts are published with the release packages of WE-UQ for both Windows and Mac and are available through the build status page.
This procedure is currently dated, but it is kept to allow some time to transition to building using Conan for dependency management.
2. Download the SimCenterCommon repo: https://github.com/NHERI-SimCenter/SimCenterCommon
Place the SimCenterCommon Repo in the same directory that you placed the WE-UQ repo.
3. Install Qt: https://www.qt.io/
Qt is free for open source developers. Download it and start the Qt Creator application. From Qt Creator open the WE-UQ-legacy.pro file located in the directory the WE-UQ repo was downloaded into and select build to build it. For detailed instructions on using Qt, browse their website.
4. To run locally you will need to install and build the SimCenterBackendApplications Repo https://github.com/NHERI-SimCenter/SimCenterBackendApplications
SimCenterBackendApplications contains a number of applications written in C++, C and Python. Follow the build instructions on the SimCenterBackendApplications githib page to build them. Once built inside the WE-UQ applicationss preferences set the applications directory entry to point to the applications folder that the build process creates.
This material is based upon work supported by the National Science Foundation under Grant No. 1612843.