MAIA bb96820c
Multiphysics at AIA
Loading...
Searching...
No Matches
maia::fv::surface_collector::FvSurfaceCollector< nDim > Class Template Reference

Class that represents FV surface collector. More...

#include <fvcartesiansurfacecollector.h>

Inheritance diagram for maia::fv::surface_collector::FvSurfaceCollector< nDim >:
[legend]
Collaboration diagram for maia::fv::surface_collector::FvSurfaceCollector< nDim >:
[legend]

Public Types

template<class T >
using Invalid = typename maia::fv::surface_collector::Invalid< T >
 

Public Member Functions

constexpr FvSurfaceCollector ()=default
 Default c'tor does nothing. More...
 
void checkVariables ()
 Print data size variables. More...
 
MIntbndryCndId (const MInt id)
 Accessor for bndryCndId. More...
 
MInt bndryCndId (const MInt id) const
 Accessor for bndryCndId (const version). More...
 
MIntorientation (const MInt id)
 Accessor for orientation. More...
 
MInt orientation (const MInt id) const
 Accessor for orientation (const version). More...
 
MFloatfactor (const MInt id, const MInt varId)
 Accessor for factor. More...
 
MFloat factor (const MInt id, const MInt varId) const
 Accessor for factor (const version). More...
 
MFloatarea (const MInt id)
 Accessor for area. More...
 
MFloat area (const MInt id) const
 Accessor for area (const version). More...
 
MFloatcoordinate (const MInt id, const MInt dir)
 Accessor for coordinate. More...
 
MFloat coordinate (const MInt id, const MInt dir) const
 Accessor for coordinate (const version). More...
 
MFloatdeltaX (const MInt id, const MInt varId)
 Accessor for deltaX. More...
 
MFloat deltaX (const MInt id, const MInt varId) const
 Accessor for deltaX (const version). More...
 
MIntnghbrCellId (const MInt id, const MInt dir)
 Accessor for nghbrCellId. More...
 
MInt nghbrCellId (const MInt id, const MInt dir) const
 Accessor for nghbrCellId (const version). More...
 
MFloatvariable (const MInt id, const MInt dir, const MInt varId)
 Accessor for variable. More...
 
MFloat variable (const MInt id, const MInt dir, const MInt varId) const
 Accessor for variable (const version). More...
 
MFloatupwindCoefficient (const MInt id)
 Accessor for upwind coefficient. More...
 
MFloat upwindCoefficient (const MInt id) const
 Accessor for upwind coefficient (const version). More...
 
MFloatsurfaceCoefficient (const MInt id, const MInt dimCoefficient)
 Accessor for surfaceCoefficient. More...
 
MFloat surfaceCoefficient (const MInt id, const MInt dimCoefficient) const
 Accessor for surfaceCoefficient (const version). More...
 
MFloatflux (const MInt id, const MInt fVarId)
 Accessor for flux. More...
 
MFloat flux (const MInt id, const MInt fVarId) const
 Accessor for flux (const version). More...
 
void setNoSpecies (const MInt noSpecies_)
 Set number of species and update number of variables. More...
 
void setNoMaxSrfcs (const MInt noMaxSrfcs_)
 Set number of maximum surfaces and update number of variables. More...
 
void setNoVariables (const MInt noVariables_)
 Set number of variables and update number of variables. More...
 
void setNoFVariables (const MInt noFVariables_)
 Set number of flux variables. More...
 
void setNoSurfaceCoefficients (const MInt noSurfaceCoefficients_)
 Set number of surface coefficients and update number of surface coefficients. More...
 
void setSolverType (const MInt solverType)
 Set solver type. More...
 
constexpr MInt noSpecies () const
 Return number of species. More...
 
constexpr MInt noMaxSrfcs () const
 Return number of maximum surfaces. More...
 
constexpr MInt noVariables () const
 Return number of variables. More...
 
constexpr MInt noFVariables () const
 Return number of flux variables. More...
 
constexpr MInt noSurfaceCoefficients () const
 Return number of surface coefficients. More...
 
constexpr SolverType solverType () const
 Return solver type. More...
 
- Public Member Functions inherited from maia::container::Container< FvSurfaceCollector< nDim >, Invalid >
constexpr Container ()=default
 Default c'tor does nothing. More...
 
constexpr MInt capacity () const
 Return capacity (i.e., maximum number of nodes) More...
 
void reset (const MInt capacity)
 Reset tree, re-create data structures with given capacity, and set size to zero. More...
 
void resize (const MInt capacity)
 Resize the container capacity. More...
 
constexpr MInt size () const
 Return size (i.e., currently used number of nodes) More...
 
void size (const MInt size_)
 Resize tree WITHOUT CONSIDERING ANY NODE CONSISTENCY! Use at own risk and remove ASAP... More...
 
void append (const MInt count)
 Append nodes to end of tree. More...
 
void append ()
 
void shrink (const MInt count)
 Remove nodes from end of tree. More...
 
void shrink ()
 
void copy (const T &source, const MInt begin, const MInt end, const MInt to)
 Copy nodes to another location without changing any parent/child/neighbor information. More...
 
void copy (const T &source, const MInt from, const MInt to)
 
void copy (const MInt begin, const MInt end, const MInt to)
 
void copy (const MInt from, const MInt to)
 
void move (const MInt begin, const MInt end, const MInt to)
 Move nodes to another location and update parent/child/neighbor information accordingly. More...
 
void move (const MInt from, const MInt to)
 
void swap (const MInt a, const MInt b)
 Swap two nodes and update parent/child/neighbor information accordingly. More...
 
void insert (const MInt begin, const MInt count)
 
void insert (const MInt id)
 
void erase (const MInt begin, const MInt end)
 Erase nodes in range [begin, end) and update parent/child/neighbor information. More...
 
void erase (const MInt id)
 
void removeAndShift (const MInt begin, const MInt end)
 
void removeAndShift (const MInt id)
 
void removeAndFill (const MInt begin, const MInt end)
 
void removeAndFill (const MInt id)
 
void clear ()
 Clear tree by invalidating all nodes and setting size to zero. More...
 
FvSurfaceCollector< nDim > & derived ()
 
const FvSurfaceCollector< nDim > & derived () const
 
void rawCopy (const T &source, const MInt begin, const MInt end, const MInt to)
 Copy range of nodes [begin, end) to range starting at 'to'. More...
 
void rawCopy (const T &source, const MInt from, const MInt to)
 
void deleteConnectivity (const MInt NotUsed(begin), const MInt NotUsed(end))
 
void moveConnectivity (const MInt NotUsed(begin), const MInt NotUsed(end), const MInt NotUsed(to))
 
void moveConnectivity (const MInt from, const MInt to)
 
constexpr MInt dummy () const
 

Private Types

using Base = maia::container::Container< FvSurfaceCollector< nDim >, Invalid >
 
template<class T >
using Storage = typename Base::template Storage< T >
 

Private Member Functions

void reset ()
 Reset tree, re-create data structures with given capacity, and set size to zero. More...
 
void resize () override
 Reset tree, re-create data structures with given capacity, and set size to zero. More...
 
void invalidate (const MInt begin, const MInt end)
 Erase range of nodes such that they contain no sensible values anymore. More...
 
template<class Functor , class T >
void rawCopyGeneric (Functor &&c, const T &source, const MInt begin, const MInt end, const MInt destination)
 Helper function for rawCopy(). Destination may refer to beginning or end of target range. More...
 

Private Attributes

MInt m_noSpecies = -1
 Number of species (not being used) More...
 
MInt m_noMaxSrfcs = -1
 
MInt m_noVariables = -1
 
MInt m_noFVariables = -1
 
MInt m_noSurfaceCoefficients = -1
 
MInt m_solverType = -1
 
Storage< MIntm_bndryCndId {}
 
Storage< MIntm_orientation {}
 
Storage< MFloatm_factor {}
 
Storage< MFloatm_area {}
 
Storage< MFloatm_coordinates {}
 
Storage< MFloatm_deltaX {}
 
Storage< MIntm_nghbrCellIds {}
 
Storage< MFloatm_variables {}
 
Storage< MFloatm_upwindCoefficent {}
 
Storage< MFloatm_flux {}
 
Storage< MFloatm_surfaceCoefficients {}
 

Friends

class maia::container::Container< FvSurfaceCollector< nDim >, Invalid >
 

Additional Inherited Members

- Protected Types inherited from maia::container::Container< FvSurfaceCollector< nDim >, Invalid >
using Storage = std::vector< T >
 
- Protected Member Functions inherited from maia::container::Container< FvSurfaceCollector< nDim >, Invalid >
virtual void resize ()
 
void resetStorage (const MInt n, Storage< T > &c)
 Create new container with given size and replace original one. More...
 
void resizeStorage (const MInt n, Storage< T > &c)
 Resize container with given size. More...
 
void fill_invalid (Container_ &c, const MInt begin, const MInt end, const MInt solverSize=1, const T value=Invalid< T >::value())
 
void copyData (const Container_ &source, Container_ &target, Functor &&f, const MInt begin, const MInt end, const MInt dest, const MInt solverSize=1)
 Copy [begin, end) range with given solver size from source to dest position of target. More...
 
MBool isValidId (const MInt id) const
 Return whether given id refers to a valid node (auxiliary method). More...
 

