https://mooseframework.inl.gov
Loading...
Searching...
No Matches
SBMBase.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#include "IntegratedBC.h"
13#include "InterfaceKernel.h"
14#include "ADInterfaceKernel.h"
17
18#include <memory>
19
25template <typename Parent>
26class SBMBase : public Parent
27{
28public:
30 SBMBase(const InputParameters & parameters);
31
32protected:
33 virtual void initialSetup() override;
34
41 virtual bool perform_shifted() const = 0;
42
44 Real h() const;
45
47 const RealVectorValue surrogateDistance() const;
48
50 const RealVectorValue trueNormal() const;
51
54};
Computes and stores the distance vectors and true surface normals from surrogate boundary quadrature ...
Template base providing signed-distance and normal-vector utilities for SBM objects.
Definition SBMBase.h:27
virtual bool perform_shifted() const =0
Whether to apply shifted integration corrections.
static InputParameters validParams()
Definition SBMBase.C:15
Real h() const
Returns the characteristic mesh size, computed as (element_volume)^(1/dim)
Definition SBMBase.C:48
virtual void initialSetup() override
Definition SBMBase.C:33
const BoundaryShortestDistanceToSurface * _sbm_distance_uo
user object for distance and normal calculations
Definition SBMBase.h:53
const RealVectorValue trueNormal() const
Returns the true normal vector at the projected point on the true interface.
Definition SBMBase.C:63
const RealVectorValue surrogateDistance() const
Returns the shortest distance vector from the current quadrature point to the true interface.
Definition SBMBase.C:55