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

Generated by: LCOV version 1.14