https://mooseframework.inl.gov
InverseMapping.h
Go to the documentation of this file.
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 #pragma once
11 
12 // MOOSE includes
13 #include "GeneralUserObject.h"
14 #include "MappingInterface.h"
16 #include "SurrogateModel.h"
17 
24  public MappingInterface,
26 {
27 public:
29 
30  InverseMapping(const InputParameters & params);
31 
32  void execute() override;
33  void initialize() override {}
34  void finalize() override {}
35 
36  void initialSetup() override;
37 
38 protected:
41  const std::vector<VariableName> & _var_names_to_fill;
42 
45  const std::vector<VariableName> & _var_names_to_reconstruct;
46 
48  const std::vector<UserObjectName> & _surrogate_model_names;
49 
51  std::vector<MooseVariableFieldBase *> _variable_to_fill;
52 
55  std::vector<MooseVariableFieldBase *> _variable_to_reconstruct;
56 
59 
62  std::vector<SurrogateModel *> _surrogate_models;
63 
66  const std::vector<Real> & _input_parameters;
67 };
void execute() override
const std::vector< VariableName > & _var_names_to_fill
The names of the variables which serve as a container for the reconstructed solution.
void initialize() override
const std::vector< UserObjectName > & _surrogate_model_names
The names of the surrogate models for each variable.
void finalize() override
const std::vector< Real > & _input_parameters
Input parameters for the surrogate models.
static InputParameters validParams()
void initialSetup() override
const std::vector< VariableName > & _var_names_to_reconstruct
The names of the variables in the nonlinear system whose reconstruction we are working on...
InverseMapping(const InputParameters &params)
VariableMappingBase * _mapping
Link to the mapping object which provides the inverse mapping function.
An interface class that helps getting access to Mapping objects.
Interface for objects that need to use samplers.
A user object which takes a surrogate (or just user supplied values) to determine coordinates in a la...
std::vector< MooseVariableFieldBase * > _variable_to_reconstruct
Links to the MooseVariables from the nonlinear system whose dof numbering we need to populate the var...
std::vector< MooseVariableFieldBase * > _variable_to_fill
Links to the MooseVariables of the requested variables.
This is an abstract base class for objects that provide mapping between a full-order and a latent spa...
std::vector< SurrogateModel * > _surrogate_models
Links to the surrogate models which provide functions to determine the coordinates in the latent spac...