Local solver for the equation that governs the bending and change of length of an elastic Bernoulli beam.
More...
#include <bernoulli_beams.hxx>
|
| LengtheningBernoulliBendingBeam (const constructor_value_type &tau=1.) |
| Constructor for local solver. More...
|
|
template<class hyEdgeT , typename SmallMatInT , typename SmallMatOutT > |
SmallMatOutT & | trace_to_flux (const SmallMatInT &lambda_values_in, SmallMatOutT &lambda_values_out, hyEdgeT &hyper_edge, const lSol_float_t time=0.) const |
| Evaluate local contribution to matrix–vector multiplication. More...
|
|
template<class hyEdgeT , typename SmallMatInT , typename SmallMatOutT > |
SmallMatOutT & | residual_flux (const SmallMatInT &lambda_values_in, SmallMatOutT &lambda_values_out, hyEdgeT &hyper_edge, const lSol_float_t time=0.) const |
| Evaluate local contribution to residual. More...
|
|
template<class hyEdgeT > |
std::array< lSol_float_t, 1U > | errors (const std::array< std::array< lSol_float_t, n_glob_dofs_per_node()>, 2 *hyEdge_dimT > &lambda_values, hyEdgeT &hyper_edge, const lSol_float_t time=0.) const |
| Local squared contribution to the L2 error. More...
|
|
template<typename abscissa_float_t , std::size_t sizeT, class input_array_t , class hyEdgeT > |
std::array< std::array< lSol_float_t, Hypercube< hyEdge_dimT >::pow(sizeT)>, system_dimension()> | bulk_values (const std::array< abscissa_float_t, sizeT > &abscissas, const input_array_t &lambda_values, hyEdgeT &hyper_edge, const lSol_float_t time=0.) const |
| Evaluate local local reconstruction at tensorial products of abscissas. More...
|
|
|
const LengtheningBeam< hyEdge_dimT, space_dim, poly_deg, quad_deg, lSol_float_t > | len_beam |
| The lengthening beam solver that does the lengthening of the beam. More...
|
|
const BernoulliBendingBeam< hyEdge_dimT, space_dim, poly_deg, quad_deg, lSol_float_t > | ben_beam |
| The bending beam solver that does the bending of the beam. More...
|
|
template<unsigned int hyEdge_dimT, unsigned int space_dim, unsigned int poly_deg, unsigned int quad_deg, typename lSol_float_t = double>
class LocalSolver::LengtheningBernoulliBendingBeam< hyEdge_dimT, space_dim, poly_deg, quad_deg, lSol_float_t >
Local solver for the equation that governs the bending and change of length of an elastic Bernoulli beam.
- Authors
- Guido Kanschat, Heidelberg University, 2019–2020.
-
Andreas Rupp, Heidelberg University, 2019–2020.
◆ constructor_value_type
template<unsigned int hyEdge_dimT, unsigned int space_dim, unsigned int poly_deg, unsigned int quad_deg, typename lSol_float_t = double>
Class is constructed using a single double indicating the penalty parameter.
◆ LengtheningBernoulliBendingBeam()
template<unsigned int hyEdge_dimT, unsigned int space_dim, unsigned int poly_deg, unsigned int quad_deg, typename lSol_float_t = double>
Constructor for local solver.
- Parameters
-
tau | Penalty parameter of HDG scheme. |
◆ bulk_values()
template<unsigned int hyEdge_dimT, unsigned int space_dim, unsigned int poly_deg, unsigned int quad_deg, typename lSol_float_t = double>
template<typename abscissa_float_t , std::size_t sizeT, class input_array_t , class hyEdgeT >
std::array<std::array<lSol_float_t, Hypercube<hyEdge_dimT>::pow(sizeT)>, system_dimension()> LocalSolver::LengtheningBernoulliBendingBeam< hyEdge_dimT, space_dim, poly_deg, quad_deg, lSol_float_t >::bulk_values |
( |
const std::array< abscissa_float_t, sizeT > & |
abscissas, |
|
|
const input_array_t & |
lambda_values, |
|
|
hyEdgeT & |
hyper_edge, |
|
|
const lSol_float_t |
time = 0. |
|
) |
| const |
|
inline |
Evaluate local local reconstruction at tensorial products of abscissas.
- Template Parameters
-
absc_float_t | Floating type for the abscissa values. |
abscissas_sizeT | Size of the array of array of abscissas. |
input_array_t | Type of input array. |
hyEdgeT | The geometry type / typename of the considered hyEdge's geometry. |
- Parameters
-
abscissas | Abscissas of the supporting points. |
lambda_values | The values of the skeletal variable's coefficients. |
hyper_edge | The geometry of the considered hyperedge (of typename GeomT). |
time | Time. |
- Return values
-
func_values | Function values at tensorial points. |
◆ errors()
template<unsigned int hyEdge_dimT, unsigned int space_dim, unsigned int poly_deg, unsigned int quad_deg, typename lSol_float_t = double>
template<class hyEdgeT >
Local squared contribution to the L2 error.
- Template Parameters
-
hyEdgeT | The geometry type / typename of the considered hyEdge's geometry. |
- Parameters
-
lambda_values | The values of the skeletal variable's coefficients. |
hyper_edge | The geometry of the considered hyperedge (of typename GeomT). |
time | Time at which analytic functions are evaluated. |
- Return values
-
vec_b | Local part of vector b. |
◆ hyEdge_dim()
template<unsigned int hyEdge_dimT, unsigned int space_dim, unsigned int poly_deg, unsigned int quad_deg, typename lSol_float_t = double>
Return template parameter hyEdge_dimT
.
- Return values
-
hyEdge_dimT | Dimension of hypergraph's hyperedges. |
◆ n_glob_dofs_per_node()
template<unsigned int hyEdge_dimT, unsigned int space_dim, unsigned int poly_deg, unsigned int quad_deg, typename lSol_float_t = double>
Evaluate amount of global degrees of freedom per hypernode.
This number must be equal to HyperNodeFactory::n_glob_dofs_per_node()() of the HyperNodeFactory cooperating with this object.
- Return values
-
n_dofs | Number of global degrees of freedom per hypernode. |
◆ node_system_dimension()
template<unsigned int hyEdge_dimT, unsigned int space_dim, unsigned int poly_deg, unsigned int quad_deg, typename lSol_float_t = double>
Dimension of of the solution evaluated with respect to a hypernode.
◆ residual_flux()
template<unsigned int hyEdge_dimT, unsigned int space_dim, unsigned int poly_deg, unsigned int quad_deg, typename lSol_float_t = double>
template<class hyEdgeT , typename SmallMatInT , typename SmallMatOutT >
SmallMatOutT& LocalSolver::LengtheningBernoulliBendingBeam< hyEdge_dimT, space_dim, poly_deg, quad_deg, lSol_float_t >::residual_flux |
( |
const SmallMatInT & |
lambda_values_in, |
|
|
SmallMatOutT & |
lambda_values_out, |
|
|
hyEdgeT & |
hyper_edge, |
|
|
const lSol_float_t |
time = 0. |
|
) |
| const |
|
inline |
Evaluate local contribution to residual.
◆ system_dimension()
template<unsigned int hyEdge_dimT, unsigned int space_dim, unsigned int poly_deg, unsigned int quad_deg, typename lSol_float_t = double>
Dimension of of the solution evaluated with respect to a hyperedge.
◆ trace_to_flux()
template<unsigned int hyEdge_dimT, unsigned int space_dim, unsigned int poly_deg, unsigned int quad_deg, typename lSol_float_t = double>
template<class hyEdgeT , typename SmallMatInT , typename SmallMatOutT >
SmallMatOutT& LocalSolver::LengtheningBernoulliBendingBeam< hyEdge_dimT, space_dim, poly_deg, quad_deg, lSol_float_t >::trace_to_flux |
( |
const SmallMatInT & |
lambda_values_in, |
|
|
SmallMatOutT & |
lambda_values_out, |
|
|
hyEdgeT & |
hyper_edge, |
|
|
const lSol_float_t |
time = 0. |
|
) |
| const |
|
inline |
Evaluate local contribution to matrix–vector multiplication.
◆ ben_beam
template<unsigned int hyEdge_dimT, unsigned int space_dim, unsigned int poly_deg, unsigned int quad_deg, typename lSol_float_t = double>
The bending beam solver that does the bending of the beam.
◆ len_beam
template<unsigned int hyEdge_dimT, unsigned int space_dim, unsigned int poly_deg, unsigned int quad_deg, typename lSol_float_t = double>
The lengthening beam solver that does the lengthening of the beam.
The documentation for this class was generated from the following file: