File Adaptation.cu
FileList > src > Adaptation.cu
Go to the source code of this file
#include "Adaptation.h"
Public Functions
Type | Name |
---|---|
void | Adapt (Param & XParam, Forcing< float > XForcing, Model< T > & XModel) Applies adaptation (refinement/coarsening) to the mesh and updates variables. |
void | Adaptation (Param & XParam, Forcing< float > XForcing, Model< T > & XModel) Performs mesh adaptation (refinement/coarsening) for the model. |
template void | Adaptation< double > (Param & XParam, Forcing< float > XForcing, Model< double > & XModel) |
template void | Adaptation< float > (Param & XParam, Forcing< float > XForcing, Model< float > & XModel) |
void | Adaptationcleanup (Param & XParam, BlockP< T > & XBlock, AdaptP & XAdapt) Cleans up and updates block lists after adaptation. |
template void | Adaptationcleanup< double > (Param & XParam, BlockP< double > & XBlock, AdaptP & XAdapt) |
template void | Adaptationcleanup< float > (Param & XParam, BlockP< float > & XBlock, AdaptP & XAdapt) |
int | AddBlocks (int nnewblk, Param & XParam, Model< T > & XModel) Adds new blocks to the mesh for adaptation. |
template int | AddBlocks< double > (int nnewblk, Param & XParam, Model< double > & XModel) |
template int | AddBlocks< float > (int nnewblk, Param & XParam, Model< float > & XModel) |
int | CalcAvailblk (Param & XParam, BlockP< T > XBlock, AdaptP & XAdapt) Calculates the number of available blocks for refinement. |
template int | CalcAvailblk< double > (Param & XParam, BlockP< double > XBlock, AdaptP & XAdapt) |
template int | CalcAvailblk< float > (Param & XParam, BlockP< float > XBlock, AdaptP & XAdapt) |
void | InitialAdaptation (Param & XParam, Forcing< float > & XForcing, Model< T > & XModel) Performs initial mesh adaptation and reruns initial conditions. |
template void | InitialAdaptation< double > (Param & XParam, Forcing< float > & XForcing, Model< double > & XModel) |
template void | InitialAdaptation< float > (Param & XParam, Forcing< float > & XForcing, Model< float > & XModel) |
bool | checkBUQsanity (Param XParam, BlockP< T > XBlock) Checks the consistency and sanity of the block uniform quadtree mesh. |
template bool | checkBUQsanity< double > (Param XParam, BlockP< double > XBlock) |
template bool | checkBUQsanity< float > (Param XParam, BlockP< float > XBlock) |
bool | checklevel (int ib, int levelib, int neighbourib, int levelneighbour) |
bool | checkneighbourdistance (double dx, int ib, int levelib, T blocko, int neighbourib, int levelneighbour, T neighbourblocko, bool rightortop) Checks if the distance between a block and its neighbor is consistent with their levels. |
int | checkneighbourrefine (int neighbourib, int levelib, int levelneighbour, bool *& refine, bool *& coarsen) |
void | coarsen (Param XParam, BlockP< T > & XBlock, AdaptP & XAdapt, EvolvingP< T > XEvo, EvolvingP< T > & XEv) Coarsens mesh blocks and updates conserved variables. |
template void | coarsen< double > (Param XParam, BlockP< double > & XBlock, AdaptP & XAdapt, EvolvingP< double > XEvo, EvolvingP< double > & XEv) |
template void | coarsen< float > (Param XParam, BlockP< float > & XBlock, AdaptP & XAdapt, EvolvingP< float > XEvo, EvolvingP< float > & XEv) |
void | refine (Param XParam, BlockP< T > & XBlock, AdaptP & XAdapt, EvolvingP< T > XEvo, EvolvingP< T > & XEv) Refines mesh blocks and interpolates conserved variables. |
template void | refine< double > (Param XParam, BlockP< double > & XBlock, AdaptP & XAdapt, EvolvingP< double > XEvo, EvolvingP< double > & XEv) |
template void | refine< float > (Param XParam, BlockP< float > & XBlock, AdaptP & XAdapt, EvolvingP< float > XEvo, EvolvingP< float > & XEv) |
bool | refinesanitycheck (Param XParam, BlockP< T > XBlock, bool *& refine, bool *& coarsen) |
Public Functions Documentation
function Adapt
Applies adaptation (refinement/coarsening) to the mesh and updates variables.
Template parameters:
T
Data type
Parameters:
function Adaptation
Performs mesh adaptation (refinement/coarsening) for the model.
template<class T>
void Adaptation (
Param & XParam,
Forcing < float > XForcing,
Model < T > & XModel
)
Template parameters:
T
Data type
Parameters:
Iteratively refines or coarsens the mesh based on adaptation criteria, updating block info and variables.
function Adaptation< double >
template void Adaptation< double > (
Param & XParam,
Forcing < float > XForcing,
Model < double > & XModel
)
function Adaptation< float >
template void Adaptation< float > (
Param & XParam,
Forcing < float > XForcing,
Model < float > & XModel
)
function Adaptationcleanup
Cleans up and updates block lists after adaptation.
Template parameters:
T
Data type
Parameters:
XParam
Model parametersXBlock
Block data structureXAdapt
Adaptation data structure
Updates block levels, reorders active block list, and finalizes adaptation.
function Adaptationcleanup< double >
template void Adaptationcleanup< double > (
Param & XParam,
BlockP < double > & XBlock,
AdaptP & XAdapt
)
function Adaptationcleanup< float >
template void Adaptationcleanup< float > (
Param & XParam,
BlockP < float > & XBlock,
AdaptP & XAdapt
)
function AddBlocks
Adds new blocks to the mesh for adaptation.
Template parameters:
T
Data type
Parameters:
Returns:
New total number of blocks in memory.
function AddBlocks< double >
function AddBlocks< float >
function CalcAvailblk
Calculates the number of available blocks for refinement.
Template parameters:
T
Data type
Parameters:
XParam
Model parametersXBlock
Block data structureXAdapt
Adaptation data structure
Returns:
Number of available blocks for refinement.
function CalcAvailblk< double >
function CalcAvailblk< float >
function InitialAdaptation
Performs initial mesh adaptation and reruns initial conditions.
template<class T>
void InitialAdaptation (
Param & XParam,
Forcing < float > & XForcing,
Model < T > & XModel
)
Template parameters:
T
Data type
Parameters:
function InitialAdaptation< double >
template void InitialAdaptation< double > (
Param & XParam,
Forcing < float > & XForcing,
Model < double > & XModel
)
function InitialAdaptation< float >
template void InitialAdaptation< float > (
Param & XParam,
Forcing < float > & XForcing,
Model < float > & XModel
)
function checkBUQsanity
Checks the consistency and sanity of the block uniform quadtree mesh.
Template parameters:
T
Data type
Parameters:
XParam
Model parametersXBlock
Block data structure
Returns:
True if mesh is sane, false otherwise.
function checkBUQsanity< double >
function checkBUQsanity< float >
function checklevel
function checkneighbourdistance
Checks if the distance between a block and its neighbor is consistent with their levels.
template<class T>
bool checkneighbourdistance (
double dx,
int ib,
int levelib,
T blocko,
int neighbourib,
int levelneighbour,
T neighbourblocko,
bool rightortop
)
Template parameters:
T
Data type
Parameters:
dx
Base grid spacingib
Block indexlevelib
Block levelblocko
Block coordinateneighbourib
Neighbor block indexlevelneighbour
Neighbor block levelneighbourblocko
Neighbor block coordinaterightortop
True if neighbor is right/top, false if left/bottom
Returns:
True if distance is consistent, false otherwise.
function checkneighbourrefine
int checkneighbourrefine (
int neighbourib,
int levelib,
int levelneighbour,
bool *& refine,
bool *& coarsen
)
function coarsen
Coarsens mesh blocks and updates conserved variables.
template<class T>
void coarsen (
Param XParam,
BlockP < T > & XBlock,
AdaptP & XAdapt,
EvolvingP < T > XEvo,
EvolvingP < T > & XEv
)
Template parameters:
T
Data type
Parameters:
XParam
Model parametersXBlock
Block data structureXAdapt
Adaptation data structureXEvo
Old evolving variablesXEv
New evolving variables
function coarsen< double >
template void coarsen< double > (
Param XParam,
BlockP < double > & XBlock,
AdaptP & XAdapt,
EvolvingP < double > XEvo,
EvolvingP < double > & XEv
)
function coarsen< float >
template void coarsen< float > (
Param XParam,
BlockP < float > & XBlock,
AdaptP & XAdapt,
EvolvingP < float > XEvo,
EvolvingP < float > & XEv
)
function refine
Refines mesh blocks and interpolates conserved variables.
template<class T>
void refine (
Param XParam,
BlockP < T > & XBlock,
AdaptP & XAdapt,
EvolvingP < T > XEvo,
EvolvingP < T > & XEv
)
Template parameters:
T
Data type
Parameters:
XParam
Model parametersXBlock
Block data structureXAdapt
Adaptation data structureXEvo
Old evolving variablesXEv
New evolving variables
function refine< double >
template void refine< double > (
Param XParam,
BlockP < double > & XBlock,
AdaptP & XAdapt,
EvolvingP < double > XEvo,
EvolvingP < double > & XEv
)
function refine< float >
template void refine< float > (
Param XParam,
BlockP < float > & XBlock,
AdaptP & XAdapt,
EvolvingP < float > XEvo,
EvolvingP < float > & XEv
)
function refinesanitycheck
template<class T>
bool refinesanitycheck (
Param XParam,
BlockP < T > XBlock,
bool *& refine,
bool *& coarsen
)
The documentation for this class was generated from the following file src/Adaptation.cu