<commit_before>// The libMesh Finite Element Library.
// Copyright (C) 2002-2018 <NAME>, <NAME>, <NAME>

// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.

// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
// Lesser General Public License for more details.

// You should have received a copy of the GNU Lesser General Public
// License along with this library; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA

#ifndef LIBMESH_EXACT_SOLUTION_H
#define LIBMESH_EXACT_SOLUTION_H


// Local Includes
#include "libmesh/libmesh_common.h" // for Number
#include "libmesh/enum_norm_type.h"

// C++ includes
#include <map>
#include <vector>

namespace libMesh
{


// Forward Declarations
class Point;
class EquationSystems;
class Parameters;
class Mesh;
template <typename Output> class FunctionBase;

// Is there any way to simplify this?
// All we need are Tensor and Gradient. - RHS
template <typename T> class TensorValue;
template <typename T> class VectorValue;
typedef TensorValue<Number> NumberTensorValue;
typedef NumberTensorValue   Tensor;
typedef VectorValue<Number> NumberVectorValue;
typedef NumberVectorValue   Gradient;

/**
 * This class handles the computation of the L2 and/or H1 error for
 * the Systems in the EquationSystems object which is passed to it.
 *
 * \note For this to be useful, the user must attach at least one, and
 * possibly two, functions which can compute the exact solution and
 * its derivative for any component of any system.  These are the \p<commit_msg>Fix missing include in exact_solution.h.<commit_after>// The libMesh Finite Element Library.
// Copyright (C) 2002-2018 <NAME>, <NAME>, <NAME>

// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.

// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
// Lesser General Public License for more details.

// You should have received a copy of the GNU Lesser General Public
// License along with this library; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA

#ifndef LIBMESH_EXACT_SOLUTION_H
#define LIBMESH_EXACT_SOLUTION_H


// Local Includes
#include "libmesh/libmesh_common.h" // for Number
#include "libmesh/enum_norm_type.h"

// C++ includes
#include <map>
#include <vector>
#include <memory>

namespace libMesh
{


// Forward Declarations
class Point;
class EquationSystems;
class Parameters;
class Mesh;
template <typename Output> class FunctionBase;

// Is there any way to simplify this?
// All we need are Tensor and Gradient. - RHS
template <typename T> class TensorValue;
template <typename T> class VectorValue;
typedef TensorValue<Number> NumberTensorValue;
typedef NumberTensorValue   Tensor;
typedef VectorValue<Number> NumberVectorValue;
typedef NumberVectorValue   Gradient;

/**
 * This class handles the computation of the L2 and/or H1 error for
 * the Systems in the EquationSystems object which is passed to it.
 *
 * \note For this to be useful, the user must attach at least one, and
 * possibly two, functions which can compute the exact solution and
 * its derivative for any component of any system.  These are the \p
{'fraction_non_alphanumeric': 0.07137335738211802, 'fraction_numerical': 0.013398608606029374, 'mean_word_length': 4.182910547396529, 'pattern_counts': {'":': 0, '<': 24, '<?xml version=': 0, '>': 24, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6875962', 'n_tokens_mistral': 1100, 'n_tokens_neox': 1020, 'n_words': 523}