MAIA bb96820c
Multiphysics at AIA
|
#include <lbbndcnd.h>
Public Types | |
using | Cell = GridCell |
Public Member Functions | |
LbBndCnd (LbSolver< nDim > *solver) | |
virtual | ~LbBndCnd () |
The destructor. More... | |
virtual void | setBndCndHandler () |
Sets the BndCndHandler objects at solver setup. More... | |
virtual void | updateVariables () |
Dereferences bndCndHandlerVariables. More... | |
virtual void | updateRHS () |
Dereferences bndCndHandlerRHS. More... | |
void | initializeBcData () |
Initialize BC data variables. More... | |
virtual void | createMBComm () |
This function creates the communicator for calculating the wall forces of the level-set boundaries. More... | |
virtual void | postCouple () |
This function does the sub coupling step called from the coupling class. More... | |
virtual void | initializeBndMovingBoundaries () |
This function initializes the LbBndCnd for coupled simulations. More... | |
Protected Types | |
using | MbCellCollector = maia::lb::collector::LbMbCellCollector< nDim > |
typedef void(LbBndCnd::* | BndCndHandler) (MInt set) |
typedef void(LbBndCnd::* | BndCndHandler_Mb) (MInt set) |
Protected Member Functions | |
template<typename K , typename V > | |
V | GetWithDef (const std::map< K, V > &m, const K &key, const V &defval) |
MInt | a_boundaryCellMb (const MInt cellId) |
virtual MInt | findBndCnd (MInt index) |
This function returns the index in the array of the boundary conditions that are inflow/outflow conditions for a given index in all boundary cells. More... | |
virtual void | solveBlasiusZ (MInt index) |
Solves the Blasius equation for f,f',f". More... | |
void | sortBoundaryCells () |
This function sorts the boundary cells according to the BC id. More... | |
virtual void | calculateForces (MInt) |
virtual void | calculateWallDistances () |
virtual void | addWallDistanceFieldToOutputFile (ParallelIo ¶llelio, const MBool writeHeader, const MBool writeData)=0 |
virtual void | createChannelBoundaries () |
virtual void | bc0 (MInt) |
virtual void | bc10000 (MInt) |
virtual void | bc10001 (MInt) |
virtual void | bc10002 (MInt) |
virtual void | bc10004 (MInt) |
virtual void | bc10022 (MInt) |
virtual void | bc10010 (MInt) |
virtual void | bc10020 (MInt) |
virtual void | bc10040 (MInt) |
virtual void | bc10041 (MInt) |
virtual void | bc10042 (MInt) |
virtual void | bc10043 (MInt) |
virtual void | bc10044 (MInt) |
virtual void | bc10045 (MInt) |
virtual void | bc10046 (MInt) |
virtual void | bc10050 (MInt) |
virtual void | bc10060 (MInt) |
virtual void | bc10061 (MInt) |
virtual void | bc10090 (MInt) |
virtual void | bc10070 (MInt) |
virtual void | bc10080 (MInt) |
virtual void | bc20000 (MInt) |
virtual void | bc20001 (MInt) |
virtual void | bc20002 (MInt) |
virtual void | bc20003 (MInt) |
virtual void | bc20004 (MInt) |
virtual void | bc20005 (MInt) |
virtual void | bc20006 (MInt) |
virtual void | bc20010 (MInt) |
virtual void | bc20020 (MInt) |
virtual void | bc20220 (MInt) |
virtual void | bc20226 (MInt) |
virtual void | bc20227 (MInt) |
virtual void | bc20228 (MInt) |
virtual void | bc20501 (MInt) |
virtual void | bc20501_init (MInt) |
virtual void | bcIBBNeumannInit (MInt) |
virtual void | bc20022 (MInt) |
virtual void | bc20023 (MInt) |
virtual void | bc20024 (MInt) |
virtual void | bc20025 (MInt) |
virtual void | bc20026 (MInt) |
virtual void | bc20027 (MInt) |
virtual void | bc20030 (MInt) |
virtual void | bc20230 (MInt) |
virtual void | bc20050 (MInt) |
virtual void | bc20051 (MInt) |
virtual void | bc20052 (MInt) |
virtual void | bc20053 (MInt) |
virtual void | bc20054 (MInt) |
virtual void | bc20055 (MInt) |
virtual void | bc30000 (MInt) |
virtual void | bc30010 (MInt) |
virtual void | bc30011 (MInt) |
virtual void | bc30012 (MInt) |
virtual void | bc30013 (MInt) |
virtual void | bc30014 (MInt) |
virtual void | bc30015 (MInt) |
virtual void | bc30020 (MInt) |
virtual void | bc30021 (MInt) |
virtual void | bc30022 (MInt) |
virtual void | bc30023 (MInt) |
virtual void | bc30024 (MInt) |
virtual void | bc30025 (MInt) |
virtual void | bc30030 (MInt) |
virtual void | bc30031 (MInt) |
virtual void | bc30032 (MInt) |
virtual void | bc30033 (MInt) |
virtual void | bc30034 (MInt) |
virtual void | bc30035 (MInt) |
virtual void | bc30040 (MInt) |
virtual void | bc30041 (MInt) |
virtual void | bc30042 (MInt) |
virtual void | bc30043 (MInt) |
virtual void | bc30044 (MInt) |
virtual void | bc30045 (MInt) |
virtual void | bc30050 (MInt) |
virtual void | bc40000 (MInt) |
virtual void | bc40001 (MInt) |
virtual void | bc40010 (MInt) |
virtual void | bc40020 (MInt) |
virtual void | bc40030 (MInt) |
virtual void | bc40040 (MInt) |
virtual void | bc40041 (MInt) |
virtual void | bc40042 (MInt) |
virtual void | bc40043 (MInt) |
virtual void | bc40044 (MInt) |
virtual void | bc40045 (MInt) |
virtual void | bc40046 (MInt) |
virtual void | bc40060 (MInt) |
virtual void | bc40070 (MInt) |
virtual void | bc40071 (MInt) |
virtual void | bc40072 (MInt) |
virtual void | bc40073 (MInt) |
virtual void | bc40080 (MInt) |
virtual void | bc40081 (MInt) |
virtual void | bc40082 (MInt) |
virtual void | bc40072_40082_init (MInt) |
virtual void | bc40100 (MInt) |
virtual void | bc40110 (MInt) |
virtual void | bc40120 (MInt) |
virtual void | bc40130 (MInt) |
virtual void | bc10111 (MInt) |
virtual void | bc66666 (MInt) |
virtual void | bc66667 (MInt) |
virtual void | bc66668 (MInt) |
virtual MInt | checkForCommBC () |
Checks if a BC exists that requires communication. More... | |
virtual MBool | checkForCommForce () |
Checks if a BC exists that requires communication. More... | |
virtual void | setBCNeighborCommunicator () |
Sets up a neighbor-communicator for certain BCs. More... | |
virtual void | prepareBC (MInt index, MInt BCCounter, MInt segId) |
Prepares the BC 4070, 4071, 4072, 4080, 4081, and 4082. More... | |
virtual void | prepareBC4073 (MInt BCCounter, MInt segId) |
virtual void | setBCWallNeighborCommunicator () |
Sets up a neighbor-communicator for certain BCs. More... | |
virtual void | prepareBC2000 () |
Prepares the BC 4072. More... | |
Private Member Functions | |
virtual void | createBoundaryCells () |
Creates boundary cells according to the geometry information. More... | |
virtual void | initMembers () |
virtual void | calculateVectors () |
MBool | calculateNormalFromTriangle (GeometryElement< nDim > ge, MFloat *normal) |
Calculate the normal based on a triangle. More... | |
MBool | getNormalFromSTL (GeometryElement< nDim > ge, MFloat *normal) |
Get the normal from the STL. More... | |
void | calculateBndNormals () |
virtual void | calculateAveragedNormalAndCenter (MInt segmentId, MFloat *const normal, MFloat *const center) |
virtual void | fastParallelGeomNormals3D (std::vector< std::pair< MInt, MInt > > own_segments) |
virtual void | normalParallelGeomNormals3D (std::vector< std::pair< MInt, MInt > > own_segments) |
virtual void | updateBndNormals (MInt segId, MBool inside, MFloat *avg_normal) |
Updates the normals of an inlet/outlet based on inside / outside detection. More... | |
virtual void | checkBndNormalDirection () |
virtual void | printBndVelInfo () |
This function prints the gathered information on the boundary vectors and the initial velocity vector into the log file. More... | |
virtual void | processAngles () |
void | bcDataAllocate (MInt index, MInt noVars) |
Allocate data for given boundary index. More... | |
void | bcDataWriteRestartHeader (ParallelIo ¶llelio) |
Write bndCndData info in given ParallelIo file's header. More... | |
void | bcDataWriteRestartData (ParallelIo ¶llelIo) |
Write bndCndData data in given ParallelIo file. More... | |
void | bcDataReadRestartData (ParallelIo ¶llelIo) |
Read bndCndData data in given ParallelIo file. More... | |
void | applyDirectionChangeInflow (MInt index) |
This function checks if for an inflow boundary the normal points into the according direction and changes it depending on it. More... | |
void | applyDirectionChangeOutflow (MInt index) |
This function checks if for an outflow boundary the normal points into the according direction and changes it depending on it. More... | |
void | calculateBndNormals () |
Calculates the averaged normal on a boundary segment. More... | |
Private Attributes | |
MBool(LbBndCnd::* | retrieveNormal )(GeometryElement< nDim > ge, MFloat *normal) |
MInt | m_t_BCAll |
MFloat * | sendBuffersMB = nullptr |
MFloat * | receiveBuffersMB = nullptr |
MInt * | haloInformation = nullptr |
MInt * | windowInformation = nullptr |
MPI_Request * | mpi_request = nullptr |
Friends | |
template<MInt nDim_> | |
class | LbSolver |
template<MInt nDim_, MInt nDist_, class SysEqn_ > | |
class | CouplingLB |
Definition at line 45 of file lbbndcnd.h.
Definition at line 61 of file lbbndcnd.h.
|
protected |
Definition at line 65 of file lbbndcnd.h.
Definition at line 53 of file lbbndcnd.h.
|
protected |
Definition at line 56 of file lbbndcnd.h.
LbBndCnd< nDim >::LbBndCnd | ( | LbSolver< nDim > * | solver | ) |
Definition at line 347 of file lbbndcnd.cpp.
Definition at line 83 of file lbbndcnd.h.
|
protectedpure virtual |
Implemented in LbBndCndDxQy< nDim, nDist, SysEqn >.
A previously calculated direction array is used to check if the normal points into the right direction. If not, the normal is multiplicated with -1 and the direction indicator is switched. Note that bounday normals alway point outside.
[in] | index | the index of the BC |
Definition at line 1564 of file lbbndcnd.cpp.
A previously calculated direction array is used to check if the normal points into the right direction. If not, the normal is multiplicated with -1 and the direction indicator is switched. Note that boundary normals always point outside.
[in] | index | the index of the BC |
Definition at line 1588 of file lbbndcnd.cpp.
Reimplemented in LbBndCndDxQy< nDim, nDist, SysEqn >.
Definition at line 241 of file lbbndcnd.h.
Reimplemented in LbBndCndDxQy< nDim, nDist, SysEqn >.
Definition at line 243 of file lbbndcnd.h.
Reimplemented in LbBndCndDxQy< nDim, nDist, SysEqn >.
Definition at line 244 of file lbbndcnd.h.
Reimplemented in LbBndCndDxQy< nDim, nDist, SysEqn >.
Definition at line 245 of file lbbndcnd.h.
Reimplemented in LbBndCndDxQy< nDim, nDist, SysEqn >.
Definition at line 246 of file lbbndcnd.h.
Reimplemented in LbBndCndDxQy< nDim, nDist, SysEqn >.
Definition at line 248 of file lbbndcnd.h.
Reimplemented in LbBndCndDxQy< nDim, nDist, SysEqn >.
Definition at line 249 of file lbbndcnd.h.
Reimplemented in LbBndCndDxQy< nDim, nDist, SysEqn >.
Definition at line 247 of file lbbndcnd.h.
Reimplemented in LbBndCndDxQy< nDim, nDist, SysEqn >.
Definition at line 250 of file lbbndcnd.h.
Reimplemented in LbBndCndDxQy< nDim, nDist, SysEqn >.
Definition at line 251 of file lbbndcnd.h.
Reimplemented in LbBndCndDxQy< nDim, nDist, SysEqn >.
Definition at line 252 of file lbbndcnd.h.
Reimplemented in LbBndCndDxQy< nDim, nDist, SysEqn >.
Definition at line 253 of file lbbndcnd.h.
Reimplemented in LbBndCndDxQy< nDim, nDist, SysEqn >.
Definition at line 254 of file lbbndcnd.h.
Reimplemented in LbBndCndDxQy< nDim, nDist, SysEqn >.
Definition at line 255 of file lbbndcnd.h.
Reimplemented in LbBndCndDxQy< nDim, nDist, SysEqn >.
Definition at line 256 of file lbbndcnd.h.
Reimplemented in LbBndCndDxQy< nDim, nDist, SysEqn >.
Definition at line 258 of file lbbndcnd.h.
Reimplemented in LbBndCndDxQy< nDim, nDist, SysEqn >.
Definition at line 259 of file lbbndcnd.h.
Reimplemented in LbBndCndDxQy< nDim, nDist, SysEqn >.
Definition at line 260 of file lbbndcnd.h.
Reimplemented in LbBndCndDxQy< nDim, nDist, SysEqn >.
Definition at line 264 of file lbbndcnd.h.
Reimplemented in LbBndCndDxQy< nDim, nDist, SysEqn >.
Definition at line 266 of file lbbndcnd.h.
Reimplemented in LbBndCndDxQy< nDim, nDist, SysEqn >.
Definition at line 262 of file lbbndcnd.h.
Reimplemented in LbBndCndDxQy< nDim, nDist, SysEqn >.
Definition at line 368 of file lbbndcnd.h.
Reimplemented in LbBndCndDxQy< nDim, nDist, SysEqn >.
Definition at line 268 of file lbbndcnd.h.
Reimplemented in LbBndCndDxQy< nDim, nDist, SysEqn >.
Definition at line 269 of file lbbndcnd.h.
Reimplemented in LbBndCndDxQy< nDim, nDist, SysEqn >.
Definition at line 270 of file lbbndcnd.h.
Reimplemented in LbBndCndDxQy< nDim, nDist, SysEqn >.
Definition at line 271 of file lbbndcnd.h.
Reimplemented in LbBndCndDxQy< nDim, nDist, SysEqn >.
Definition at line 272 of file lbbndcnd.h.
Reimplemented in LbBndCndDxQy< nDim, nDist, SysEqn >.
Definition at line 273 of file lbbndcnd.h.
Definition at line 274 of file lbbndcnd.h.
Definition at line 275 of file lbbndcnd.h.
Reimplemented in LbBndCndDxQy< nDim, nDist, SysEqn >.
Definition at line 276 of file lbbndcnd.h.
Reimplemented in LbBndCndDxQy< nDim, nDist, SysEqn >.
Definition at line 287 of file lbbndcnd.h.
Reimplemented in LbBndCndDxQy< nDim, nDist, SysEqn >.
Definition at line 288 of file lbbndcnd.h.
Reimplemented in LbBndCndDxQy< nDim, nDist, SysEqn >.
Definition at line 289 of file lbbndcnd.h.
Reimplemented in LbBndCndDxQy< nDim, nDist, SysEqn >.
Definition at line 290 of file lbbndcnd.h.
Reimplemented in LbBndCndDxQy< nDim, nDist, SysEqn >.
Definition at line 291 of file lbbndcnd.h.
Reimplemented in LbBndCndDxQy< nDim, nDist, SysEqn >.
Definition at line 292 of file lbbndcnd.h.
Reimplemented in LbBndCndDxQy< nDim, nDist, SysEqn >.
Definition at line 293 of file lbbndcnd.h.
Reimplemented in LbBndCndDxQy< nDim, nDist, SysEqn >.
Definition at line 296 of file lbbndcnd.h.
Reimplemented in LbBndCndDxQy< nDim, nDist, SysEqn >.
Definition at line 297 of file lbbndcnd.h.
Reimplemented in LbBndCndDxQy< nDim, nDist, SysEqn >.
Definition at line 298 of file lbbndcnd.h.
Reimplemented in LbBndCndDxQy< nDim, nDist, SysEqn >.
Definition at line 299 of file lbbndcnd.h.
Reimplemented in LbBndCndDxQy< nDim, nDist, SysEqn >.
Definition at line 300 of file lbbndcnd.h.
Reimplemented in LbBndCndDxQy< nDim, nDist, SysEqn >.
Definition at line 301 of file lbbndcnd.h.
Reimplemented in LbBndCndDxQy< nDim, nDist, SysEqn >.
Definition at line 277 of file lbbndcnd.h.
Reimplemented in LbBndCndDxQy< nDim, nDist, SysEqn >.
Definition at line 279 of file lbbndcnd.h.
Reimplemented in LbBndCndDxQy< nDim, nDist, SysEqn >.
Definition at line 280 of file lbbndcnd.h.
Reimplemented in LbBndCndDxQy< nDim, nDist, SysEqn >.
Definition at line 281 of file lbbndcnd.h.
Reimplemented in LbBndCndDxQy< nDim, nDist, SysEqn >.
Definition at line 294 of file lbbndcnd.h.
Reimplemented in LbBndCndDxQy< nDim, nDist, SysEqn >.
Definition at line 282 of file lbbndcnd.h.
Reimplemented in LbBndCndDxQy< nDim, nDist, SysEqn >.
Definition at line 283 of file lbbndcnd.h.
Reimplemented in LbBndCndDxQy< nDim, nDist, SysEqn >.
Definition at line 303 of file lbbndcnd.h.
Reimplemented in LbBndCndDxQy< nDim, nDist, SysEqn >.
Definition at line 305 of file lbbndcnd.h.
Reimplemented in LbBndCndDxQy< nDim, nDist, SysEqn >.
Definition at line 306 of file lbbndcnd.h.
Reimplemented in LbBndCndDxQy< nDim, nDist, SysEqn >.
Definition at line 307 of file lbbndcnd.h.
Reimplemented in LbBndCndDxQy< nDim, nDist, SysEqn >.
Definition at line 308 of file lbbndcnd.h.
Reimplemented in LbBndCndDxQy< nDim, nDist, SysEqn >.
Definition at line 309 of file lbbndcnd.h.
Reimplemented in LbBndCndDxQy< nDim, nDist, SysEqn >.
Definition at line 310 of file lbbndcnd.h.
Reimplemented in LbBndCndDxQy< nDim, nDist, SysEqn >.
Definition at line 312 of file lbbndcnd.h.
Reimplemented in LbBndCndDxQy< nDim, nDist, SysEqn >.
Definition at line 313 of file lbbndcnd.h.
Reimplemented in LbBndCndDxQy< nDim, nDist, SysEqn >.
Definition at line 314 of file lbbndcnd.h.
Reimplemented in LbBndCndDxQy< nDim, nDist, SysEqn >.
Definition at line 315 of file lbbndcnd.h.
Reimplemented in LbBndCndDxQy< nDim, nDist, SysEqn >.
Definition at line 316 of file lbbndcnd.h.
Reimplemented in LbBndCndDxQy< nDim, nDist, SysEqn >.
Definition at line 317 of file lbbndcnd.h.
Reimplemented in LbBndCndDxQy< nDim, nDist, SysEqn >.
Definition at line 319 of file lbbndcnd.h.
Reimplemented in LbBndCndDxQy< nDim, nDist, SysEqn >.
Definition at line 320 of file lbbndcnd.h.
Reimplemented in LbBndCndDxQy< nDim, nDist, SysEqn >.
Definition at line 321 of file lbbndcnd.h.
Reimplemented in LbBndCndDxQy< nDim, nDist, SysEqn >.
Definition at line 322 of file lbbndcnd.h.
Reimplemented in LbBndCndDxQy< nDim, nDist, SysEqn >.
Definition at line 323 of file lbbndcnd.h.
Reimplemented in LbBndCndDxQy< nDim, nDist, SysEqn >.
Definition at line 324 of file lbbndcnd.h.
Reimplemented in LbBndCndDxQy< nDim, nDist, SysEqn >.
Definition at line 326 of file lbbndcnd.h.
Reimplemented in LbBndCndDxQy< nDim, nDist, SysEqn >.
Definition at line 327 of file lbbndcnd.h.
Reimplemented in LbBndCndDxQy< nDim, nDist, SysEqn >.
Definition at line 328 of file lbbndcnd.h.
Reimplemented in LbBndCndDxQy< nDim, nDist, SysEqn >.
Definition at line 329 of file lbbndcnd.h.
Reimplemented in LbBndCndDxQy< nDim, nDist, SysEqn >.
Definition at line 330 of file lbbndcnd.h.
Reimplemented in LbBndCndDxQy< nDim, nDist, SysEqn >.
Definition at line 331 of file lbbndcnd.h.
Definition at line 333 of file lbbndcnd.h.
Reimplemented in LbBndCndDxQy< nDim, nDist, SysEqn >.
Definition at line 335 of file lbbndcnd.h.
Definition at line 336 of file lbbndcnd.h.
Definition at line 337 of file lbbndcnd.h.
Reimplemented in LbBndCndDxQy< nDim, nDist, SysEqn >.
Definition at line 338 of file lbbndcnd.h.
Reimplemented in LbBndCndDxQy< nDim, nDist, SysEqn >.
Definition at line 339 of file lbbndcnd.h.
Reimplemented in LbBndCndDxQy< nDim, nDist, SysEqn >.
Definition at line 341 of file lbbndcnd.h.
Reimplemented in LbBndCndDxQy< nDim, nDist, SysEqn >.
Definition at line 342 of file lbbndcnd.h.
Reimplemented in LbBndCndDxQy< nDim, nDist, SysEqn >.
Definition at line 343 of file lbbndcnd.h.
Reimplemented in LbBndCndDxQy< nDim, nDist, SysEqn >.
Definition at line 344 of file lbbndcnd.h.
Reimplemented in LbBndCndDxQy< nDim, nDist, SysEqn >.
Definition at line 345 of file lbbndcnd.h.
Reimplemented in LbBndCndDxQy< nDim, nDist, SysEqn >.
Definition at line 346 of file lbbndcnd.h.
Reimplemented in LbBndCndDxQy< nDim, nDist, SysEqn >.
Definition at line 347 of file lbbndcnd.h.
Reimplemented in LbBndCndDxQy< nDim, nDist, SysEqn >.
Definition at line 349 of file lbbndcnd.h.
Reimplemented in LbBndCndDxQy< nDim, nDist, SysEqn >.
Definition at line 351 of file lbbndcnd.h.
Reimplemented in LbBndCndDxQy< nDim, nDist, SysEqn >.
Definition at line 352 of file lbbndcnd.h.
Reimplemented in LbBndCndDxQy< nDim, nDist, SysEqn >.
Definition at line 353 of file lbbndcnd.h.
|
inlineprotectedvirtual |
Reimplemented in LbBndCndDxQy< nDim, nDist, SysEqn >.
Definition at line 359 of file lbbndcnd.h.
Reimplemented in LbBndCndDxQy< nDim, nDist, SysEqn >.
Definition at line 354 of file lbbndcnd.h.
Reimplemented in LbBndCndDxQy< nDim, nDist, SysEqn >.
Definition at line 355 of file lbbndcnd.h.
Reimplemented in LbBndCndDxQy< nDim, nDist, SysEqn >.
Definition at line 356 of file lbbndcnd.h.
Reimplemented in LbBndCndDxQy< nDim, nDist, SysEqn >.
Definition at line 357 of file lbbndcnd.h.
Reimplemented in LbBndCndDxQy< nDim, nDist, SysEqn >.
Definition at line 361 of file lbbndcnd.h.
Reimplemented in LbBndCndDxQy< nDim, nDist, SysEqn >.
Definition at line 362 of file lbbndcnd.h.
Reimplemented in LbBndCndDxQy< nDim, nDist, SysEqn >.
Definition at line 364 of file lbbndcnd.h.
Reimplemented in LbBndCndDxQy< nDim, nDist, SysEqn >.
Definition at line 366 of file lbbndcnd.h.
Reimplemented in LbBndCndDxQy< nDim, nDist, SysEqn >.
Definition at line 370 of file lbbndcnd.h.
Definition at line 371 of file lbbndcnd.h.
Reimplemented in LbBndCndDxQy< nDim, nDist, SysEqn >.
Definition at line 372 of file lbbndcnd.h.
[in] | index | the index of the BC |
Definition at line 1404 of file lbbndcnd.cpp.
|
private |
[in] | parallelIo | Parallel file handler opened in write mode |
Definition at line 1511 of file lbbndcnd.cpp.
|
private |
[in] | parallelIo | Parallel file handler opened in write mode |
Definition at line 1470 of file lbbndcnd.cpp.
|
private |
[in] | parallelIo | Parallel file handler opened in define mode |
Definition at line 1428 of file lbbndcnd.cpp.
Reimplemented in LbBndCndDxQy< nDim, nDist, SysEqn >.
Definition at line 285 of file lbbndcnd.h.
|
privatevirtual |
returns the center, the normal and the count of a segment
[in] | segmentId | the id of the segment to test |
[in] | normal | a MFloatScratchSpace to be filled with the avaregaed normal |
[in] | center | a MFloatScratchSpace to be filled with the center |
[in] | count | pointer to a counter |
Definition at line 882 of file lbbndcnd.cpp.
|
private |
For each segment the averaged normal \(n\) is calculated by running over all triangles and adding either the cross-product of the spanning edges or by reading the normals stored in the STL. Additionally the center \(c\) is evaluated by averaging the vertex locations over the number of vertices. Then it is tested if
\[\vec{p}=\vec{c}+d\cdot\vec{n}\]
,
where $d$ is the length of the diagonal of the smallest cell, is inside the geometry (using pointIsInside2 from CartesianGrid).
Definition at line 1305 of file lbbndcnd.cpp.
Definition at line 1279 of file lbbndcnd.cpp.
Definition at line 235 of file lbbndcnd.h.
|
inlineprivate |
Calculate the normal from a traingle using the cross product. Just in case the normal has a length of 0 false is returned, otherwise true. If invalid, the triangle is skipped for the calculation of the segment normal in calculateBndNormals().
[in] | ge | the GeometryElement (a triangle) |
[in] | normal | address of the normal |
Definition at line 803 of file lbbndcnd.cpp.
|
inlineprotectedvirtual |
Reimplemented in LbBndCndDxQy< nDim, nDist, SysEqn >, LbBndCndDxQy< nDim, nDist, SysEqn >, and LbBndCndDxQy< nDim, nDist, SysEqn >.
Definition at line 236 of file lbbndcnd.h.
Definition at line 207 of file lbbndcnd.h.
Definition at line 2569 of file lbbndcnd.cpp.
Definition at line 2407 of file lbbndcnd.cpp.
This function runs over all cells and makes an intersection test with the triangles of nearby segments. All candidates carry a segment id and a boundary condition. Hence, a corner cell can have multiple properties. Depending on the allowance of multiple BCs, only one single (no multiple BCs allowed) boundary cell is added to a temporary vector. Anyhow, the boundary cell can carry multiple information on segment id and boundary condition. In this case the wall boundary condition is chosen by setting the first element of both the boundary condition array and the segment id to this wall condition. In the other case of multiple BCs, the boundary cell is added multiple times to the vector of temporary boundary cells, each time with its according different conditions. After that, the collector of boundary cells is initialized. The size is now known by the size of the temporary vector. Finally, the information in the vector is copied to the collector.
Definition at line 3207 of file lbbndcnd.cpp.
|
inlineprotectedvirtual |
Definition at line 239 of file lbbndcnd.h.
firstInit &&
Definition at line 3416 of file lbbndcnd.cpp.
|
privatevirtual |
Caluates the normal for one participatiung process for an in/outlet BC and distributes
Only one process in the BC communicator performs a normal calculation and uses this to generate a point in the center of gravity. It is then checked if this point is inside/outside the geometry to define the boundary normal.
param[in] own_segments is a vector of tuples of positions and segmentId
Definition at line 963 of file lbbndcnd.cpp.
The function simply runs over the the array containing the segment ids of the boundaries that are inflow/outflow and checks if in the original array of all boundary cell at a given offset this segment id is found.
Definition at line 1388 of file lbbndcnd.cpp.
|
inlineprivate |
Gets the normal directly from the STL information. Just in case the normal has a length of 0 false is returned, otherwise true. If invalid, the triangle is skipped for the calculation of the segment normal in calculateBndNormals().
[in] | ge | the GeometryElement (a triangle) |
[in] | normal | address of the normal |
Definition at line 851 of file lbbndcnd.cpp.
|
inlineprotected |
Definition at line 74 of file lbbndcnd.h.
Definition at line 3390 of file lbbndcnd.cpp.
Definition at line 3498 of file lbbndcnd.cpp.
|
privatevirtual |
Caluates the normal for all participatiung process for an in/outlet BC and avarages
Each process in the BC communicator generates a normal from the triangles and then avarages it together with the other participating processes. All of them furthermore run the inside-outside determination.
param[in] own_segments is a vector of tuples of positions and segmentId
Definition at line 1097 of file lbbndcnd.cpp.
Definition at line 3538 of file lbbndcnd.cpp.
|
protectedvirtual |
Determines the number of cells that belong to this BC and then communicates this to all other domains. Those domains having such a BC are then grouped into a new communicator m_BCComm and a file is opened to record the BC residual (the density and the local Reynolds number.
[in] | index | the index of the BC, counter the counter of BCs requiring communication |
Definition at line 2669 of file lbbndcnd.cpp.
Determines the number of cells that belong to this BC and then communicates this to all other domains. Those domains having such a BC are then grouped into a new communicator m_BCComm and a file is opened to record the BC residual (the density and the local Reynolds number.
[in] | bndCndIdIndex | the index of the BC 4072 in the BC array |
Definition at line 2486 of file lbbndcnd.cpp.
|
protectedvirtual |
Definition at line 2728 of file lbbndcnd.cpp.
Prints all information about the boundary conditions.
Definition at line 551 of file lbbndcnd.cpp.
Definition at line 382 of file lbbndcnd.cpp.
This function checks if a BC is used which requires internal communication. If so, a new communicator group is created holding only the processes having a part of the BC. A file is opened, which will hold the residual for this BC.
Definition at line 3020 of file lbbndcnd.cpp.
This function checks if a BC is used which requires internal communication. If so, a new communicator group is created holding only the processes having a part of the BC.
Definition at line 2437 of file lbbndcnd.cpp.
setBndCndHandler() needs to be called after loadBndCells(). It needs the boundary condition to set the boundary condition handler. Each new boundary condition needs to be implemented here, too.
Definition at line 1786 of file lbbndcnd.cpp.
Solves the Blasius equation for cells in positive z-direction and stores the result in an array m_blasius. The values are calculated beginning with a starting f" = 0.332051914927913096446.The similarity parameter eta of the boundary cells is stored in the boundary cell variable m_eta.
index | The index ot the boundary to be treated |
Definition at line 1614 of file lbbndcnd.cpp.
The sorting of the boundary cells is necessary because all cells are stored in one single collector. The boundary condition functions get the position of a type of boundary cells in the collector (offset) and the number of boundary cells of equal type ( i.e. with the same boundary id) as parameter.
Definition at line 1702 of file lbbndcnd.cpp.
|
privatevirtual |
[in] | segId | the id of the segment |
[in] | is_inside | the result of the inside / outside determination |
[in] | svg_normal | the averaged normal used to override |
Definition at line 1364 of file lbbndcnd.cpp.
Definition at line 3185 of file lbbndcnd.cpp.
Definition at line 3174 of file lbbndcnd.cpp.
|
friend |
Definition at line 50 of file lbbndcnd.h.
Definition at line 48 of file lbbndcnd.h.
Definition at line 391 of file lbbndcnd.h.
|
protected |
Definition at line 63 of file lbbndcnd.h.
|
protected |
Definition at line 67 of file lbbndcnd.h.
|
protected |
Definition at line 62 of file lbbndcnd.h.
|
protected |
Definition at line 66 of file lbbndcnd.h.
|
protected |
Definition at line 64 of file lbbndcnd.h.
Definition at line 223 of file lbbndcnd.h.
Definition at line 397 of file lbbndcnd.h.
Definition at line 410 of file lbbndcnd.h.
Definition at line 399 of file lbbndcnd.h.
Definition at line 392 of file lbbndcnd.h.
Definition at line 402 of file lbbndcnd.h.
Definition at line 396 of file lbbndcnd.h.
Definition at line 404 of file lbbndcnd.h.
Definition at line 412 of file lbbndcnd.h.
Definition at line 417 of file lbbndcnd.h.
Definition at line 166 of file lbbndcnd.h.
Definition at line 167 of file lbbndcnd.h.
|
protected |
Definition at line 130 of file lbbndcnd.h.
|
protected |
Definition at line 177 of file lbbndcnd.h.
Definition at line 158 of file lbbndcnd.h.
Definition at line 159 of file lbbndcnd.h.
Definition at line 160 of file lbbndcnd.h.
Definition at line 93 of file lbbndcnd.h.
Definition at line 111 of file lbbndcnd.h.
Definition at line 90 of file lbbndcnd.h.
Definition at line 71 of file lbbndcnd.h.
|
protected |
Definition at line 57 of file lbbndcnd.h.
Definition at line 403 of file lbbndcnd.h.
Definition at line 174 of file lbbndcnd.h.
Definition at line 97 of file lbbndcnd.h.
Definition at line 98 of file lbbndcnd.h.
Definition at line 388 of file lbbndcnd.h.
Definition at line 383 of file lbbndcnd.h.
Definition at line 147 of file lbbndcnd.h.
Definition at line 146 of file lbbndcnd.h.
Definition at line 125 of file lbbndcnd.h.
Definition at line 126 of file lbbndcnd.h.
Definition at line 112 of file lbbndcnd.h.
Definition at line 104 of file lbbndcnd.h.
Definition at line 424 of file lbbndcnd.h.
Definition at line 416 of file lbbndcnd.h.
Definition at line 144 of file lbbndcnd.h.
Definition at line 132 of file lbbndcnd.h.
Definition at line 411 of file lbbndcnd.h.
Definition at line 419 of file lbbndcnd.h.
Definition at line 69 of file lbbndcnd.h.
Definition at line 89 of file lbbndcnd.h.
Definition at line 110 of file lbbndcnd.h.
Definition at line 91 of file lbbndcnd.h.
Definition at line 113 of file lbbndcnd.h.
Definition at line 173 of file lbbndcnd.h.
Definition at line 157 of file lbbndcnd.h.
Definition at line 99 of file lbbndcnd.h.
Definition at line 94 of file lbbndcnd.h.
Definition at line 101 of file lbbndcnd.h.
Definition at line 96 of file lbbndcnd.h.
Definition at line 422 of file lbbndcnd.h.
Definition at line 418 of file lbbndcnd.h.
Definition at line 409 of file lbbndcnd.h.
Definition at line 407 of file lbbndcnd.h.
Definition at line 421 of file lbbndcnd.h.
Definition at line 406 of file lbbndcnd.h.
Definition at line 405 of file lbbndcnd.h.
Definition at line 408 of file lbbndcnd.h.
Definition at line 423 of file lbbndcnd.h.
Definition at line 386 of file lbbndcnd.h.
Definition at line 141 of file lbbndcnd.h.
Definition at line 393 of file lbbndcnd.h.
Definition at line 162 of file lbbndcnd.h.
Definition at line 163 of file lbbndcnd.h.
Definition at line 161 of file lbbndcnd.h.
|
protected |
Definition at line 415 of file lbbndcnd.h.
Definition at line 387 of file lbbndcnd.h.
Definition at line 107 of file lbbndcnd.h.
Definition at line 105 of file lbbndcnd.h.
Definition at line 137 of file lbbndcnd.h.
Definition at line 115 of file lbbndcnd.h.
Definition at line 398 of file lbbndcnd.h.
Definition at line 401 of file lbbndcnd.h.
Definition at line 413 of file lbbndcnd.h.
Definition at line 164 of file lbbndcnd.h.
Definition at line 136 of file lbbndcnd.h.
Definition at line 86 of file lbbndcnd.h.
Definition at line 68 of file lbbndcnd.h.
Definition at line 87 of file lbbndcnd.h.
Definition at line 425 of file lbbndcnd.h.
Definition at line 88 of file lbbndcnd.h.
Definition at line 143 of file lbbndcnd.h.
Definition at line 400 of file lbbndcnd.h.
Definition at line 140 of file lbbndcnd.h.
Definition at line 114 of file lbbndcnd.h.
Definition at line 92 of file lbbndcnd.h.
Definition at line 118 of file lbbndcnd.h.
Definition at line 170 of file lbbndcnd.h.
Definition at line 142 of file lbbndcnd.h.
Definition at line 145 of file lbbndcnd.h.
Definition at line 384 of file lbbndcnd.h.
Definition at line 149 of file lbbndcnd.h.
Definition at line 150 of file lbbndcnd.h.
Definition at line 385 of file lbbndcnd.h.
Definition at line 100 of file lbbndcnd.h.
Definition at line 95 of file lbbndcnd.h.
Definition at line 178 of file lbbndcnd.h.
Definition at line 60 of file lbbndcnd.h.
Definition at line 129 of file lbbndcnd.h.
Definition at line 219 of file lbbndcnd.h.
Definition at line 119 of file lbbndcnd.h.
Definition at line 394 of file lbbndcnd.h.
Definition at line 420 of file lbbndcnd.h.
Definition at line 225 of file lbbndcnd.h.
|
protected |
Definition at line 134 of file lbbndcnd.h.
Definition at line 222 of file lbbndcnd.h.
|
private |
Definition at line 199 of file lbbndcnd.h.
Definition at line 221 of file lbbndcnd.h.
Definition at line 390 of file lbbndcnd.h.
|
private |
Definition at line 224 of file lbbndcnd.h.