Detailed Description

template<MInt nDim>
class maia::fv::surface_collector::FvSurfaceCollector< nDim >

Definition at line 122 of file fvcartesiansurfacecollector.h.

Member Typedef Documentation

◆ Base

◆ Invalid

template<MInt nDim>
template<class T >
using maia::fv::surface_collector::FvSurfaceCollector< nDim >::Invalid = typename maia::fv::surface_collector::Invalid<T>

Definition at line 137 of file fvcartesiansurfacecollector.h.

◆ Storage

template<MInt nDim>
template<class T >
using maia::fv::surface_collector::FvSurfaceCollector< nDim >::Storage = typename Base::template Storage<T>
private

Definition at line 131 of file fvcartesiansurfacecollector.h.

Constructor & Destructor Documentation

◆ FvSurfaceCollector()

template<MInt nDim>
constexpr maia::fv::surface_collector::FvSurfaceCollector< nDim >::FvSurfaceCollector ( )
constexprdefault

Member Function Documentation

◆ area() [1/2]

template<MInt nDim>
MFloat & FvSurfaceCollector< nDim >::area ( const MInt  id)

Definition at line 367 of file fvcartesiansurfacecollector.h.

367 {
368// Prevent accidental compilation without support for SoA layout
369#ifdef FVSURFACECOLLECTOR_SOA_MEMORY_LAYOUT
370#error Missing implementation for structure-of-arrays memory layout.
371#endif
372 ENSURE_VALID_ID_ACCESSOR(id);
373 return m_area[id];
374}
MInt id
Definition: maiatypes.h:71

◆ area() [2/2]

template<MInt nDim>
MFloat FvSurfaceCollector< nDim >::area ( const MInt  id) const

Definition at line 377 of file fvcartesiansurfacecollector.h.

377 {
378// Prevent accidental compilation without support for SoA layout
379#ifdef FVSURFACECOLLECTOR_SOA_MEMORY_LAYOUT
380#error Missing implementation for structure-of-arrays memory layout.
381#endif
382 ENSURE_VALID_ID_ACCESSOR(id);
383 return m_area[id];
384}

◆ bndryCndId() [1/2]

template<MInt nDim>
MInt & FvSurfaceCollector< nDim >::bndryCndId ( const MInt  id)

Definition at line 302 of file fvcartesiansurfacecollector.h.

302 {
303// Prevent accidental compilation without support for SoA layout
304#ifdef FVSURFACECOLLECTOR_SOA_MEMORY_LAYOUT
305#error Missing implementation for structure-of-arrays memory layout.
306#endif
307 ENSURE_VALID_ID_ACCESSOR(id);
308 return m_bndryCndId[id];
309}

◆ bndryCndId() [2/2]

template<MInt nDim>
MInt FvSurfaceCollector< nDim >::bndryCndId ( const MInt  id) const

Definition at line 312 of file fvcartesiansurfacecollector.h.

312 {
313// Prevent accidental compilation without support for SoA layout
314#ifdef FVSURFACECOLLECTOR_SOA_MEMORY_LAYOUT
315#error Missing implementation for structure-of-arrays memory layout.
316#endif
317 ENSURE_VALID_ID_ACCESSOR(id);
318 return m_bndryCndId[id];
319}

◆ checkVariables()

template<MInt nDim>
void FvSurfaceCollector< nDim >::checkVariables

Definition at line 254 of file fvcartesiansurfacecollector.h.

254 {
255 std::cerr << "@FvSurfaceCollector: noVariables() = " << noVariables() << ", noFVariables() = " << noFVariables()
256 << ", noSurfaceCoefficients() = " << noSurfaceCoefficients() << ", m_noMaxSrfcs = " << noMaxSrfcs()
257 << std::endl;
258}
constexpr MInt noVariables() const
Return number of variables.
constexpr MInt noMaxSrfcs() const
Return number of maximum surfaces.
constexpr MInt noSurfaceCoefficients() const
Return number of surface coefficients.
constexpr MInt noFVariables() const
Return number of flux variables.

◆ coordinate() [1/2]

template<MInt nDim>
MFloat & FvSurfaceCollector< nDim >::coordinate ( const MInt  id,
const MInt  dir 
)

Definition at line 388 of file fvcartesiansurfacecollector.h.

388 {
389// Prevent accidental compilation without support for SoA layout
390#ifdef FVSURFACECOLLECTOR_SOA_MEMORY_LAYOUT
391#error Missing implementation for structure-of-arrays memory layout.
392#endif
393 ENSURE_VALID_ID_ACCESSOR(id);
394 ENSURE_VALID_COORDINATE_DIR_ACCESSOR(dir);
395 return m_coordinates[id * nDim + dir];
396}

◆ coordinate() [2/2]

template<MInt nDim>
MFloat FvSurfaceCollector< nDim >::coordinate ( const MInt  id,
const MInt  dir 
) const

Definition at line 399 of file fvcartesiansurfacecollector.h.

399 {
400// Prevent accidental compilation without support for SoA layout
401#ifdef FVSURFACECOLLECTOR_SOA_MEMORY_LAYOUT
402#error Missing implementation for structure-of-arrays memory layout.
403#endif
404 ENSURE_VALID_ID_ACCESSOR(id);
405 ENSURE_VALID_COORDINATE_DIR_ACCESSOR(dir);
406 return m_coordinates[id * nDim + dir];
407}

◆ deltaX() [1/2]

template<MInt nDim>
MFloat & FvSurfaceCollector< nDim >::deltaX ( const MInt  id,
const MInt  varId 
)

Definition at line 411 of file fvcartesiansurfacecollector.h.

411 {
412// Prevent accidental compilation without support for SoA layout
413#ifdef FVSURFACECOLLECTOR_SOA_MEMORY_LAYOUT
414#error Missing implementation for structure-of-arrays memory layout.
415#endif
416 ENSURE_VALID_ID_ACCESSOR(id);
417 ENSURE_VALID_VARIABLE_ID_ACCESSOR(varId);
418 return m_deltaX[id * 2 * nDim + varId];
419}

◆ deltaX() [2/2]

template<MInt nDim>
MFloat FvSurfaceCollector< nDim >::deltaX ( const MInt  id,
const MInt  varId 
) const

Definition at line 422 of file fvcartesiansurfacecollector.h.

422 {
423// Prevent accidental compilation without support for SoA layout
424#ifdef FVSURFACECOLLECTOR_SOA_MEMORY_LAYOUT
425#error Missing implementation for structure-of-arrays memory layout.
426#endif
427 ENSURE_VALID_ID_ACCESSOR(id);
428 ENSURE_VALID_VARIABLE_ID_ACCESSOR(varId);
429 return m_deltaX[id * 2 * nDim + varId];
430}

◆ factor() [1/2]

template<MInt nDim>
MFloat & FvSurfaceCollector< nDim >::factor ( const MInt  id,
const MInt  varId 
)

Definition at line 344 of file fvcartesiansurfacecollector.h.

344 {
345// Prevent accidental compilation without support for SoA layout
346#ifdef FVSURFACECOLLECTOR_SOA_MEMORY_LAYOUT
347#error Missing implementation for structure-of-arrays memory layout.
348#endif
349 ENSURE_VALID_ID_ACCESSOR(id);
350 ENSURE_VALID_VARIABLE_ID_ACCESSOR(varId);
351 return m_factor[id * 2 + varId];
352}

◆ factor() [2/2]

template<MInt nDim>
MFloat FvSurfaceCollector< nDim >::factor ( const MInt  id,
const MInt  varId 
) const

Definition at line 355 of file fvcartesiansurfacecollector.h.

355 {
356// Prevent accidental compilation without support for SoA layout
357#ifdef FVSURFACECOLLECTOR_SOA_MEMORY_LAYOUT
358#error Missing implementation for structure-of-arrays memory layout.
359#endif
360 ENSURE_VALID_ID_ACCESSOR(id);
361 ENSURE_VALID_VARIABLE_ID_ACCESSOR(varId);
362 return m_factor[id * 2 + varId];
363}

◆ flux() [1/2]

template<MInt nDim>
MFloat & FvSurfaceCollector< nDim >::flux ( const MInt  id,
const MInt  fVarId 
)

Definition at line 526 of file fvcartesiansurfacecollector.h.

526 {
527// Prevent accidental compilation without support for SoA layout
528#ifdef FVSURFACECOLLECTOR_SOA_MEMORY_LAYOUT
529#error Missing implementation for structure-of-arrays memory layout.
530#endif
531 ENSURE_VALID_ID_ACCESSOR(id);
532 ENSURE_VALID_FLUX_VARIABLE_ID_ACCESSOR(varId);
533 return m_flux[id * noFVariables() + fVarId];
534}

◆ flux() [2/2]

template<MInt nDim>
MFloat FvSurfaceCollector< nDim >::flux ( const MInt  id,
const MInt  fVarId 
) const

Definition at line 537 of file fvcartesiansurfacecollector.h.

537 {
538// Prevent accidental compilation without support for SoA layout
539#ifdef FVSURFACECOLLECTOR_SOA_MEMORY_LAYOUT
540#error Missing implementation for structure-of-arrays memory layout.
541#endif
542 ENSURE_VALID_ID_ACCESSOR(id);
543 ENSURE_VALID_FLUX_VARIABLE_ID_ACCESSOR(varId);
544 return m_flux[id * noFVariables() + fVarId];
545}

