back to UNIST FPL webpage

FPL_그림로고.png

UI-2007-엠블럼-기본.png

a10102050000_01.png

<aside> ❗ Doc. Ver. 0.0.0, Contact: esyoon at unist dot ac dot kr

</aside>

Update

2023-11-01

2023-10-03

Generals

Coordinates

torus_coordinates.png

gKPSP3 interface

UDSym Class

Mesh Class

Point3 Mesh::get_normal(const FlatSurfaceX) const

위치: ./source/mesh.cpp, 도입일: 2023-08-18 (ESY), 수정일 ver.0.1 : 2023-09-28 (ESY)

<aside> 📥 FlatSurfaceX only

</aside>

<aside> 📤 unit normal vector in R,Z,Phi cylindrical coordinate

</aside>

주어진 FlatSurfaceX에 대한 Globally 공통적인 normalized된 unit normal vector를 “호출 시 계산을 통해” 제공

Comments

Point3 Mesh::get_normal(const EdgeV) const

위치: ./source/mesh.cpp, 도입일: 2023-09-28 (ESY)

주어진 EdgeV에 대한 normalized된 unit normal vector를 “호출 시 계산을 통해” 제공

vector<Point2> Mesh::get_node_edge(const EdgeV &id_E, Species::flag isp=Species::main_ion) const

위치: ./source/mesh.cpp, 확인 날짜: 2023-09-30, 언제 도입했는지 모름 (ESY)

주어진 Velocity space edge (EdgeV)를 이루고 있는 Vertex 2개의 속도공간에서 2차원 위치를 반환

bool Mesh::is_boundary(CurvedSurfaceX&) const

위치:./source/mesh.cpp, 도입일: 2023-09-30 (ESY)

주어진 CurvedSurfaceX가 Geometrically boundary인지 확인

Comments

Partition에 의한 part boundary는 포함되지 않음. 순수한 Model의 boundary에 올려져 있는 Surface를 확인

template <class T> bool Mesh::is_ghost(const T&) const

위치:./source/mesh.cpp, 도입일: ??

주어진 T Entity가 ghost인지 pumi API를 활용하여 확인

int Mesh::get_owner(const ElementX&) const

위치:./source/mesh.cpp, 도입일: 2023-10-04 (ESY)

주어진 ElementX가 Ghost가 아니면 runtime error가 throw됨.

주어진 (Ghost) ElementX의 Owner rank를 return

vector<int> Mesh::get_borrower(const ElementX&) const

위치:./source/mesh.cpp, 도입일: 2023-10-04 (ESY)

주어진 ElementX가 share되고 있지 않다면 (즉, globally copy가 없다면) runtime error가 throw됨.

주어진 ElementX를 share하고 있는 Self를 제외한 다른 rank들의 list를 return

vector<CurvedSurfaceX> Mesh::get_boundary(const ElementX &) const

위치:./source/mesh.cpp, 도입일: 2023-09-30 (ESY)

주어진 ElementX를 구성하고 있는 CurvedSurface가 Geometrically boundary위에 있을 때 std::vector에 해당 CurvedSurfaceX가 반환됨. Boundary CurvedSurfaceX는 경우에 따라 여러 개가 될 수 있음.

bool Mesh::is_boundary(EdgeV&, Species::flag isp=Species::main_ion) const

위치:./source/mesh.cpp, 도입일: 2023-09-30 (ESY)

주어진 Velocity space edge인 EdgeV가 Velocity domain에서 boundary에 위치해 있는지 확인

vector<EdgeV> Mesh::get_boundary(const ElementV&, Species::flag isp=Species::main_ion) const

위치:./source/mesh.cpp, 도입일: 2023-09-30 (ESY)

주어진 ElementV를 구성하고 있는 Velocity space edge가 Boundary edge일 경우 이를 std::vector container에 해당 EdgeV가 반환됨. Boundary EdgeV는 경우에 따라 여러 개가 될 수 있음.

int Mesh::size<FlatSurfaceX>() const

위치: ./include/mesh.hpp, 도입일: 2023-08-17, 작업자: ESY

<aside> 📤 OUTPUT

Field-Following 3D mesh를 대상으로 하여, local process가 보유하고 있는 3D wedge mesh의 FlatSurfaceX의 전체 개수

</aside>

CAVEAT

int Mesh::size<CurvedSurfaceX>() const

위치: ./include/mesh.hpp, 도입일: 2023-08-17, 작업자: ESY

<aside> 📤 OUTPUT

Field-Following 3D mesh를 대상으로 하여, local process가 보유하고 있는 3D wedge mesh의 CurvedSurfaceX의 전체 개수

</aside>

CAVEAT