LCOV - code coverage report
Current view: top level - src/neml2/interfaces - MOOSEToNEML2.C (source / functions) Hit Total Coverage
Test: idaholab/moose framework: 2bf808 Lines: 32 37 86.5 %
Date: 2025-07-17 01:28:37 Functions: 7 7 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 "MOOSEToNEML2.h"
      11             : 
      12             : InputParameters
      13      171255 : MOOSEToNEML2::validParams()
      14             : {
      15      171255 :   auto params = emptyInputParameters();
      16      171255 :   params.addRequiredParam<std::string>(
      17      342510 :       "to_neml2", NEML2Utils::docstring("Name of the NEML2 variable or parameter to write to"));
      18      171255 :   return params;
      19           0 : }
      20             : 
      21             : #ifndef NEML2_ENABLED
      22             : 
      23           0 : MOOSEToNEML2::MOOSEToNEML2(const InputParameters & /*params*/) {}
      24             : 
      25             : #else
      26             : 
      27          38 : MOOSEToNEML2::MOOSEToNEML2(const InputParameters & params)
      28          38 :   : _mode(Mode::UNDEFINED), _raw_name(params.get<std::string>("to_neml2"))
      29             : {
      30          38 :   NEML2Utils::assertNEML2Enabled();
      31          38 : }
      32             : 
      33             : void
      34          37 : MOOSEToNEML2::setMode(MOOSEToNEML2::Mode m) const
      35             : {
      36          37 :   _mode = m;
      37             : 
      38          37 :   if (_mode == Mode::VARIABLE || _mode == Mode::OLD_VARIABLE)
      39          35 :     _neml2_variable = NEML2Utils::parseVariableName(_raw_name);
      40           2 :   else if (_mode == Mode::PARAMETER)
      41           2 :     _neml2_parameter = _raw_name;
      42             :   else
      43           0 :     mooseError("Encountered invalid Mode in MOOSEToNEML2::setMode");
      44             : 
      45          37 :   checkMode();
      46          37 : }
      47             : 
      48             : void
      49          37 : MOOSEToNEML2::checkMode() const
      50             : {
      51          37 :   if (_mode == Mode::VARIABLE)
      52          35 :     NEML2Utils::assertVariable(_neml2_variable);
      53          37 :   if (_mode == Mode::OLD_VARIABLE)
      54           0 :     NEML2Utils::assertOldVariable(_neml2_variable);
      55          37 : }
      56             : 
      57             : const neml2::VariableName &
      58          35 : MOOSEToNEML2::NEML2VariableName() const
      59             : {
      60             :   mooseAssert(_mode == Mode::VARIABLE || _mode == Mode::OLD_VARIABLE,
      61             :               "Mode must be VARIABLE or OLD_VARIABLE when calling NEML2Variable");
      62          35 :   return _neml2_variable;
      63             : }
      64             : 
      65             : const std::string &
      66           2 : MOOSEToNEML2::NEML2ParameterName() const
      67             : {
      68             :   mooseAssert(_mode == Mode::PARAMETER, "Mode must be PARAMETER when calling NEML2Parameter");
      69           2 :   return _neml2_parameter;
      70             : }
      71             : 
      72             : void
      73        1731 : MOOSEToNEML2::insertInto(neml2::ValueMap & input,
      74             :                          std::map<std::string, neml2::Tensor> & params) const
      75             : {
      76        1731 :   if (_mode == Mode::VARIABLE || _mode == Mode::OLD_VARIABLE)
      77        1725 :     input[_neml2_variable] = gatheredData();
      78           6 :   else if (_mode == Mode::PARAMETER)
      79           6 :     params[_neml2_parameter] = gatheredData();
      80             :   else
      81           0 :     mooseError("Encountered invalid Mode in MOOSEToNEML2::insertInto");
      82        1731 : }
      83             : #endif

Generated by: LCOV version 1.14