Skip to content

Update GroundHeatExchangerHorizontalTrench: wrap Site:GroundTemperature:Undisturbed:XXX objects #4734

@jmarrec

Description

@jmarrec

Enhancement Request

Following #4716 , the GroundHeatExchangerHorizontalTrench is outdated:

  • The Ground Temperature Model field accepts ·SiteGroundTemperature but that isn't even functional
  • The only (currently broken in FT) option is Site:GroundTemperature:Undisturbed:KusudaAchenbach, the Site:GroundTemperature:Undisturbed:Xing and Site:GroundTemperature:Undisturbed:FiniteDifference aren't possible options

Detailed Description

Possible Implementation

Option B proposed by @joseph-robertson on #4717 (comment)

Wrap Site:GroundTemperature:Undisturbed:KusudaAchenbach for starters (FiniteDifference and Xing could be done later)

Deprecate the getters / setters (with a clear message saying it'll be removed in 3.8.0 or something).

double kusudaAchenbachAverageSurfaceTemperature() const;
double kusudaAchenbachAverageAmplitudeofSurfaceTemperature() const;
double kusudaAchenbachPhaseShiftofMinimumSurfaceTemperature() const;

If we were to wrap the Xing/FiniteDifference, these would just throw if it's not Kusuda (pseudo-code):

OS_DEPRECATED double GroundHeatExchangerHorizontalTrench::kusudaAchenbachAverageSurfaceTemperature() {
  LOG(Warn, "GroundHeatExchangerHorizontalTrench::kusudaAchenbachAverageSurfaceTemperature is deprecated and will be removed in 3.8.0. Please query the groundModel object.");
  if (groundModel().IddObjectType() != "Kusuda") {
    LOG_AND_THROW("...")
  } 

  return groundModel().cast<Kusuda>().averageSurfaceTemperature();
}

I agree with Joe: Existing Ctor would create a KusudaAchenbach for you. Make a second ctor where you pass in the ground model object.

Requires VT.

Metadata

Metadata

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions