stroid v0.6.0
Multi-block curvilinear mesh generation
Loading...
Searching...
No Matches
mapping.cpp File Reference
#include "stroid/topology/mapping.h"
#include "stroid/exceptions/exceptions.h"
#include <cmath>
#include <algorithm>
#include <array>
#include <utility>
#include <format>
#include <string>
Include dependency graph for mapping.cpp:

Namespaces

namespace  stroid
 Public API surface for the stroid mesh generation library.
 
namespace  stroid::topology
 Topology construction and curvilinear mapping utilities.
 

Functions

void stroid::topology::ApplyEquiangular (mfem::Vector &pos)
 Apply an equiangular (gnomonic) projection to a point on a cube.
 
void stroid::topology::ApplySpheroidal (mfem::Vector &pos, const fourdst::config::Config< config::MeshConfig > &config)
 Apply spheroidal flattening along the Z axis.
 
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.
 
double stroid::topology::ComputeExteriorCoordinate (const mfem::Vector &logical_position, int attribute, const fourdst::config::Config< config::MeshConfig > &config)
 Compute the compactification coordinate for a point in the curvilinear domain. This ranges from 0-1 with 0 at the stellar surface and 1 at the compactified infinity.