Chaste Commit::8b5d759ac2eb95e67ae57699734101efccb0a0a9
ImmersedBoundary2dArrays< DIM > Class Template Reference

#include <ImmersedBoundary2dArrays.hpp>

+ Collaboration diagram for ImmersedBoundary2dArrays< DIM >:

Public Member Functions

 ImmersedBoundary2dArrays (ImmersedBoundaryMesh< DIM, DIM > *pMesh, double dt, double reynoldsNumber, bool activeSources)
 
 ImmersedBoundary2dArrays ()=delete
 
virtual ~ImmersedBoundary2dArrays ()
 
multi_array< double, 3 > & rGetModifiableForceGrids ()
 
multi_array< double, 3 > & rGetModifiableRightHandSideGrids ()
 
multi_array< double, 3 > & rGetModifiableSourceGradientGrids ()
 
multi_array< std::complex< double >, 3 > & rGetModifiableFourierGrids ()
 
multi_array< std::complex< double >, 2 > & rGetModifiablePressureGrid ()
 
const multi_array< double, 2 > & rGetOperator1 () const
 
const multi_array< double, 2 > & rGetOperator2 () const
 
const std::vector< double > & rGetSin2x () const
 
const std::vector< double > & rGetSin2y () const
 
ImmersedBoundaryMesh< DIM, DIM > * GetMesh ()
 
bool HasActiveSources ()
 

Protected Attributes

ImmersedBoundaryMesh< DIM, DIM > * mpMesh
 
bool mActiveSources
 
multi_array< double, 3 > mForceGrids
 
multi_array< double, 3 > mRightHandSideGrids
 
multi_array< double, 3 > mSourceGradientGrids
 
multi_array< double, 2 > mOperator1
 
multi_array< double, 2 > mOperator2
 
multi_array< std::complex< double >, 3 > mFourierGrids
 
multi_array< std::complex< double >, 2 > mPressureGrid
 
std::vector< doublemSin2x
 
std::vector< doublemSin2y
 

Detailed Description

template<unsigned DIM>
class ImmersedBoundary2dArrays< DIM >

A class to store all arrays used by ImmersedBoundarySimulationModifier for 2D simulations.

As these arrays will often be (very) large, it saves significant time to pre-allocate them and re-use during each timestep, rather than creating them as needed.

Definition at line 50 of file ImmersedBoundary2dArrays.hpp.

Constructor & Destructor Documentation

◆ ImmersedBoundary2dArrays() [1/2]

◆ ImmersedBoundary2dArrays() [2/2]

Empty constructor.

◆ ~ImmersedBoundary2dArrays()

template<unsigned DIM>
ImmersedBoundary2dArrays< DIM >::~ImmersedBoundary2dArrays ( )
virtual

Destructor.

Definition at line 114 of file ImmersedBoundary2dArrays.cpp.

Member Function Documentation

◆ GetMesh()

template<unsigned DIM>
ImmersedBoundaryMesh< DIM, DIM > * ImmersedBoundary2dArrays< DIM >::GetMesh ( )
Returns
mpMesh.

Definition at line 173 of file ImmersedBoundary2dArrays.cpp.

◆ HasActiveSources()

template<unsigned DIM>
bool ImmersedBoundary2dArrays< DIM >::HasActiveSources ( )
Returns
mActiveSources.

Definition at line 179 of file ImmersedBoundary2dArrays.cpp.

◆ rGetModifiableForceGrids()

template<unsigned DIM>
multi_array< double, 3 > & ImmersedBoundary2dArrays< DIM >::rGetModifiableForceGrids ( )
Returns
reference to modifiable force grids.

Definition at line 119 of file ImmersedBoundary2dArrays.cpp.

◆ rGetModifiableFourierGrids()

template<unsigned DIM>
multi_array< std::complex< double >, 3 > & ImmersedBoundary2dArrays< DIM >::rGetModifiableFourierGrids ( )
Returns
reference to modifiable Fourier grids.

Definition at line 137 of file ImmersedBoundary2dArrays.cpp.

◆ rGetModifiablePressureGrid()

template<unsigned DIM>
multi_array< std::complex< double >, 2 > & ImmersedBoundary2dArrays< DIM >::rGetModifiablePressureGrid ( )
Returns
reference to modifiable pressure grid.

Definition at line 143 of file ImmersedBoundary2dArrays.cpp.

◆ rGetModifiableRightHandSideGrids()

template<unsigned DIM>
multi_array< double, 3 > & ImmersedBoundary2dArrays< DIM >::rGetModifiableRightHandSideGrids ( )
Returns
reference to modifiable right-hand-side grids.

Definition at line 125 of file ImmersedBoundary2dArrays.cpp.

◆ rGetModifiableSourceGradientGrids()

template<unsigned DIM>
multi_array< double, 3 > & ImmersedBoundary2dArrays< DIM >::rGetModifiableSourceGradientGrids ( )
Returns
reference to modifiable source gradient grids.

Definition at line 131 of file ImmersedBoundary2dArrays.cpp.

◆ rGetOperator1()

template<unsigned DIM>
const multi_array< double, 2 > & ImmersedBoundary2dArrays< DIM >::rGetOperator1 ( ) const
Returns
reference to the first operator.

