/usr/include/trilinos/RelaxationSmoother.hpp is in libtrilinos-dev 10.4.0.dfsg-1ubuntu2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 | #ifndef RELAXATION_SMOOTHER_HPP
#define RELAXATION_SMOOTHER_HPP
#include "Mesquite.hpp"
#include "VertexPatches.hpp"
#include "VertexMover.hpp"
namespace MESQUITE_NS
{
/**\brief Base class for LaPlacian and other relaxation smoothers */
class RelaxationSmoother : public VertexMover
{
public:
/**
* \param OF For many relaxation solvers (e.g. Laplacian)
* this ObjectiveFunction is used only to evaluate user-specified
* termination criteria that require an objective function.
*/
MESQUITE_EXPORT
RelaxationSmoother( ObjectiveFunction* OF = NULL ) : VertexMover(OF) {}
MESQUITE_EXPORT
virtual ~RelaxationSmoother();
MESQUITE_EXPORT
PatchSet* get_patch_set() { return &patchSet; }
protected:
MESQUITE_EXPORT
virtual void initialize(PatchData &pd, MsqError &err);
MESQUITE_EXPORT
virtual void optimize_vertex_positions( PatchData &pd,
MsqError &err) = 0;
MESQUITE_EXPORT
virtual void initialize_mesh_iteration(PatchData &pd, MsqError &err);
MESQUITE_EXPORT
virtual void terminate_mesh_iteration(PatchData &pd, MsqError &err);
MESQUITE_EXPORT
virtual void cleanup();
private:
VertexPatches patchSet;
};
}
#endif
|