◆ invalidate()

template<MInt nDim>
void FvSurfaceCollector< nDim >::invalidate ( const MInt  begin,
const MInt  end 
)
private

Definition at line 584 of file fvcartesiansurfacecollector.h.

584 {
585// Prevent accidental compilation without support for SoA layout
586#ifdef FVSURFACECOLLECTOR_SOA_MEMORY_LAYOUT
587#error Missing implementation for structure-of-arrays memory layout.
588#endif
589
590 // bndryCndId
591 fill_invalid(m_bndryCndId, begin, end, 1, -1);
592 // orientation
593 fill_invalid(m_orientation, begin, end, 1, -1);
594 // factors
595 fill_invalid(m_factor, begin, end, 2);
596 // area
597 fill_invalid(m_area, begin, end);
598 // coordinates
599 fill_invalid(m_coordinates, begin, end, nDim);
600 // deltaX
601 fill_invalid(m_deltaX, begin, end, 2 * nDim);
602 // nghbrCellIds
603 fill_invalid(m_nghbrCellIds, begin, end, 2, -1);
604 // variables
605 fill_invalid(m_variables, begin, end, 2 * noVariables());
606 // upwindCoefficient
607 fill_invalid(m_upwindCoefficent, begin, end);
608 // surfaceCoefficients
610 // flux
611 fill_invalid(m_flux, begin, end, noFVariables());
612}
void fill_invalid(Container_ &c, const MInt begin, const MInt end, const MInt solverSize=1, const T value=Invalid< T >::value())
Definition: container.h:131

◆ nghbrCellId() [1/2]

template<MInt nDim>
MInt & FvSurfaceCollector< nDim >::nghbrCellId ( const MInt  id,
const MInt  dir 
)

Definition at line 434 of file fvcartesiansurfacecollector.h.

434 {
435// Prevent accidental compilation without support for SoA layout
436#ifdef FVSURFACECOLLECTOR_SOA_MEMORY_LAYOUT
437#error Missing implementation for structure-of-arrays memory layout.
438#endif
439 ENSURE_VALID_ID_ACCESSOR(id);
440 ENSURE_VALID_COORDINATE_DIR_ACCESSOR(dir);
441 return m_nghbrCellIds[id * 2 + dir];
442}

◆ nghbrCellId() [2/2]

template<MInt nDim>
MInt FvSurfaceCollector< nDim >::nghbrCellId ( const MInt  id,
const MInt  dir 
) const

Definition at line 445 of file fvcartesiansurfacecollector.h.

445 {
446// Prevent accidental compilation without support for SoA layout
447#ifdef FVSURFACECOLLECTOR_SOA_MEMORY_LAYOUT
448#error Missing implementation for structure-of-arrays memory layout.
449#endif
450 ENSURE_VALID_ID_ACCESSOR(id);
451 ENSURE_VALID_COORDINATE_DIR_ACCESSOR(dir);
452 return m_nghbrCellIds[id * 2 + dir];
453}

◆ noFVariables()

template<MInt nDim>
constexpr MInt maia::fv::surface_collector::FvSurfaceCollector< nDim >::noFVariables ( ) const
inlineconstexpr

◆ noMaxSrfcs()

template<MInt nDim>
constexpr MInt maia::fv::surface_collector::FvSurfaceCollector< nDim >::noMaxSrfcs ( ) const
inlineconstexpr

◆ noSpecies()

template<MInt nDim>
constexpr MInt maia::fv::surface_collector::FvSurfaceCollector< nDim >::noSpecies ( ) const
inlineconstexpr

Definition at line 193 of file fvcartesiansurfacecollector.h.

193{ return m_noSpecies; }
MInt m_noSpecies
Number of species (not being used)

◆ noSurfaceCoefficients()

template<MInt nDim>
constexpr MInt maia::fv::surface_collector::FvSurfaceCollector< nDim >::noSurfaceCoefficients ( ) const
inlineconstexpr

◆ noVariables()

template<MInt nDim>
constexpr MInt maia::fv::surface_collector::FvSurfaceCollector< nDim >::noVariables ( ) const
inlineconstexpr

◆ orientation() [1/2]

template<MInt nDim>
MInt & FvSurfaceCollector< nDim >::orientation ( const MInt  id)

Definition at line 323 of file fvcartesiansurfacecollector.h.

323 {
324// Prevent accidental compilation without support for SoA layout
325#ifdef FVSURFACECOLLECTOR_SOA_MEMORY_LAYOUT
326#error Missing implementation for structure-of-arrays memory layout.
327#endif
328 ENSURE_VALID_ID_ACCESSOR(id);
329 return m_orientation[id];
330}

◆ orientation() [2/2]

template<MInt nDim>
MInt FvSurfaceCollector< nDim >::orientation ( const MInt  id) const

Definition at line 333 of file fvcartesiansurfacecollector.h.

333 {
334// Prevent accidental compilation without support for SoA layout
335#ifdef FVSURFACECOLLECTOR_SOA_MEMORY_LAYOUT
336#error Missing implementation for structure-of-arrays memory layout.
337#endif
338 ENSURE_VALID_ID_ACCESSOR(id);
339 return m_orientation[id];
340}

◆ rawCopyGeneric()

template<MInt nDim>
template<class Functor , class T >
void FvSurfaceCollector< nDim >::rawCopyGeneric ( Functor &&  c,
const T &  source,
const MInt  begin,
const MInt  end,
const MInt  destination 
)
private

Definition at line 617 of file fvcartesiansurfacecollector.h.

618 {
619// Prevent accidental compilation without support for SoA layout
620#ifdef FVSURFACECOLLECTOR_SOA_MEMORY_LAYOUT
621#error Missing implementation for structure-of-arrays memory layout.
622#endif
623
624 // bndryCndId
625 copyData(source.m_bndryCndId, m_bndryCndId, c, begin, end, destination);
626 // orientation
627 copyData(source.m_orientation, m_orientation, c, begin, end, destination);
628 // factors
629 copyData(source.m_factor, m_factor, c, begin, end, destination, 2);
630 // area
631 copyData(source.m_area, m_area, c, begin, end, destination);
632 // coordinates
633 copyData(source.m_coordinates, m_coordinates, c, begin, end, destination, nDim);
634 // deltaX
635 copyData(source.m_deltaX, m_deltaX, c, begin, end, destination, 2 * nDim);
636 // nghbrCellIds
637 copyData(source.m_nghbrCellIds, m_nghbrCellIds, c, begin, end, destination, 2);
638 // variables
639 copyData(source.m_variables, m_variables, c, begin, end, destination, 2 * noVariables());
640 // upwindCoefficient
641 copyData(source.m_upwindCoefficent, m_upwindCoefficent, c, begin, end, destination);
642 // surfaceCoefficients
643 copyData(source.m_surfaceCoefficients, m_surfaceCoefficients, c, begin, end, destination, noSurfaceCoefficients());
644 // flux
645 copyData(source.m_flux, m_flux, c, begin, end, destination, noFVariables());
646}
void copyData(const Container_ &source, Container_ &target, Functor &&f, const MInt begin, const MInt end, const MInt dest, const MInt solverSize=1)
Copy [begin, end) range with given solver size from source to dest position of target.
Definition: container.h:138

◆ reset()

template<MInt nDim>
void FvSurfaceCollector< nDim >::reset
private

Definition at line 263 of file fvcartesiansurfacecollector.h.

263 {
269 resetStorage(2 * nDim, m_deltaX);
275}
void resetStorage(const MInt n, Storage< T > &c)
Create new container with given size and replace original one.
Definition: container.h:420

◆ resize()

template<MInt nDim>
void FvSurfaceCollector< nDim >::resize
overrideprivatevirtual

◆ setNoFVariables()

template<MInt nDim>
void FvSurfaceCollector< nDim >::setNoFVariables ( const MInt  noFVariables_)

Definition at line 566 of file fvcartesiansurfacecollector.h.

566 {
567 m_noFVariables = noFVariables_;
568}

◆ setNoMaxSrfcs()

template<MInt nDim>
void FvSurfaceCollector< nDim >::setNoMaxSrfcs ( const MInt  noMaxSrfcs_)

Definition at line 554 of file fvcartesiansurfacecollector.h.

554 {
555 m_noMaxSrfcs = noMaxSrfcs_;
556}

◆ setNoSpecies()

template<MInt nDim>
void FvSurfaceCollector< nDim >::setNoSpecies ( const MInt  noSpecies_)

Definition at line 548 of file fvcartesiansurfacecollector.h.

548 {
549 m_noSpecies = noSpecies_;
550}

◆ setNoSurfaceCoefficients()

template<MInt nDim>
void FvSurfaceCollector< nDim >::setNoSurfaceCoefficients ( const MInt  noSurfaceCoefficients_)

Definition at line 572 of file fvcartesiansurfacecollector.h.

572 {
573 m_noSurfaceCoefficients = noSurfaceCoefficients_;
574}

◆ setNoVariables()

template<MInt nDim>
void FvSurfaceCollector< nDim >::setNoVariables ( const MInt  noVariables_)

Definition at line 560 of file fvcartesiansurfacecollector.h.

560 {
561 m_noVariables = noVariables_;
562}

◆ setSolverType()

template<MInt nDim>
void FvSurfaceCollector< nDim >::setSolverType ( const MInt  solverType)

◆ solverType()

template<MInt nDim>
constexpr SolverType maia::fv::surface_collector::FvSurfaceCollector< nDim >::solverType ( ) const
inlineconstexpr

Definition at line 208 of file fvcartesiansurfacecollector.h.

208{ return (SolverType)m_solverType; }
SolverType
Definition: enums.h:22

◆ surfaceCoefficient() [1/2]

template<MInt nDim>
MFloat & FvSurfaceCollector< nDim >::surfaceCoefficient ( const MInt  id,
const MInt  dimCoefficient 
)

Definition at line 503 of file fvcartesiansurfacecollector.h.

503 {
504// Prevent accidental compilation without support for SoA layout
505#ifdef FVSURFACECOLLECTOR_SOA_MEMORY_LAYOUT
506#error Missing implementation for structure-of-arrays memory layout.
507#endif
508 ENSURE_VALID_ID_ACCESSOR(id);
509 ENSURE_VALID_SURFACE_COEFFICIENT_ID_ACCESSOR(dimCoefficient);
510 return m_surfaceCoefficients[id * noSurfaceCoefficients() + dimCoefficient];
511}

◆ surfaceCoefficient() [2/2]

template<MInt nDim>
MFloat FvSurfaceCollector< nDim >::surfaceCoefficient ( const MInt  id,
const MInt  dimCoefficient 
) const

Definition at line 514 of file fvcartesiansurfacecollector.h.

514 {
515// Prevent accidental compilation without support for SoA layout
516#ifdef FVSURFACECOLLECTOR_SOA_MEMORY_LAYOUT
517#error Missing implementation for structure-of-arrays memory layout.
518#endif
519 ENSURE_VALID_ID_ACCESSOR(id);
520 ENSURE_VALID_SURFACE_COEFFICIENT_ID_ACCESSOR(dimCoefficient);
521 return m_surfaceCoefficients[id * noSurfaceCoefficients() + dimCoefficient];
522}

◆ upwindCoefficient() [1/2]

template<MInt nDim>
MFloat & FvSurfaceCollector< nDim >::upwindCoefficient ( const MInt  id)

Definition at line 482 of file fvcartesiansurfacecollector.h.

482 {
483// Prevent accidental compilation without support for SoA layout
484#ifdef FVSURFACECOLLECTOR_SOA_MEMORY_LAYOUT
485#error Missing implementation for structure-of-arrays memory layout.
486#endif
487 ENSURE_VALID_ID_ACCESSOR(id);
488 return m_upwindCoefficent[id];
489}

◆ upwindCoefficient() [2/2]

template<MInt nDim>
MFloat FvSurfaceCollector< nDim >::upwindCoefficient ( const MInt  id) const

Definition at line 492 of file fvcartesiansurfacecollector.h.

492 {
493// Prevent accidental compilation without support for SoA layout
494#ifdef FVSURFACECOLLECTOR_SOA_MEMORY_LAYOUT
495#error Missing implementation for structure-of-arrays memory layout.
496#endif
497 ENSURE_VALID_ID_ACCESSOR(id);
498 return m_upwindCoefficent[id];
499}

◆ variable() [1/2]

template<MInt nDim>
MFloat & FvSurfaceCollector< nDim >::variable ( const MInt  id,
const MInt  dir,
const MInt  varId 
)

Definition at line 457 of file fvcartesiansurfacecollector.h.

457 {
458// Prevent accidental compilation without support for SoA layout
459#ifdef FVSURFACECOLLECTOR_SOA_MEMORY_LAYOUT
460#error Missing implementation for structure-of-arrays memory layout.
461#endif
462 ENSURE_VALID_ID_ACCESSOR(id);
463 ENSURE_VALID_DIR_ACCESSOR(dir);
464 ENSURE_VALID_VARIABLE_ID_ACCESSOR(varId);
465 return m_variables[(id * 2 + dir) * noVariables() + varId];
466}

◆ variable() [2/2]

template<MInt nDim>
MFloat FvSurfaceCollector< nDim >::variable ( const MInt  id,
const MInt  dir,
const MInt  varId 
) const

Definition at line 469 of file fvcartesiansurfacecollector.h.

