https://mooseframework.inl.gov
Loading...
Searching...
No Matches
RinglebMesh.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 "MooseMesh.h"
13
17class RinglebMesh : public MooseMesh
18{
19public:
21
23 RinglebMesh(const RinglebMesh & /* other_mesh */) = default;
24
25 // No copy
26 RinglebMesh & operator=(const RinglebMesh & other_mesh) = delete;
27
28 virtual std::unique_ptr<MooseMesh> safeClone() const override;
29
30 virtual void buildMesh() override;
31
32 // This function computes the different parameters a, rho, p and J
33 std::vector<Real> arhopj(const Real & gamma, const std::vector<Real> & q, const int & index);
34
35 // This function computes the (x,y) coordinates of the nodes
36 // The vector `values` can be got with the `arhopj` function above
37 std::vector<Real> computexy(const std::vector<Real> values,
38 const int & i,
39 const int & index,
40 const std::vector<Real> & ks,
41 const std::vector<Real> & q);
42
43protected:
45 const Real & _gamma;
46
51 const Real & _kmax;
52
54 const Real & _kmin;
55
57 const int & _num_q_pts;
58
60 const int & _n_extra_q_pts;
61
63 const int & _num_k_pts;
64
67
69 const bool & _triangles;
70};
std::array< Real, 2 > values
Definition MortarUtils.C:52
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system.
const InputParameters & parameters() const
Get the parameters of the object.
Definition MooseBase.h:131
MooseMesh wraps a libMesh::Mesh object and enhances its capabilities by caching additional data and s...
Definition MooseMesh.h:95
Mesh generated from parameters.
Definition RinglebMesh.h:18
const boundary_id_type _inner_wall_bid
Definition RinglebMesh.h:66
virtual std::unique_ptr< MooseMesh > safeClone() const override
A safer version of the clone() method that hands back an allocated object wrapped in a smart pointer.
Definition RinglebMesh.C:67
static InputParameters validParams()
Definition RinglebMesh.C:21
const int & _num_k_pts
how many points in the range k=(kmin, kmax).
Definition RinglebMesh.h:63
const Real & _kmax
k is a streamline parameter, i.e.
Definition RinglebMesh.h:51
RinglebMesh & operator=(const RinglebMesh &other_mesh)=delete
const Real & _gamma
Gamma.
Definition RinglebMesh.h:45
const bool & _triangles
This parameter, if true, allows to split the quadrilateral elements into triangular elements.
Definition RinglebMesh.h:69
const Real & _kmin
kmin corresponds to the outer wall
Definition RinglebMesh.h:54
std::vector< Real > computexy(const std::vector< Real > values, const int &i, const int &index, const std::vector< Real > &ks, const std::vector< Real > &q)
Definition RinglebMesh.C:86
virtual void buildMesh() override
Must be overridden by child classes.
std::vector< Real > arhopj(const Real &gamma, const std::vector< Real > &q, const int &index)
Definition RinglebMesh.C:73
const int & _num_q_pts
How many points to discretize the range q = (0.5, k) into.
Definition RinglebMesh.h:57
RinglebMesh(const RinglebMesh &)=default
const int & _n_extra_q_pts
how many "extra" points should be inserted in the nearest element from the horizontal in additi /// o...
Definition RinglebMesh.h:60
const boundary_id_type _outflow_bid
Definition RinglebMesh.h:66
const boundary_id_type _outer_wall_bid
Definition RinglebMesh.h:66
const boundary_id_type _inflow_bid
The boundary ids to use for the ringleb mesh.
Definition RinglebMesh.h:66