Skip to content

Commit

Permalink
Documenting config parameters.
Browse files Browse the repository at this point in the history
  • Loading branch information
ChaofanChen authored and HBShaoUFZ committed Oct 30, 2018
1 parent 8ad1a97 commit 642ce17
Show file tree
Hide file tree
Showing 52 changed files with 81 additions and 4 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
It represents the well used to install pipes for heat transport.
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
The borehole diameter is one of the most important geometric parameters of borehole.
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
The borehole length is another one of the most important geometric parameters of borehole.
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
It means the borehole heat exchanger has a fixed heat load and the flow rate in the pipes is constant.
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
The flow rate needs to be specified while using FixedPowerConstantFlow as BHE boundary condition with the unit of m3/s.
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Fixed power should be provided and its unit is W, which also represents the heat load on the BHE, extracting energy from or injecting energy to the subsurface. Positve value means extracting energy from the soil.
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Another kind of BHE boundary condition to calculate the temperature difference between inlet and outlet fluid. With this BHE boundary condition, the flow rate of circulating fluid is various and inflow temperature is calculated by the heat load, flow rate at particular time and outflow temperature got from the previous time step.
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Flow rate is not a constant and changes with time, so the flow rate curve should be presented and set as input data.
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Fixed power needs to be imposed and the unit is W.
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
This is another type of controlling temperature difference with specific inflow temperature curve and constant flow rate.
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Flow rate needs to be offered by using m3/s as its unit.
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
It means the inflow temperature curve varying with time.
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
The inflow temperature at this time step will be calculated by the heat load on the BHE, flow rate of circulating fluid and previous outflow temperature. Thus, There is a need to specify the way of getting the heat load and flow rate values.
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Specify the type of controlling flow rate and heat load on the BHE.
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Grout is usually used to keep the pipes in the place. It is like a bridge of exchanging heat energy between soil and pipe.
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Density of the grout.
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
One of the basic thermal properties. Here means specific heat capacity of the grout.
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Porosity of the grout. We always would like to have a kind of grout with low porosity because the efficiency of the heat conduction will be higher. In grout, there is an assume that no heat advection exists.
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Heat conductivity of the grout. In order to have a better performance of heat transporting between soil and pipes, grout materials with high heat conductivity will be preferred.
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
In the model, multi BHEs are able to be simulated. Thus, parameters belong to the same BHE should be classified.
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
In the borehole heat exchanger, there are inlet and outlet pipes installed in the borehole to transport energy.
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
It represents the inlet pipe of the borehole heat exchanger.
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
The radius of the inlet pipe.
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Heat conductivity of the inlet pipe.
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
The thickness of the inlet pipe wall. There is also a need to point out the thickness of outlet pipe.
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
In 1U-type borehole heat exchanger, there is distance between inlet and oulet pipes except at the bottom of the borehole heat exchanger. Such distance will affect the heat exchagne between inlet and outlet pipes.
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Longitudinal dispersion of the fluid in the pipes.
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
It represents the properties of the outlet pipe, including the radius, wall thickness and thermal conductivity of the outlet pipe wall.
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
It is about the property of the circulating fluid in pipes.
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
The density of the refrigerant.
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
The properties of the refrigerant can be changed with temperature, it important to point out its reference temperature of parameters selecting.
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Specific heat capacity of the circulating fluid. Sometimes, the antifreeze will be mixed with water in pipes.
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Thermal conductivity of the refrigerant.
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Viscosity of the refrigerant.
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
The type of BHE should be specified, 1U, 2U, CXA or CXC.
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
There can be many borehole heat exchangers.
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
It means the process is called the HEAT_TRANSPORT_BHE.
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Process variables need to be emphasized.
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Process variable needs to be specified in this process.
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
The density of fluid in the soil.
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
The density of the gas in the soil if there is gas existing.
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
The density of the solid in the soil. Different strata have different solid density.
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Heat capacity of the fluid in the soil.
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Heat capacity of the gas in the soil.
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Heat capacity of the solid in the soil.
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Thermal conductivity of the fluid in the soil, such as groundwater flowing in the subsurface will affect the temperature distribution.
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Thermal conductivity of the gas in the soil.
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Thermal conductivity of the solid in the soil.
20 changes: 20 additions & 0 deletions ProcessLib/HeatTransportBHE/BHE/CreateBHE1U.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -24,55 +24,75 @@ BHE::BHE_1U createBHE1U(
std::unique_ptr<MathLib::PiecewiseLinearInterpolation>> const&
curves)
{
//! \ogs_file_param{prj__processes__process__HEAT_TRANSPORT_BHE__borehole_heat_exchangers__borehole_heat_exchanger__borehole}
auto const& borehole_config = config.getConfigSubtree("borehole");
const double borehole_length =
//! \ogs_file_param{prj__processes__process__HEAT_TRANSPORT_BHE__borehole_heat_exchangers__borehole_heat_exchanger__borehole__length}
borehole_config.getConfigParameter<double>("length");
const double borehole_diameter =
//! \ogs_file_param{prj__processes__process__HEAT_TRANSPORT_BHE__borehole_heat_exchangers__borehole_heat_exchanger__borehole__diameter}
borehole_config.getConfigParameter<double>("diameter");
BoreholeGeometry const borehole{borehole_length, borehole_diameter};

//! \ogs_file_param{prj__processes__process__HEAT_TRANSPORT_BHE__borehole_heat_exchangers__borehole_heat_exchanger__pipes}
auto const& pipes_config = config.getConfigSubtree("pipes");
//! \ogs_file_param{prj__processes__process__HEAT_TRANSPORT_BHE__borehole_heat_exchangers__borehole_heat_exchanger__pipes__inlet}
Pipe const inlet_pipe = createPipe(pipes_config.getConfigSubtree("inlet"));
Pipe const outlet_pipe =
//! \ogs_file_param{prj__processes__process__HEAT_TRANSPORT_BHE__borehole_heat_exchangers__borehole_heat_exchanger__pipes__outlet}
createPipe(pipes_config.getConfigSubtree("outlet"));
const double pipe_distance =
//! \ogs_file_param{prj__processes__process__HEAT_TRANSPORT_BHE__borehole_heat_exchangers__borehole_heat_exchanger__pipes__distance_between_pipes}
pipes_config.getConfigParameter<double>("distance_between_pipes");
const double pipe_longitudinal_dispersion_length =
//! \ogs_file_param{prj__processes__process__HEAT_TRANSPORT_BHE__borehole_heat_exchangers__borehole_heat_exchanger__pipes__longitudinal_dispersion_length}
pipes_config.getConfigParameter<double>(
"longitudinal_dispersion_length");
PipeConfiguration1U const pipes{inlet_pipe, outlet_pipe, pipe_distance,
pipe_longitudinal_dispersion_length};

//! \ogs_file_param{prj__processes__process__HEAT_TRANSPORT_BHE__borehole_heat_exchangers__borehole_heat_exchanger__grout}
auto const& grout_config = config.getConfigSubtree("grout");
const double grout_density =
//! \ogs_file_param{prj__processes__process__HEAT_TRANSPORT_BHE__borehole_heat_exchangers__borehole_heat_exchanger__grout__density}
grout_config.getConfigParameter<double>("density");
const double grout_porosity =
//! \ogs_file_param{prj__processes__process__HEAT_TRANSPORT_BHE__borehole_heat_exchangers__borehole_heat_exchanger__grout__porosity}
grout_config.getConfigParameter<double>("porosity");
const double grout_heat_capacity =
//! \ogs_file_param{prj__processes__process__HEAT_TRANSPORT_BHE__borehole_heat_exchangers__borehole_heat_exchanger__grout__heat_capacity}
grout_config.getConfigParameter<double>("heat_capacity");
const double grout_thermal_conductivity =
//! \ogs_file_param{prj__processes__process__HEAT_TRANSPORT_BHE__borehole_heat_exchangers__borehole_heat_exchanger__grout__thermal_conductivity}
grout_config.getConfigParameter<double>("thermal_conductivity");
GroutParameters const grout{grout_density, grout_porosity,
grout_heat_capacity,
grout_thermal_conductivity};

//! \ogs_file_param{prj__processes__process__HEAT_TRANSPORT_BHE__borehole_heat_exchangers__borehole_heat_exchanger__refrigerant}
auto const& refrigerant_config = config.getConfigSubtree("refrigerant");
double const refrigerant_density =
//! \ogs_file_param{prj__processes__process__HEAT_TRANSPORT_BHE__borehole_heat_exchangers__borehole_heat_exchanger__refrigerant__density}
refrigerant_config.getConfigParameter<double>("density");
double const refrigerant_viscosity =
//! \ogs_file_param{prj__processes__process__HEAT_TRANSPORT_BHE__borehole_heat_exchangers__borehole_heat_exchanger__refrigerant__viscosity}
refrigerant_config.getConfigParameter<double>("viscosity");
double const refrigerant_heat_capacity =
//! \ogs_file_param{prj__processes__process__HEAT_TRANSPORT_BHE__borehole_heat_exchangers__borehole_heat_exchanger__refrigerant__specific_heat_capacity}
refrigerant_config.getConfigParameter<double>("specific_heat_capacity");
double const refrigerant_thermal_conductivity =
//! \ogs_file_param{prj__processes__process__HEAT_TRANSPORT_BHE__borehole_heat_exchangers__borehole_heat_exchanger__refrigerant__thermal_conductivity}
refrigerant_config.getConfigParameter<double>("thermal_conductivity");
double const refrigerant_reference_temperature =
//! \ogs_file_param{prj__processes__process__HEAT_TRANSPORT_BHE__borehole_heat_exchangers__borehole_heat_exchanger__refrigerant__reference_temperature}
refrigerant_config.getConfigParameter<double>("reference_temperature");
RefrigerantProperties const refrigerant{
refrigerant_viscosity, refrigerant_density,
refrigerant_thermal_conductivity, refrigerant_heat_capacity,
refrigerant_reference_temperature};

auto const flowAndTemperatureControl = createFlowAndTemperatureControl(
//! \ogs_file_param{prj__processes__process__HEAT_TRANSPORT_BHE__borehole_heat_exchangers__borehole_heat_exchanger__flow_and_temperature_control}
config.getConfigSubtree("flow_and_temperature_control"),
curves,
refrigerant);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,21 +40,26 @@ FlowAndTemperatureControl createFlowAndTemperatureControl(
return *it->second;
};

//! \ogs_file_param{prj__processes__process__HEAT_TRANSPORT_BHE__borehole_heat_exchangers__borehole_heat_exchanger__flow_and_temperature_control__type}
auto const type = config.getConfigParameter<std::string>("type");
if (type == "TemperatureCurveConstantFlow")
{
//! \ogs_file_param{prj__processes__process__HEAT_TRANSPORT_BHE__borehole_heat_exchangers__borehole_heat_exchanger__flow_and_temperature_control__TemperatureCurveConstantFlow__flow_rate}
double const flow_rate = config.getConfigParameter<double>("flow_rate");

auto const& temperature_curve = find_curve_or_error(
//! \ogs_file_param{prj__processes__process__HEAT_TRANSPORT_BHE__borehole_heat_exchangers__borehole_heat_exchanger__flow_and_temperature_control__TemperatureCurveConstantFlow__temperature_curve}
config.getConfigParameter<std::string>("temperature_curve"),
"Required temperature curve not found.");

return TemperatureCurveConstantFlow{flow_rate, temperature_curve};
}
if (type == "FixedPowerConstantFlow")
{
//! \ogs_file_param{prj__processes__process__HEAT_TRANSPORT_BHE__borehole_heat_exchangers__borehole_heat_exchanger__flow_and_temperature_control__FixedPowerConstantFlow__power}
double const power = config.getConfigParameter<double>("power");

//! \ogs_file_param{prj__processes__process__HEAT_TRANSPORT_BHE__borehole_heat_exchangers__borehole_heat_exchanger__flow_and_temperature_control__FixedPowerConstantFlow__flow_rate}
double const flow_rate = config.getConfigParameter<double>("flow_rate");
return FixedPowerConstantFlow{flow_rate, power,
refrigerant.specific_heat_capacity,
Expand All @@ -64,9 +69,11 @@ FlowAndTemperatureControl createFlowAndTemperatureControl(
if (type == "FixedPowerFlowCurve")
{
auto const& flow_rate_curve = find_curve_or_error(
//! \ogs_file_param{prj__processes__process__HEAT_TRANSPORT_BHE__borehole_heat_exchangers__borehole_heat_exchanger__flow_and_temperature_control__FixedPowerFlowCurve__flow_rate_curve}
config.getConfigParameter<std::string>("flow_rate_curve"),
"Required flow rate curve not found.");

//! \ogs_file_param{prj__processes__process__HEAT_TRANSPORT_BHE__borehole_heat_exchangers__borehole_heat_exchanger__flow_and_temperature_control__FixedPowerFlowCurve__power}
double const power = config.getConfigParameter<double>("power");

return FixedPowerFlowCurve{flow_rate_curve, power,
Expand Down
3 changes: 3 additions & 0 deletions ProcessLib/HeatTransportBHE/BHE/Pipe.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -20,10 +20,13 @@ namespace BHE
{
Pipe createPipe(BaseLib::ConfigTree const& config)
{
//! \ogs_file_param{prj__processes__process__HEAT_TRANSPORT_BHE__borehole_heat_exchangers__borehole_heat_exchanger__pipes__inlet__radius}
const double radius = config.getConfigParameter<double>("radius");
const double wall_thickness =
//! \ogs_file_param{prj__processes__process__HEAT_TRANSPORT_BHE__borehole_heat_exchangers__borehole_heat_exchanger__pipes__inlet__wall_thickness}
config.getConfigParameter<double>("wall_thickness");
const double wall_thermal_conductivity =
//! \ogs_file_param{prj__processes__process__HEAT_TRANSPORT_BHE__borehole_heat_exchangers__borehole_heat_exchanger__pipes__inlet__wall_thermal_conductivity}
config.getConfigParameter<double>("wall_thermal_conductivity");
return {radius, wall_thickness, wall_thermal_conductivity};
}
Expand Down
7 changes: 3 additions & 4 deletions ProcessLib/HeatTransportBHE/CreateHeatTransportBHEProcess.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -88,8 +88,7 @@ std::unique_ptr<Process> createHeatTransportBHEProcess(
// solid phase thermal conductivity parameter.
auto& thermal_conductivity_solid = findParameter<double>(
config,
//! \ogs_file_param_special
//! prj__processes__process__HEAT_TRANSPORT_BHE__thermal_conductivity_solid}
//! \ogs_file_param_special{prj__processes__process__HEAT_TRANSPORT_BHE__thermal_conductivity_solid}
"thermal_conductivity_solid", parameters, 1);

DBUG("Use \'%s\' as solid phase thermal conductivity parameter.",
Expand Down Expand Up @@ -175,12 +174,12 @@ std::unique_ptr<Process> createHeatTransportBHEProcess(

for (
auto const& bhe_config :
//! \ogs_file_param{prj__processes__process___HEAT_TRANSPORT_BHE__borehole_heat_exchangers__borehole_heat_exchanger}
//! \ogs_file_param{prj__processes__process__HEAT_TRANSPORT_BHE__borehole_heat_exchangers__borehole_heat_exchanger}
bhe_configs.getConfigSubtreeList("borehole_heat_exchanger"))
{
// read in the parameters
const std::string bhe_type =
//! \ogs_file_param{prj__processes__process___HEAT_TRANSPORT_BHE__borehole_heat_exchangers__borehole_heat_exchanger__bhe_type}
//! \ogs_file_param{prj__processes__process__HEAT_TRANSPORT_BHE__borehole_heat_exchangers__borehole_heat_exchanger__type}
bhe_config.getConfigParameter<std::string>("type");

if (bhe_type == "1U")
Expand Down

0 comments on commit 642ce17

Please sign in to comment.