469 {
470// Prevent accidental compilation without support for SoA layout
471#ifdef FVSURFACECOLLECTOR_SOA_MEMORY_LAYOUT
472#error Missing implementation for structure-of-arrays memory layout.
473#endif
474 ENSURE_VALID_ID_ACCESSOR(id);
475 ENSURE_VALID_DIR_ACCESSOR(dir);
476 ENSURE_VALID_VARIABLE_ID_ACCESSOR(varId);
477 return m_variables[(id * 2 + dir) * noVariables() + varId];
478}

Friends And Related Function Documentation

◆ maia::container::Container< FvSurfaceCollector< nDim >, Invalid >

template<MInt nDim>
friend class maia::container::Container< FvSurfaceCollector< nDim >, Invalid >
friend

Definition at line 110 of file fvcartesiansurfacecollector.h.

Member Data Documentation

◆ m_area

template<MInt nDim>
Storage<MFloat> maia::fv::surface_collector::FvSurfaceCollector< nDim >::m_area {}
private

Definition at line 241 of file fvcartesiansurfacecollector.h.

◆ m_bndryCndId

template<MInt nDim>
Storage<MInt> maia::fv::surface_collector::FvSurfaceCollector< nDim >::m_bndryCndId {}
private

Definition at line 238 of file fvcartesiansurfacecollector.h.

◆ m_coordinates

template<MInt nDim>
Storage<MFloat> maia::fv::surface_collector::FvSurfaceCollector< nDim >::m_coordinates {}
private

Definition at line 242 of file fvcartesiansurfacecollector.h.

◆ m_deltaX

template<MInt nDim>
Storage<MFloat> maia::fv::surface_collector::FvSurfaceCollector< nDim >::m_deltaX {}
private

Definition at line 243 of file fvcartesiansurfacecollector.h.

◆ m_factor

template<MInt nDim>
Storage<MFloat> maia::fv::surface_collector::FvSurfaceCollector< nDim >::m_factor {}
private

Definition at line 240 of file fvcartesiansurfacecollector.h.

◆ m_flux

template<MInt nDim>
Storage<MFloat> maia::fv::surface_collector::FvSurfaceCollector< nDim >::m_flux {}
private

Definition at line 247 of file fvcartesiansurfacecollector.h.

◆ m_nghbrCellIds

template<MInt nDim>
Storage<MInt> maia::fv::surface_collector::FvSurfaceCollector< nDim >::m_nghbrCellIds {}
private

Definition at line 244 of file fvcartesiansurfacecollector.h.

◆ m_noFVariables

template<MInt nDim>
MInt maia::fv::surface_collector::FvSurfaceCollector< nDim >::m_noFVariables = -1
private

Definition at line 229 of file fvcartesiansurfacecollector.h.

◆ m_noMaxSrfcs

template<MInt nDim>
MInt maia::fv::surface_collector::FvSurfaceCollector< nDim >::m_noMaxSrfcs = -1
private

Definition at line 223 of file fvcartesiansurfacecollector.h.

◆ m_noSpecies

template<MInt nDim>
MInt maia::fv::surface_collector::FvSurfaceCollector< nDim >::m_noSpecies = -1
private

Definition at line 220 of file fvcartesiansurfacecollector.h.

◆ m_noSurfaceCoefficients

template<MInt nDim>
MInt maia::fv::surface_collector::FvSurfaceCollector< nDim >::m_noSurfaceCoefficients = -1
private

Definition at line 232 of file fvcartesiansurfacecollector.h.

◆ m_noVariables

template<MInt nDim>
MInt maia::fv::surface_collector::FvSurfaceCollector< nDim >::m_noVariables = -1
private

Definition at line 226 of file fvcartesiansurfacecollector.h.

◆ m_orientation

template<MInt nDim>
Storage<MInt> maia::fv::surface_collector::FvSurfaceCollector< nDim >::m_orientation {}
private

Definition at line 239 of file fvcartesiansurfacecollector.h.

◆ m_solverType

template<MInt nDim>
MInt maia::fv::surface_collector::FvSurfaceCollector< nDim >::m_solverType = -1
private

Definition at line 235 of file fvcartesiansurfacecollector.h.

◆ m_surfaceCoefficients

template<MInt nDim>
Storage<MFloat> maia::fv::surface_collector::FvSurfaceCollector< nDim >::m_surfaceCoefficients {}
private

Definition at line 248 of file fvcartesiansurfacecollector.h.

◆ m_upwindCoefficent

template<MInt nDim>
Storage<MFloat> maia::fv::surface_collector::FvSurfaceCollector< nDim >::m_upwindCoefficent {}
private

Definition at line 246 of file fvcartesiansurfacecollector.h.

◆ m_variables

template<MInt nDim>
Storage<MFloat> maia::fv::surface_collector::FvSurfaceCollector< nDim >::m_variables {}
private

Definition at line 245 of file fvcartesiansurfacecollector.h.


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