Definition at line 149 of file ImmersedBoundary2dArrays.cpp.

◆ rGetOperator2()

template<unsigned DIM>
const multi_array< double, 2 > & ImmersedBoundary2dArrays< DIM >::rGetOperator2 ( ) const
Returns
reference to the second operator.

Definition at line 155 of file ImmersedBoundary2dArrays.cpp.

◆ rGetSin2x()

template<unsigned DIM>
const std::vector< double > & ImmersedBoundary2dArrays< DIM >::rGetSin2x ( ) const
Returns
reference to the vector of sine values in x.

Definition at line 161 of file ImmersedBoundary2dArrays.cpp.

◆ rGetSin2y()

template<unsigned DIM>
const std::vector< double > & ImmersedBoundary2dArrays< DIM >::rGetSin2y ( ) const
Returns
reference to the vector of sine values in y.

Definition at line 167 of file ImmersedBoundary2dArrays.cpp.

Member Data Documentation

◆ mActiveSources

template<unsigned DIM>
bool ImmersedBoundary2dArrays< DIM >::mActiveSources
protected

Whether the population has active fluid sources.

Definition at line 58 of file ImmersedBoundary2dArrays.hpp.

Referenced by ImmersedBoundary2dArrays< DIM >::ImmersedBoundary2dArrays().

◆ mForceGrids

template<unsigned DIM>
multi_array<double, 3> ImmersedBoundary2dArrays< DIM >::mForceGrids
protected

Grid to store force acting on fluid.

Definition at line 61 of file ImmersedBoundary2dArrays.hpp.

Referenced by ImmersedBoundary2dArrays< DIM >::ImmersedBoundary2dArrays().

◆ mFourierGrids

template<unsigned DIM>
multi_array<std::complex<double>, 3> ImmersedBoundary2dArrays< DIM >::mFourierGrids
protected

Grid to store results of R2C FFT.

Definition at line 76 of file ImmersedBoundary2dArrays.hpp.

Referenced by ImmersedBoundary2dArrays< DIM >::ImmersedBoundary2dArrays().

◆ mOperator1

template<unsigned DIM>
multi_array<double, 2> ImmersedBoundary2dArrays< DIM >::mOperator1
protected

Grid to store the first of two operators needed for the FFT algorithm.

Definition at line 70 of file ImmersedBoundary2dArrays.hpp.

Referenced by ImmersedBoundary2dArrays< DIM >::ImmersedBoundary2dArrays().

◆ mOperator2

template<unsigned DIM>
multi_array<double, 2> ImmersedBoundary2dArrays< DIM >::mOperator2
protected

Grid to store the second of two operators needed for the FFT algorithm.

Definition at line 73 of file ImmersedBoundary2dArrays.hpp.

Referenced by ImmersedBoundary2dArrays< DIM >::ImmersedBoundary2dArrays().

◆ mpMesh

template<unsigned DIM>
ImmersedBoundaryMesh<DIM,DIM>* ImmersedBoundary2dArrays< DIM >::mpMesh
protected

The immersed boundary mesh.

Definition at line 55 of file ImmersedBoundary2dArrays.hpp.

Referenced by ImmersedBoundary2dArrays< DIM >::ImmersedBoundary2dArrays().

◆ mPressureGrid

template<unsigned DIM>
multi_array<std::complex<double>, 2> ImmersedBoundary2dArrays< DIM >::mPressureGrid
protected

Grid to store the calculated pressure grid.

Definition at line 79 of file ImmersedBoundary2dArrays.hpp.

Referenced by ImmersedBoundary2dArrays< DIM >::ImmersedBoundary2dArrays().

◆ mRightHandSideGrids

template<unsigned DIM>
multi_array<double, 3> ImmersedBoundary2dArrays< DIM >::mRightHandSideGrids
protected

Grid to calculate upwind scheme and store RHS of system.

Definition at line 64 of file ImmersedBoundary2dArrays.hpp.

Referenced by ImmersedBoundary2dArrays< DIM >::ImmersedBoundary2dArrays().

◆ mSin2x

template<unsigned DIM>
std::vector<double> ImmersedBoundary2dArrays< DIM >::mSin2x
protected

Vector of sin values in x, constant once grid size is known.

Definition at line 82 of file ImmersedBoundary2dArrays.hpp.

Referenced by ImmersedBoundary2dArrays< DIM >::ImmersedBoundary2dArrays().

◆ mSin2y

template<unsigned DIM>
std::vector<double> ImmersedBoundary2dArrays< DIM >::mSin2y
protected

Vector of sin values in x, constant once grid size is known.

Definition at line 85 of file ImmersedBoundary2dArrays.hpp.

Referenced by ImmersedBoundary2dArrays< DIM >::ImmersedBoundary2dArrays().

◆ mSourceGradientGrids

template<unsigned DIM>
multi_array<double, 3> ImmersedBoundary2dArrays< DIM >::mSourceGradientGrids
protected

Grid to store the gradient of the fluid sources.

Definition at line 67 of file ImmersedBoundary2dArrays.hpp.

Referenced by ImmersedBoundary2dArrays< DIM >::ImmersedBoundary2dArrays().


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