numerics 0.1.0
Loading...
Searching...
No Matches
num::ScalarField3D Class Reference

#include <field3d.hpp>

Public Member Functions

 ScalarField3D (int nx, int ny, int nz, float dx, float ox=0.0f, float oy=0.0f, float oz=0.0f)
 
template<typename F >
 ScalarField3D (int nx, int ny, int nz, float dx, F &&f, float ox=0.0f, float oy=0.0f, float oz=0.0f)
 
const Grid3Dgrid () const
 
int nx () const
 
int ny () const
 
int nz () const
 
float dx () const
 
float ox () const
 
float oy () const
 
float oz () const
 
realoperator() (int i, int j, int k)
 
real operator() (int i, int j, int k) const
 
void set (int i, int j, int k, double v)
 
void fill (double v)
 
template<typename F >
void fill (F &&f)
 Fill every node with f(i, j, k).
 
Vectorvec ()
 
const Vectorvec () const
 
realdata ()
 
const realdata () const
 
idx size () const
 
float sample (float x, float y, float z) const
 

Detailed Description

Definition at line 16 of file field3d.hpp.

Constructor & Destructor Documentation

◆ ScalarField3D() [1/2]

num::ScalarField3D::ScalarField3D ( int  nx,
int  ny,
int  nz,
float  dx,
float  ox = 0.0f,
float  oy = 0.0f,
float  oz = 0.0f 
)
inline

Definition at line 18 of file field3d.hpp.

◆ ScalarField3D() [2/2]

template<typename F >
num::ScalarField3D::ScalarField3D ( int  nx,
int  ny,
int  nz,
float  dx,
F &&  f,
float  ox = 0.0f,
float  oy = 0.0f,
float  oz = 0.0f 
)
inline

Definition at line 35 of file field3d.hpp.

References fill().

Member Function Documentation

◆ data() [1/2]

real * num::ScalarField3D::data ( )
inline

Definition at line 80 of file field3d.hpp.

References num::BasicVector< T >::data().

◆ data() [2/2]

const real * num::ScalarField3D::data ( ) const
inline

Definition at line 81 of file field3d.hpp.

References num::BasicVector< T >::data().

◆ dx()

float num::ScalarField3D::dx ( ) const
inline

◆ fill() [1/2]

void num::ScalarField3D::fill ( double  v)
inline

Definition at line 64 of file field3d.hpp.

References num::BasicVector< T >::size().

Referenced by ScalarField3D().

◆ fill() [2/2]

template<typename F >
void num::ScalarField3D::fill ( F &&  f)
inline

Fill every node with f(i, j, k).

Definition at line 71 of file field3d.hpp.

References num::Grid3D::flat(), num::Grid3D::nx, num::Grid3D::ny, and num::Grid3D::nz.

◆ grid()

const Grid3D & num::ScalarField3D::grid ( ) const
inline

Definition at line 47 of file field3d.hpp.

◆ nx()

◆ ny()

◆ nz()

◆ operator()() [1/2]

real & num::ScalarField3D::operator() ( int  i,
int  j,
int  k 
)
inline

Definition at line 57 of file field3d.hpp.

References num::Grid3D::flat().

◆ operator()() [2/2]

real num::ScalarField3D::operator() ( int  i,
int  j,
int  k 
) const
inline

Definition at line 58 of file field3d.hpp.

References num::Grid3D::flat().

◆ ox()

float num::ScalarField3D::ox ( ) const
inline

◆ oy()

float num::ScalarField3D::oy ( ) const
inline

◆ oz()

float num::ScalarField3D::oz ( ) const
inline

◆ sample()

float num::ScalarField3D::sample ( float  x,
float  y,
float  z 
) const

Definition at line 9 of file fields.cpp.

References dx(), nx(), ny(), nz(), ox(), oy(), and oz().

Referenced by num::VectorField3D::sample().

◆ set()

void num::ScalarField3D::set ( int  i,
int  j,
int  k,
double  v 
)
inline

Definition at line 60 of file field3d.hpp.

References num::Grid3D::flat().

◆ size()

idx num::ScalarField3D::size ( ) const
inline

Definition at line 82 of file field3d.hpp.

References num::BasicVector< T >::size().

◆ vec() [1/2]

Vector & num::ScalarField3D::vec ( )
inline

Definition at line 78 of file field3d.hpp.

Referenced by num::VectorField3D::scale().

◆ vec() [2/2]

const Vector & num::ScalarField3D::vec ( ) const
inline

Definition at line 79 of file field3d.hpp.


The documentation for this class was generated from the following files: