Skip to content

Insufficient memory when running borefield model of large borefield #4597

@JayHuLBL

Description

@JayHuLBL

Issue

By making following change in model Buildings.Fluid.Geothermal.Borefields.Examples.RectangularBorefield:

  parameter Modelica.Units.SI.Length xBorFie=10 "Borefield length";
  parameter Modelica.Units.SI.Length yBorFie=30 "Borefield width";

to:

  parameter Modelica.Units.SI.Length xBorFie=200 "Borefield length";
  parameter Modelica.Units.SI.Length yBorFie=300 "Borefield width";

Thus, the number of boreholes increases from 21 to 2501. Then running the model with Dymola 2026x Refresh1, it gives error as:

Warning: The following error was detected at time: 0
  Out of memory for reals
It could due to too large matrices, infinite recursion, or uninitialized variables.
You can change the memory size by setting the variable Advanced.Translation.RealBufferSize.
  Failed condition: currentMark.place.Realbuffer<EndRealbuffer
The stack of functions is:
Buildings.Fluid.Geothermal.Borefields.BaseClasses.HeatTransfer.ThermalResponseFactors.gFunction
Buildings.Fluid.Geothermal.Borefields.BaseClasses.HeatTransfer.LoadAggregation.temperatureResponseMatrix
Buildings.Fluid.Geothermal.Borefields.BaseClasses.HeatTransfer.LoadAggregation.temperatureResponseMatrix(borFie.groTemRes.borFieDat.conDat.nBor, borFie.groTemRes.borFieDat.conDat.cooBor, 100.0, 1.0, 0.2, 1.1574074074074074E-06, 2.5, borFie.groTemRes.nSeg, borFie.groTemRes.nClu, 26, 50, 76, 148.4131591025766, borFie.groTemRes.SHAgfun, borFie.groTemRes.forceGFunCalc)

Potential cause

In base class Buildings.Fluid.Geothermal.Borefields.BaseClasses.HeatTransfer.ThermalResponseFactors.gFunction,

  // Distances between borehole clusters
  n_dis := zeros(nClu,nClu);
  wDis := zeros(nClu,nClu,n_max);

During the model translation, it creates an array wDis (Number of occurence of separation distances) that assumes the maximum occurence of the separation distances between each pair of boreholes. Thus, initializing the array requires big memory.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions