https://mooseframework.inl.gov
Loading...
Searching...
No Matches
RinglebMeshGenerator.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 "MeshGenerator.h"
13
18{
19public:
21
23
24 // No copy
25 RinglebMeshGenerator & operator=(const RinglebMeshGenerator & other_mesh) = delete;
26
27 std::unique_ptr<MeshBase> generate() override;
28
29 // This function computes the different parameters a, rho, p and J
30 std::vector<Real> arhopj(const Real & gamma, const std::vector<Real> & q, const int & index);
31
32 // This function computes the (x,y) coordinates of the nodes
33 // The vector `values` can be got with the `arhopj` function above
34 std::vector<Real> computexy(const std::vector<Real> values,
35 const int & i,
36 const int & index,
37 const std::vector<Real> & ks,
38 const std::vector<Real> & q);
39
40protected:
42 const Real & _gamma;
43
48 const Real & _kmax;
49
51 const Real & _kmin;
52
54 const int & _num_q_pts;
55
57 const int & _n_extra_q_pts;
58
60 const int & _num_k_pts;
61
64
66 const bool & _triangles;
67};
std::array< Real, 2 > values
Definition MortarUtils.C:52
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system.
MeshGenerators are objects that can modify or add to an existing mesh.
const InputParameters & parameters() const
Get the parameters of the object.
Definition MooseBase.h:131
Generates a mesh given all the parameters.
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)
const int & _n_extra_q_pts
how many "extra" points should be inserted in the nearest element from the horizontal in additi /// o...
const bool & _triangles
This parameter, if true, allows to split the quadrilateral elements into triangular elements.
const Real & _gamma
Gamma.
RinglebMeshGenerator & operator=(const RinglebMeshGenerator &other_mesh)=delete
const boundary_id_type _outer_wall_bid
const Real & _kmax
k is a streamline parameter, i.e.
const boundary_id_type _inner_wall_bid
std::vector< Real > arhopj(const Real &gamma, const std::vector< Real > &q, const int &index)
const boundary_id_type _inflow_bid
The boundary ids to use for the ringleb mesh.
const Real & _kmin
kmin corresponds to the outer wall
const boundary_id_type _outflow_bid
const int & _num_k_pts
how many points in the range k=(kmin, kmax).
std::unique_ptr< MeshBase > generate() override
Generate / modify the mesh.
const int & _num_q_pts
How many points to discretize the range q = (0.5, k) into.
static InputParameters validParams()