LCOV - code coverage report
Current view: top level - src/transfers - MultiAppFieldTransfer.C (source / functions) Hit Total Coverage
Test: idaholab/moose framework: 2bf808 Lines: 24 25 96.0 %
Date: 2025-07-17 01:28:37 Functions: 4 4 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             : // MOOSE includes
      11             : #include "MultiAppFieldTransfer.h"
      12             : #include "FEProblemBase.h"
      13             : #include "DisplacedProblem.h"
      14             : #include "MooseVariableFEBase.h"
      15             : #include "MooseMesh.h"
      16             : #include "SystemBase.h"
      17             : #include "MooseAppCoordTransform.h"
      18             : #include "MooseMeshUtils.h"
      19             : 
      20             : #include "libmesh/system.h"
      21             : 
      22             : InputParameters
      23      189354 : MultiAppFieldTransfer::validParams()
      24             : {
      25      189354 :   InputParameters params = MultiAppTransfer::validParams();
      26      189354 :   return params;
      27             : }
      28             : 
      29        9095 : MultiAppFieldTransfer::MultiAppFieldTransfer(const InputParameters & parameters)
      30        9095 :   : MultiAppTransfer(parameters)
      31             : {
      32        9083 : }
      33             : 
      34             : void
      35        8859 : MultiAppFieldTransfer::initialSetup()
      36             : {
      37        8859 :   MultiAppTransfer::initialSetup();
      38             : 
      39        8855 :   if (_current_direction == TO_MULTIAPP)
      40        7682 :     for (auto & to_var : getToVarNames())
      41        7682 :       variableIntegrityCheck(to_var, false);
      42        5060 :   else if (_current_direction == FROM_MULTIAPP)
      43        7570 :     for (auto & from_var : getFromVarNames())
      44        7570 :       variableIntegrityCheck(from_var, true);
      45             :   else
      46             :   {
      47        2002 :     for (auto & to_var : getToVarNames())
      48        2002 :       variableIntegrityCheck(to_var, false);
      49        1762 :     for (auto & from_var : getFromVarNames())
      50        1762 :       variableIntegrityCheck(from_var, true);
      51             :   }
      52        8851 : }
      53             : 
      54             : EquationSystems &
      55      129246 : MultiAppFieldTransfer::getEquationSystem(FEProblemBase & problem, bool use_displaced) const
      56             : {
      57      129246 :   if (use_displaced)
      58             :   {
      59         645 :     if (!problem.getDisplacedProblem())
      60           0 :       mooseError("No displaced problem to provide a displaced equation system");
      61         645 :     return problem.getDisplacedProblem()->es();
      62             :   }
      63             :   else
      64      128601 :     return problem.es();
      65             : }

Generated by: LCOV version 1.14