/home/runner/work/kynema-sgf/kynema-sgf/src/utilities/sampling/SamplingUtils.H Source File

Kynema-SGF API: /home/runner/work/kynema-sgf/kynema-sgf/src/utilities/sampling/SamplingUtils.H Source File
Kynema-SGF API v0.1.0
CFD solver for wind plant simulations
Loading...
Searching...
No Matches
SamplingUtils.H
Go to the documentation of this file.
1#ifndef SAMPLINGUTILS_H
2#define SAMPLINGUTILS_H
3
4#include <string>
5#include <cstdint>
8#include "AMReX_Geometry.H"
9#include "AMReX_Vector.H"
10#include "AMReX_REAL.H"
11
12using namespace amrex::literals;
13
15
21// void inject_turbulence_src_terms(
22// const std::string& key, const amrex::Vector<std::string>& terms);
23
24enum class NormalRule : std::uint8_t { SIGMA1, SIGMA2, SIGMA3, HALFPOWER };
25
27vs::Vector rotate_euler_vec(vs::Vector axis, amrex::Real angle, vs::Vector vec);
29rotate_euler_vector(vs::Vector& axis, amrex::Real& angle, vs::Vector& vec);
30vs::Vector rotation(const vs::Vector& angles, const vs::Vector& data);
31vs::Vector canon_rotator(const vs::Vector& angles, const vs::Vector& data);
35vs::Tensor scale(vs::Tensor v, amrex::Real a);
36
38 amrex::Real gammav,
39 int ntheta,
40 std::vector<amrex::Real> abscissae1D,
41 std::vector<amrex::Real> weights1D,
42 std::vector<vs::Vector>& rays,
43 std::vector<amrex::Real>& weights);
44
46 amrex::Real gammav,
47 int ntheta,
48 NormalRule rule,
49 std::vector<vs::Vector>& rays,
50 std::vector<amrex::Real>& weights);
51
52std::pair<std::vector<amrex::Real>, std::vector<amrex::Real>>
54
56 const amrex::Geometry& geom, int dir, amrex::Real x);
57
58} // namespace kynema_sgf::sampling::sampling_utils
59
60#endif /* SAMPLINGUTILS_H */
Definition SamplingUtils.cpp:10
vs::Tensor scale(vs::Tensor v, amrex::Real a)
Definition SamplingUtils.cpp:96
std::pair< std::vector< amrex::Real >, std::vector< amrex::Real > > truncated_normal_rule(NormalRule rule)
Definition SamplingUtils.cpp:172
vs::Tensor skew_cross(vs::Vector a, vs::Vector b)
Definition SamplingUtils.cpp:89
vs::Vector reflect(vs::Vector line, vs::Vector vec)
Definition SamplingUtils.cpp:27
vs::Vector rotation(const vs::Vector &angles, const vs::Vector &data)
Definition SamplingUtils.cpp:54
vs::Vector rotate_euler_vec(vs::Vector axis, amrex::Real angle, vs::Vector vec)
Definition SamplingUtils.cpp:39
amrex::Real snap_to_nearest_cell_center(const amrex::Geometry &geom, const int dir, const amrex::Real x)
Definition SamplingUtils.cpp:12
NormalRule
Definition SamplingUtils.H:24
@ HALFPOWER
Definition SamplingUtils.H:24
vs::Tensor unit_projection_matrix(const vs::Vector &a)
Definition SamplingUtils.cpp:69
void spherical_cap_quadrature(amrex::Real gammav, int ntheta, std::vector< amrex::Real > abscissae1D, std::vector< amrex::Real > weights1D, std::vector< vs::Vector > &rays, std::vector< amrex::Real > &weights)
Definition SamplingUtils.cpp:105
vs::Vector canon_rotator(const vs::Vector &angles, const vs::Vector &data)
Definition SamplingUtils.cpp:61
vs::Tensor rotation_matrix(vs::Vector dst, vs::Vector src)
Definition SamplingUtils.cpp:75
vs::Vector rotate_euler_vector(vs::Vector &axis, amrex::Real &angle, vs::Vector &vec)
Definition SamplingUtils.cpp:47
void spherical_cap_truncated_normal(amrex::Real gammav, int ntheta, NormalRule rule, std::vector< vs::Vector > &rays, std::vector< amrex::Real > &weights)
Definition SamplingUtils.cpp:152
VectorT< amrex::Real > Vector
Definition vector.H:145
TensorT< amrex::Real > Tensor
Definition tensor.H:158