LCOV - code coverage report
Current view: top level - src/timeintegrators - NonlinearTimeIntegratorInterface.C (source / functions) Hit Total Coverage
Test: idaholab/moose framework: 99787a Lines: 14 14 100.0 %
Date: 2025-10-14 20:01:24 Functions: 2 2 100.0 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : //* This file is part of the MOOSE framework
       2             : //* https://mooseframework.inl.gov
       3             : //*
       4             : //* All rights reserved, see COPYRIGHT for full restrictions
       5             : //* https://github.com/idaholab/moose/blob/master/COPYRIGHT
       6             : //*
       7             : //* Licensed under LGPL 2.1, please see LICENSE for details
       8             : //* https://www.gnu.org/licenses/lgpl-2.1.html
       9             : 
      10             : #include "NonlinearTimeIntegratorInterface.h"
      11             : #include "FEProblem.h"
      12             : #include "NonlinearSystemBase.h"
      13             : 
      14             : #include "libmesh/nonlinear_implicit_system.h"
      15             : #include "libmesh/nonlinear_solver.h"
      16             : #include "libmesh/dof_map.h"
      17             : 
      18       63864 : NonlinearTimeIntegratorInterface::NonlinearTimeIntegratorInterface(FEProblemBase & problem,
      19       63864 :                                                                    SystemBase & system)
      20       63864 :   : _nl(dynamic_cast<NonlinearSystemBase *>(&system)),
      21       63864 :     _nonlinear_implicit_system(_nl ? dynamic_cast<NonlinearImplicitSystem *>(&_nl->system())
      22             :                                    : nullptr),
      23       63864 :     _Re_time(_nl ? &_nl->getResidualTimeVector() : nullptr),
      24       63864 :     _Re_non_time(_nl ? &_nl->getResidualNonTimeVector() : nullptr),
      25       63864 :     _u_dot_factor_tag(problem.addVectorTag(Moose::SOLUTION_DOT_TAG, Moose::VECTOR_TAG_SOLUTION)),
      26       63864 :     _u_dotdot_factor_tag(
      27      127728 :         problem.addVectorTag(Moose::SOLUTION_DOTDOT_TAG, Moose::VECTOR_TAG_SOLUTION))
      28             : {
      29       63864 : }
      30             : 
      31             : NumericVector<Number> *
      32        5566 : NonlinearTimeIntegratorInterface::addVector(const std::string & name,
      33             :                                             const bool project,
      34             :                                             const libMesh::ParallelType type)
      35             : {
      36        5566 :   if (_nl)
      37        2783 :     return &_nl->addVector(name, project, type);
      38             :   else
      39        2783 :     return nullptr;
      40             : }

Generated by: LCOV version 1.14