- Member Nektar::L1Norm (const NekVector< DataType > &v)
- Do the Norms with Blas where applicable.
- Member Nektar::LibUtilities::BasisKey::GetTotNumModes () const
- Generalise to arbitrary polynomials
- Member Nektar::LinearElasticSystem::BuildMatrixSystem ()
- Make static condensation optional and construct full system instead.
- Member Nektar::LocalRegions::SegExp::MultiplyByElmtInvMass (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray)
- Same method exists in ExpList and everyone references ExpList::MultiplyByElmtInvMass. Remove this one?
- Member Nektar::MultiRegions::DisContField3DHomogeneous1D::v_GetRobinBCInfo () override
- Fix Robin BCs for homogeneous case
- Member Nektar::MultiRegions::DisContField3DHomogeneous1D::v_GetTrace () override
Fix in another way considering all the planes
Fix in another way considering all the planes
- Member Nektar::MultiRegions::DisContField3DHomogeneous1D::v_GetTraceMap () override
Fix in another way considering all the planes
Fix in another way considering all the planes
- Member Nektar::MultiRegions::DisContField3DHomogeneous2D::v_GetRobinBCInfo () override
Fix Robin BCs for homogeneous case
Fix Robin BCs for homogeneous case
- Member Nektar::MultiRegions::ExpList::GetExpIndex (const Array< OneD, const NekDouble > &gloCoord, NekDouble tol=0.0, bool returnNearestElmt=false, int cachedId=-1, NekDouble maxDistance=1e6)
- need a smarter search here that first just looks at bounding vertices - suggest first seeing if point is within 10% of region defined by vertices. The do point search.
- Member Nektar::MultiRegions::GlobalLinSysPETSc::DoNekppOperation (Vec &in, Vec &out, ShellCtx *ctx, bool precon)
- There's a lot of scatters and copies that might possibly be eliminated to make this more efficient.
- Member Nektar::MultiRegions::GlobalLinSysPETSc::SetUpMatVec (int nGlobal, int nDir)
- Preallocation should be done at this point, since presently matrix allocation takes a significant amount of time.
- Member Nektar::MultiRegions::GlobalLinSysPETScStaticCond::v_DoMatrixMultiply (const Array< OneD, const NekDouble > &input, Array< OneD, NekDouble > &output) override
- This can possibly be made faster by using the sparse block-matrix multiplication code from the iterative elastic systems.
- Member Nektar::MultiRegions::LocTraceToTraceMap::LocTraceToTraceMap (const ExpList &locExp, const ExpListSharedPtr &trace, const Array< OneD, Array< OneD, LocalRegions::ExpansionSharedPtr > > &elmtToTrace, const std::vector< bool > &LeftAdjacents)
- Add 1D support
- Member Nektar::NavierStokesCFE::v_GetViscousFluxVector (const Array< OneD, const Array< OneD, NekDouble > > &physfield, TensorOfArray3D< NekDouble > &derivatives, TensorOfArray3D< NekDouble > &viscousTensor)
- Complete the viscous flux vector
- Member Nektar::NavierStokesCFE::v_GetViscousFluxVectorDeAlias (const Array< OneD, const Array< OneD, NekDouble > > &physfield, TensorOfArray3D< NekDouble > &derivatives, TensorOfArray3D< NekDouble > &viscousTensor)
- Complete the viscous flux vector
- Member Nektar::NavierStokesCFEAxisym::v_GetViscousFluxVector (const Array< OneD, const Array< OneD, NekDouble > > &physfield, TensorOfArray3D< NekDouble > &derivatives, TensorOfArray3D< NekDouble > &viscousTensor) override
- Complete the viscous flux vector
- Member Nektar::NavierStokesImplicitCFE::GetdFlux_dQx_2D (const Array< OneD, NekDouble > &normals, const NekDouble &mu, const Array< OneD, NekDouble > &U, DNekMatSharedPtr &OutputMatrix)
flux derived with Qx=[drho_dx,drhou_dx,drhov_dx,drhoE_dx] Input: normals:Point normals U=[rho,rhou,rhov,rhoE] Output: 2D 3*4 Matrix (flux with rho is zero)
flux derived with Qx=[drho_dx,drhou_dx,drhov_dx,drhoE_dx] Input: normals:Point normals U=[rho,rhou,rhov,rhoE] Output: 2D 3*4 Matrix (flux with rho is zero)
- Member Nektar::NavierStokesImplicitCFE::GetdFlux_dQy_2D (const Array< OneD, NekDouble > &normals, const NekDouble &mu, const Array< OneD, NekDouble > &U, DNekMatSharedPtr &OutputMatrix)
flux derived with Qx=[drho_dy,drhou_dy,drhov_dy,drhoE_dy] Input: normals:Point normals U=[rho,rhou,rhov,rhoE] Output: 2D 3*4 Matrix (flux with rho is zero)
flux derived with Qx=[drho_dy,drhou_dy,drhov_dy,drhoE_dy] Input: normals:Point normals U=[rho,rhou,rhov,rhoE] Output: 2D 3*4 Matrix (flux with rho is zero)
- Member Nektar::NekSparseDiagBlkMatrix< SparseStorageType >::operator() (const IndexType row, const IndexType column) const
- double check, might be a bug when local_col > local column
- Member Nektar::SolverUtils::Advection3DHomogeneous1D::Advection3DHomogeneous1D (std::string advType)
- Extension to triangles, tetrahedra and other shapes. (Long term objective)
- Member Nektar::SolverUtils::AdvectionFR::AdvectionFR (std::string advType)
- Extension to triangles, tetrahedra and other shapes. (Long term objective)
- Member Nektar::SolverUtils::AdvectionFR::DivCFlux_2D (const int nConvectiveFields, const Array< OneD, MultiRegions::ExpListSharedPtr > &fields, const Array< OneD, const NekDouble > &fluxX1, const Array< OneD, const NekDouble > &fluxX2, const Array< OneD, const NekDouble > &numericalFlux, Array< OneD, NekDouble > &divCFlux)
- : Switch on shapes eventually here.
- Member Nektar::SolverUtils::AdvectionFR::DivCFlux_2D_Gauss (const int nConvectiveFields, const Array< OneD, MultiRegions::ExpListSharedPtr > &fields, const Array< OneD, const NekDouble > &fluxX1, const Array< OneD, const NekDouble > &fluxX2, const Array< OneD, const NekDouble > &numericalFlux, Array< OneD, NekDouble > &divCFlux)
- : Switch on shapes eventually here.
- Member Nektar::SolverUtils::AdvectionFR::DivCFlux_3D (const int nConvectiveFields, const Array< OneD, MultiRegions::ExpListSharedPtr > &fields, const Array< OneD, const NekDouble > &fluxX1, const Array< OneD, const NekDouble > &fluxX2, const Array< OneD, const NekDouble > &fluxX3, const Array< OneD, const NekDouble > &numericalFlux, Array< OneD, NekDouble > &divCFlux)
- : To be implemented. Switch on shapes eventually here.
- Member Nektar::SolverUtils::AdvectionFR::SetupMetrics (LibUtilities::SessionReaderSharedPtr pSession, Array< OneD, MultiRegions::ExpListSharedPtr > pFields)
- Add the metric terms for 3D Hexahedra.
- Member Nektar::SolverUtils::DiffusionLFR::DerCFlux_2D (const int nConvectiveFields, const int direction, const Array< OneD, MultiRegions::ExpListSharedPtr > &fields, const Array< OneD, const NekDouble > &flux, const Array< OneD, NekDouble > &iFlux, Array< OneD, NekDouble > &derCFlux)
- : Switch on shapes eventually here.
- Member Nektar::SolverUtils::DiffusionLFR::DiffusionLFR (std::string diffType)
- Extension to triangles, tetrahedra and other shapes. (Long term objective)
- Member Nektar::SolverUtils::DiffusionLFR::DivCFlux_2D (const int nConvectiveFields, const Array< OneD, MultiRegions::ExpListSharedPtr > &fields, const Array< OneD, const NekDouble > &fluxX1, const Array< OneD, const NekDouble > &fluxX2, const Array< OneD, const NekDouble > &numericalFlux, Array< OneD, NekDouble > &divCFlux)
- : Switch on shapes eventually here.
- Member Nektar::SolverUtils::DiffusionLFR::DivCFlux_2D_Gauss (const int nConvectiveFields, const Array< OneD, MultiRegions::ExpListSharedPtr > &fields, const Array< OneD, const NekDouble > &fluxX1, const Array< OneD, const NekDouble > &fluxX2, const Array< OneD, const NekDouble > &numericalFlux, Array< OneD, NekDouble > &divCFlux)
- : Switch on shapes eventually here.
- Member Nektar::SolverUtils::DiffusionLFR::SetupMetrics (LibUtilities::SessionReaderSharedPtr pSession, Array< OneD, MultiRegions::ExpListSharedPtr > pFields)
- Add the metric terms for 3D Hexahedra.
- Member Nektar::SolverUtils::DiffusionLFRNS::DerCFlux_2D (const int nConvectiveFields, const int direction, const Array< OneD, MultiRegions::ExpListSharedPtr > &fields, const Array< OneD, const NekDouble > &flux, const Array< OneD, NekDouble > &iFlux, Array< OneD, NekDouble > &derCFlux)
- : Switch on shapes eventually here.
- Member Nektar::SolverUtils::DiffusionLFRNS::DiffusionLFRNS (std::string diffType)
- Extension to triangles, tetrahedra and other shapes. (Long term objective)
- Member Nektar::SolverUtils::DiffusionLFRNS::DivCFlux_2D (const int nConvectiveFields, const Array< OneD, MultiRegions::ExpListSharedPtr > &fields, const Array< OneD, const NekDouble > &fluxX1, const Array< OneD, const NekDouble > &fluxX2, const Array< OneD, const NekDouble > &numericalFlux, Array< OneD, NekDouble > &divCFlux)
- : Switch on shapes eventually here.
- Member Nektar::SolverUtils::DiffusionLFRNS::DivCFlux_2D_Gauss (const int nConvectiveFields, const Array< OneD, MultiRegions::ExpListSharedPtr > &fields, const Array< OneD, const NekDouble > &fluxX1, const Array< OneD, const NekDouble > &fluxX2, const Array< OneD, const NekDouble > &numericalFlux, Array< OneD, NekDouble > &divCFlux)
- : Switch on shapes eventually here.
- Member Nektar::SolverUtils::DiffusionLFRNS::SetupMetrics (LibUtilities::SessionReaderSharedPtr pSession, Array< OneD, MultiRegions::ExpListSharedPtr > pFields)
- Add the metric terms for 3D Hexahedra.
- Member Nektar::SolverUtils::Driver::v_InitObject (std::ostream &out=std::cout)
- At the moment this is Navier-Stokes specific - generalise?
- Member Nektar::SpatialDomains::Geometry::GetVertexEdgeMap (int i, int j) const
- Expand to work with pyramid elements.
- Member Nektar::SpatialDomains::Geometry::GetVertexFaceMap (int i, int j) const
- Expand to work with pyramid elements.
- Member Nektar::SpatialDomains::Geometry::ValidateRegGeomFactor (GeomFactorsSharedPtr geomFactor)
should this '#if 0' statement be removed?
Currently this method is disabled since the lookup is very expensive.
- Member Nektar::SpatialDomains::MeshGraph::ReadExpansionInfo ()
- solvers break the pattern 'instantiate Session -> instantiate MeshGraph' and parse command line arguments by themselves; one needs to unify command line arguments handling. Solvers tend to call MeshGraph::Read statically -> m_session is not defined -> no info about command line arguments presented ASSERTL0(m_session != 0, "One needs to instantiate
SessionReader first");
- Member Nektar::StdRegions::MatrixType
- we need to tidy up matrix construction approach probably using a factory type approach
- Member Nektar::StdRegions::StdHexExp::v_BwdTrans_SumFacKernel (const Array< OneD, const NekDouble > &base0, const Array< OneD, const NekDouble > &base1, const Array< OneD, const NekDouble > &base2, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, Array< OneD, NekDouble > &wsp, bool doCheckCollDir0, bool doCheckCollDir1, bool doCheckCollDir2) override
- Account for some directions being collocated. See StdQuadExp as an example.
- Member Nektar::StdRegions::StdHexExp::v_IProductWRTBase_SumFacKernel (const Array< OneD, const NekDouble > &base0, const Array< OneD, const NekDouble > &base1, const Array< OneD, const NekDouble > &base2, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, Array< OneD, NekDouble > &wsp, bool doCheckCollDir0, bool doCheckCollDir1, bool doCheckCollDir2) override
- Implement cases where only some directions are collocated.
- Member Nektar::StdRegions::StdTetExp::v_BwdTrans_SumFacKernel (const Array< OneD, const NekDouble > &base0, const Array< OneD, const NekDouble > &base1, const Array< OneD, const NekDouble > &base2, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, Array< OneD, NekDouble > &wsp, bool doCheckCollDir0, bool doCheckCollDir1, bool doCheckCollDir2) override
- Account for some directions being collocated. See StdQuadExp as an example.
- Member Nektar::StorageSmvBsr< T >::StorageSmvBsr (const IndexType blkRows, const IndexType blkCols, const IndexType blkDim, const BCOMatType &bcoMat, const MatrixStorage matType=eFULL)
- : - iterators over strictly lower-triangular part
- number off-diagonal elements calculation
- clear distinction between stored and factual nonzeros (row density)