当前位置: 首页>>代码示例>>C++>>正文


C++ DofManager::giveLocationArray方法代码示例

本文整理汇总了C++中DofManager::giveLocationArray方法的典型用法代码示例。如果您正苦于以下问题:C++ DofManager::giveLocationArray方法的具体用法?C++ DofManager::giveLocationArray怎么用?C++ DofManager::giveLocationArray使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在DofManager的用法示例。


在下文中一共展示了DofManager::giveLocationArray方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: KeDispLock

void PrescribedGradientBCWeak :: assemble(SparseMtrx &answer, TimeStep *tStep,
                                          CharType type, const UnknownNumberingScheme &r_s, const UnknownNumberingScheme &c_s)
{
	std::vector<FloatArray> gpCoordArray;

    if ( type == TangentStiffnessMatrix || type == SecantStiffnessMatrix || type == ElasticStiffnessMatrix ) {

    	for( TracSegArray* el : mpTracElNew ) {

            for ( GaussPoint *gp: *(el->mIntRule.get()) ) {

            	gpCoordArray.push_back( gp->giveGlobalCoordinates() );
            	assembleGPContrib(answer, tStep, type, r_s, c_s, *el, *gp);
            }
    	}

        if ( mpDisplacementLock != NULL ) {
            int nsd = domain->giveNumberOfSpatialDimensions();
            FloatMatrix KeDispLock(nsd, nsd);
            KeDispLock.beUnitMatrix();
            KeDispLock.times(mDispLockScaling);

            int placeInArray = domain->giveDofManPlaceInArray(mLockNodeInd);
            DofManager *node = domain->giveDofManager(placeInArray);

            IntArray lockRows, lockCols, nodeRows, nodeCols;
            mpDisplacementLock->giveLocationArray(giveDispLockDofIDs(), lockRows, r_s);
            node->giveLocationArray(giveRegularDispDofIDs(), nodeRows, r_s);

            mpDisplacementLock->giveLocationArray(giveDispLockDofIDs(), lockCols, c_s);
            node->giveLocationArray(giveRegularDispDofIDs(), nodeCols, c_s);

            answer.assemble(lockRows, nodeCols, KeDispLock);
            answer.assemble(nodeRows, lockCols, KeDispLock);

            FloatMatrix KZero( lockRows.giveSize(), lockCols.giveSize() );
            KZero.zero();
            answer.assemble(lockRows, lockCols, KZero);
        }

    } else {
        printf("Skipping assembly in PrescribedGradientBCWeak::assemble().\n");
    }

//    std :: string fileName("TracGpCoord.vtk");
//    XFEMDebugTools :: WritePointsToVTK(fileName, gpCoordArray);
}
开发者ID:jvleta,项目名称:oofem,代码行数:47,代码来源:prescribedgradientbcweak.C


注:本文中的DofManager::giveLocationArray方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。