Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • openfoam openfoam
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 426
    • Issues 426
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 9
    • Merge requests 9
  • Deployments
    • Deployments
    • Releases
  • Wiki
    • Wiki
  • Activity
  • Graph
  • Create a new issue
  • Commits
  • Issue Boards
Collapse sidebar
  • Development
  • openfoamopenfoam
  • Issues
  • #1691
Closed
Open
Issue created Apr 27, 2020 by Greg Burgreen@burgreen

Diagonal time-integration of single source term

I am trying to time-integrate only a single source term defined by:

fvScalarMatrix eqn( fvm::ddt(x) == -fvm::Sp(coeff, x) );
eqn.relax(); 
eqn.solve();

It is failing with this error:

[4] --> FOAM FATAL ERROR:
[4] lowerPtr_ or upperPtr_ unallocated
[4]
[4]     From function const scalarField& Foam::lduMatrix::lower() const
[4]     in file matrices/lduMatrix/lduMatrix/lduMatrix.C at line 271.
[4]
FOAM parallel run aborting

The solver is defined as:

    "(x)"
    {
        solver          PCG;
        preconditioner  diagonal;
        tolerance       1e-8;
        relTol          0.001;
        maxIter         400;
    }

If I replace the fvm source term with the fvc operator:

fvScalarMatrix eqn( fvm::ddt(x) == -fvc::Sp(coeff, x) );

I get same error. If I comment out the eqn.relax() and just solve, I get a different error:

Foam::error::printStack(Foam::Ostream&) at ??:?
[34] #1  Foam::sigFpe::sigHandler(int) at ??:?

Is this type of equation supported?

Edited Apr 27, 2020 by Greg Burgreen
Assignee
Assign to
Time tracking