本文整理汇总了C++中Wavefunction::GetActiveBufferName方法的典型用法代码示例。如果您正苦于以下问题:C++ Wavefunction::GetActiveBufferName方法的具体用法?C++ Wavefunction::GetActiveBufferName怎么用?C++ Wavefunction::GetActiveBufferName使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Wavefunction
的用法示例。
在下文中一共展示了Wavefunction::GetActiveBufferName方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1:
void BSplineTransform<Rank>::SetupStep(Wavefunction<Rank> &psi, BSpline::Ptr bsplineObject, int baseRank)
{
using namespace blitz;
SetBaseRank(baseRank);
BSplineObject = bsplineObject;
/*
* Get shape of wavefunction (we are in the bspline repr).
* Then allocate bspline grid representation buffer of wavefunction
* and store buffer names on object.
*/
TinyVector<int, Rank> gridShape = psi.GetData().shape();
gridShape(baseRank) = BSplineObject->GetQuadratureGridGlobal().extent(0);
BSplineGridDataName = psi.AllocateData(gridShape);
BSplineDataName = psi.GetActiveBufferName();
//TempData.resize(BSplineObject->GetQuadratureGridGlobal().extent(0));
TempData.resize(BSplineObject->NumberOfBSplines);
}
示例2: runtime_error
void BSplineTransform<Rank>::InverseTransform(Wavefunction<Rank> &psi)
{
using namespace blitz;
if(psi.GetActiveBufferName() != BSplineDataName)
{
throw std::runtime_error("Active databuffer is not what is should be...");
}
//Project input and output into 3D arrays with bsplineRank in the middle.
Array<cplx, Rank> inputData(psi.GetData());
Array<cplx, Rank> outputData(psi.GetData(BSplineGridDataName));
Array<cplx, 3> input3d = MapToRank3(inputData, BaseRank, 1);
Array<cplx, 3> output3d = MapToRank3(outputData, BaseRank, 1);
int psiSliceExtent = input3d.extent(1);
Array<cplx, 1> psiSlice(psiSliceExtent);
output3d = 0;
int preCount = input3d.extent(0);
int postCount = input3d.extent(2);
for (int i=0; i<preCount; i++)
{
for (int j=0; j<postCount; j++)
{
/*
* Copy wavefunction slice along bspline rank to temp
* array.
*/
psiSlice = input3d(i, Range::all(), j).copy();
// Call on BSpline function to perform expansion
output3d(i, Range::all() , j) =
BSplineObject->ConstructFunctionFromBSplineExpansion(psiSlice);
}
}
psi.SetActiveBuffer(BSplineGridDataName);
}