Cardinal
Loading...
Searching...
No Matches
ClusteringUserObjectBase.h
Go to the documentation of this file.
1#pragma once
2
3#include "GeneralUserObject.h"
4
5class AuxiliarySystem;
6
7/* Base class for clustering in cardinal. */
8class ClusteringUserObjectBase : public GeneralUserObject
9{
10
11public:
12 static InputParameters validParams();
13 ClusteringUserObjectBase(const InputParameters & parameters);
14
15 virtual void execute() override {};
16 virtual void initialize() override;
17 virtual void finalize() override {};
18
26 virtual bool evaluate(libMesh::Elem * base_element, libMesh::Elem * neighbor_elem) const = 0;
27
28protected:
34 Real getMetricData(const libMesh::Elem * elem) const;
35
37 libMesh::MeshBase & _mesh;
38
40 const AuxVariableName _metric_variable_name;
41
43 const MooseVariableBase & _metric_variable;
44
46 AuxiliarySystem & _auxiliary_system;
47
49 const libMesh::DofMap & _dof_map;
50
52 const unsigned int _metric_variable_index;
53
55 NumericVector<Real> & _serialized_metric_solution;
56};
Definition ClusteringUserObjectBase.h:9
virtual void initialize() override
Definition ClusteringUserObjectBase.C:37
Real getMetricData(const libMesh::Elem *elem) const
Definition ClusteringUserObjectBase.C:43
AuxiliarySystem & _auxiliary_system
AuxiliarySystem reference.
Definition ClusteringUserObjectBase.h:46
virtual bool evaluate(libMesh::Elem *base_element, libMesh::Elem *neighbor_elem) const =0
const unsigned int _metric_variable_index
Metric variable index.
Definition ClusteringUserObjectBase.h:52
virtual void finalize() override
Definition ClusteringUserObjectBase.h:17
const MooseVariableBase & _metric_variable
Metric variable.
Definition ClusteringUserObjectBase.h:43
const AuxVariableName _metric_variable_name
Name of the metric variable based on which clustering is done.
Definition ClusteringUserObjectBase.h:40
libMesh::MeshBase & _mesh
Mesh reference.
Definition ClusteringUserObjectBase.h:37
static InputParameters validParams()
Definition ClusteringUserObjectBase.C:8
const libMesh::DofMap & _dof_map
DOF map.
Definition ClusteringUserObjectBase.h:49
virtual void execute() override
Definition ClusteringUserObjectBase.h:15
NumericVector< Real > & _serialized_metric_solution
libmesh numeric vector with serialized solutions
Definition ClusteringUserObjectBase.h:55