OGS
WellboreGeometry.cpp
Go to the documentation of this file.
1// SPDX-FileCopyrightText: Copyright (c) OpenGeoSys Community (opengeosys.org)
2// SPDX-License-Identifier: BSD-3-Clause
3
4#include "WellboreGeometry.h"
5
6#include <string>
7
10
11namespace ProcessLib
12{
13namespace WellboreSimulator
14{
16 BaseLib::ConfigTree const& config,
17 std::vector<std::unique_ptr<ParameterLib::ParameterBase>> const& parameters)
18{
19 double const length =
21 config.getConfigParameter<double>("length");
22
23 auto const& diameter = ParameterLib::findParameter<double>(
25 config.getConfigParameter<std::string>("diameter"),
26 parameters,
27 1,
28 nullptr);
29
30 auto const& casing_thickness = ParameterLib::findParameter<double>(
32 config.getConfigParameter<std::string>("casing_thickness"),
33 parameters,
34 1,
35 nullptr);
36
37 auto const& pipe_thickness = ParameterLib::findParameter<double>(
39 config.getConfigParameter<std::string>("pipe_thickness"),
40 parameters,
41 1,
42 nullptr);
43
44 auto const& roughness = ParameterLib::findParameter<double>(
46 config.getConfigParameter<std::string>("roughness"),
47 parameters,
48 1,
49 nullptr);
50
51 return {length, diameter, casing_thickness, pipe_thickness, roughness};
52}
53} // namespace WellboreSimulator
54} // namespace ProcessLib
T getConfigParameter(std::string const &param) const
OGS_NO_DANGLING Parameter< ParameterDataType > & findParameter(std::string const &parameter_name, std::vector< std::unique_ptr< ParameterBase > > const &parameters, int const num_components, MeshLib::Mesh const *const mesh=nullptr)
WellboreGeometry createWellboreGeometry(BaseLib::ConfigTree const &config, std::vector< std::unique_ptr< ParameterLib::ParameterBase > > const &parameters)