channelbuilder Namespace Reference

Kynema-SGF API: kynema_sgf::channelbuilder Namespace Reference
Kynema-SGF API v0.1.0
CFD solver for wind plant simulations
Loading...
Searching...
No Matches
kynema_sgf::channelbuilder Namespace Reference

Classes

class  ChannelBuilder

Enumerations

enum class  ChannelSegmentType : std::uint8_t { Ellipse , Trapezoid }
enum class  ChannelVelocityProfile : std::uint8_t { Uniform , Linear , Parabolic }

Functions

AMREX_GPU_HOST_DEVICE bool trapezoid (const amrex::Real &top, const amrex::Real &bottom, const amrex::Real &height, const amrex::Real &hcoord, const amrex::Real &vcoord)
AMREX_GPU_HOST_DEVICE bool ellipse (const amrex::Real &ax_horz, const amrex::Real &ax_vert, const amrex::Real &hcoord, const amrex::Real &vcoord)
AMREX_GPU_HOST_DEVICE bool is_point_within_planes (const amrex::Real &x, const amrex::Real &y, const amrex::Real &z, const amrex::Real &start_x, const amrex::Real &start_y, const amrex::Real &start_z, const amrex::Real &end_x, const amrex::Real &end_y, const amrex::Real &end_z)
AMREX_GPU_HOST_DEVICE amrex::GpuArray< amrex::Real, 3 > get_local_dimensions (const amrex::Real &x, const amrex::Real &y, const amrex::Real &z, const amrex::Real &start_x, const amrex::Real &start_y, const amrex::Real &start_z, const amrex::Real &end_x, const amrex::Real &end_y, const amrex::Real &end_z, const amrex::Real &dim0_s, const amrex::Real &dim1_s, const amrex::Real &dim2_s, const amrex::Real &dim0_e, const amrex::Real &dim1_e, const amrex::Real &dim2_e)
AMREX_GPU_HOST_DEVICE amrex::GpuArray< amrex::Real, 3 > transform_to_local_coordinates (bool do_translation, bool is_active, const amrex::Real &x, const amrex::Real &y, const amrex::Real &z, const amrex::Real &start_x, const amrex::Real &start_y, const amrex::Real &start_z, const amrex::Real &end_x, const amrex::Real &end_y, const amrex::Real &end_z)

Enumeration Type Documentation

◆ ChannelSegmentType

enum class kynema_sgf::channelbuilder::ChannelSegmentType : std::uint8_t
strong
Enumerator
Ellipse 
Trapezoid 

◆ ChannelVelocityProfile

enum class kynema_sgf::channelbuilder::ChannelVelocityProfile : std::uint8_t
strong
Enumerator
Uniform 
Linear 
Parabolic 

Function Documentation

◆ ellipse()

AMREX_GPU_HOST_DEVICE bool kynema_sgf::channelbuilder::ellipse ( const amrex::Real & ax_horz,
const amrex::Real & ax_vert,
const amrex::Real & hcoord,
const amrex::Real & vcoord )
nodiscard

◆ get_local_dimensions()

AMREX_GPU_HOST_DEVICE amrex::GpuArray< amrex::Real, 3 > kynema_sgf::channelbuilder::get_local_dimensions ( const amrex::Real & x,
const amrex::Real & y,
const amrex::Real & z,
const amrex::Real & start_x,
const amrex::Real & start_y,
const amrex::Real & start_z,
const amrex::Real & end_x,
const amrex::Real & end_y,
const amrex::Real & end_z,
const amrex::Real & dim0_s,
const amrex::Real & dim1_s,
const amrex::Real & dim2_s,
const amrex::Real & dim0_e,
const amrex::Real & dim1_e,
const amrex::Real & dim2_e )
nodiscard

Calculate local shape dimensions according to linear interpolation between start and end dimensions using length along segment.

◆ is_point_within_planes()

AMREX_GPU_HOST_DEVICE bool kynema_sgf::channelbuilder::is_point_within_planes ( const amrex::Real & x,
const amrex::Real & y,
const amrex::Real & z,
const amrex::Real & start_x,
const amrex::Real & start_y,
const amrex::Real & start_z,
const amrex::Real & end_x,
const amrex::Real & end_y,
const amrex::Real & end_z )
nodiscard

Check if a point is within the bounding planes of a segment defined by start and end points.

◆ transform_to_local_coordinates()

AMREX_GPU_HOST_DEVICE amrex::GpuArray< amrex::Real, 3 > kynema_sgf::channelbuilder::transform_to_local_coordinates ( bool do_translation,
bool is_active,
const amrex::Real & x,
const amrex::Real & y,
const amrex::Real & z,
const amrex::Real & start_x,
const amrex::Real & start_y,
const amrex::Real & start_z,
const amrex::Real & end_x,
const amrex::Real & end_y,
const amrex::Real & end_z )
nodiscard

Transform global coordinates to local segment coordinates. Returns [xloc, yloc, zloc] where xloc is along segment, yloc is lateral/horizontal, zloc is vertical to segment.

◆ trapezoid()

AMREX_GPU_HOST_DEVICE bool kynema_sgf::channelbuilder::trapezoid ( const amrex::Real & top,
const amrex::Real & bottom,
const amrex::Real & height,
const amrex::Real & hcoord,
const amrex::Real & vcoord )
nodiscard