我是靠谱客的博主 漂亮心锁,这篇文章主要介绍[G+smo]gsGeometryEvaluator,现在分享给大家,希望可以做个参考。

//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内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(66)

评论列表共有 0 条评论

立即
投稿
返回
顶部