Loading...
Searching...
No Matches
stroid::topology Namespace Reference

## Functions

void | PromoteToHighOrder (mfem::Mesh &mesh, const fourdst::config::Config< config::MeshConfig > &config)
| Promote a mesh to high-order by attaching an H1 nodal finite element space.
void | ProjectMesh (mfem::Mesh &mesh, const fourdst::config::Config< config::MeshConfig > &config)
| Project high-order mesh nodes using the configured curvilinear mapping.
void | ApplyEquiangular (mfem::Vector &pos)
| Apply an equiangular (gnomonic) projection to a point on a cube.
void | ApplySpheroidal (mfem::Vector &pos, const fourdst::config::Config< config::MeshConfig > &config)
| Apply spheroidal flattening along the Z axis.
void | ApplyKelvin (mfem::Vector &pos, const fourdst::config::Config< config::MeshConfig > &config)
| Apply Kelvin transform outside the stellar radius.
void | TransformPoint (mfem::Vector &pos, const fourdst::config::Config< config::MeshConfig > &config, int attribute_id)
| Map a point from the initial block topology to the curvilinear domain.
std::unique_ptr< mfem::Mesh > | BuildSkeleton (const fourdst::config::Config< config::MeshConfig > &config)
| Build the initial multi-block mesh topology for the star model.
void | Finalize (mfem::Mesh &mesh, const fourdst::config::Config< config::MeshConfig > &config)
| Finalize topology, validate orientation, and apply uniform refinement.

## Function Documentation

## ApplyEquiangular()

void stroid::topology::ApplyEquiangular | ( | mfem::Vector & | pos | ) |

Apply an equiangular (gnomonic) projection to a point on a cube.

Parameters

  pos | Position vector updated in-place.

## ApplyKelvin()

void stroid::topology::ApplyKelvin | ( | mfem::Vector & | pos,
|  | const fourdst::config::Config< config::MeshConfig > & | config )

Apply Kelvin transform outside the stellar radius.

Parameters

  pos | Position vector updated in-place.
  config | Mesh configuration (uses `r_star` and `r_infinity`).

## ApplySpheroidal()

void stroid::topology::ApplySpheroidal | ( | mfem::Vector & | pos,
|  | const fourdst::config::Config< config::MeshConfig > & | config )

Apply spheroidal flattening along the Z axis.

Parameters

  pos | Position vector updated in-place.
  config | Mesh configuration (uses `flattening`).

## BuildSkeleton()

std::unique_ptr< mfem::Mesh > stroid::topology::BuildSkeleton | ( | const fourdst::config::Config< config::MeshConfig > & | config | ) |

Build the initial multi-block mesh topology for the star model.

Parameters

  config | Mesh configuration (uses radii and domain flags).

Returns
  Newly allocated mesh skeleton (not yet refined or curved).

## Finalize()

void stroid::topology::Finalize | ( | mfem::Mesh & | mesh,
|  | const fourdst::config::Config< config::MeshConfig > & | config )

Finalize topology, validate orientation, and apply uniform refinement.

Parameters

  mesh | Mesh to finalize in-place.
  config | Mesh configuration (uses `refinement_levels`).

## ProjectMesh()

void stroid::topology::ProjectMesh | ( | mfem::Mesh & | mesh,
|  | const fourdst::config::Config< config::MeshConfig > & | config )

Project high-order mesh nodes using the configured curvilinear mapping.

Requires nodes to be present (call PromoteToHighOrder first).

Parameters

  mesh | Mesh to update in-place.
  config | Mesh configuration (uses radii, flattening, and mapping parameters).

## PromoteToHighOrder()

void stroid::topology::PromoteToHighOrder | ( | mfem::Mesh & | mesh,
|  | const fourdst::config::Config< config::MeshConfig > & | config )

Promote a mesh to high-order by attaching an H1 nodal finite element space.

Parameters

  mesh | Mesh to update in-place.
  config | Mesh configuration (uses `order`).

## TransformPoint()

void stroid::topology::TransformPoint | ( | mfem::Vector & | pos,
|  | const fourdst::config::Config< config::MeshConfig > & | config,
|  | int | attribute_id )

Map a point from the initial block topology to the curvilinear domain.

Parameters

  pos | Position vector updated in-place.
  config | Mesh configuration (uses radii, flattening, instability radius, and core steepness).
  attribute_id | Element attribute ID (currently unused).