//get control points
</pre><pre name="code" class="cpp">template <class T, int ParDim, int codim>
void gsGenericGeometryEvaluator<T,ParDim,codim>::computeValues()
{
const gsMatrix<T> & coefs = m_geo.coefs();
m_values.resize(coefs.cols(), m_numPts);
for (index_t j=0; j < m_numPts; ++j) // for all evaluation points
{
m_values.col(j) =
coefs.row( m_active(0,j) ) * m_basisVals(0,j);
for ( index_t i=1; i< m_active.rows() ; i++ )
// for all non-zero basis functions
m_values.col(j)
+=
coefs.row( m_active(i,j) ) * m_basisVals(i,j);
}
}
gsGeometryEvaluator<T> geoEval;
在visitor的assemble()函数中,geoEval.values()返回当前单元高斯积分点对应的坐标值,例如3×3高斯积分,二维几何场,返回一个2×9矩阵,第一行为x坐标,第二行为y坐标;
geoEval.evaluateAt (gsMatrix<T> quNodes) ; 平面问题下,9个高斯点,quNodes为2×9矩阵
设置quNodes为参数点;
最后
以上就是漂亮心锁最近收集整理的关于[G+smo]gsGeometryEvaluator的全部内容,更多相关[G+smo]gsGeometryEvaluator内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复