[G+smo]gsGeometryEvaluator

来源:互联网 发布:淘宝怎么抢现货 编辑:程序博客网 时间:2024/05/29 19:44

//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为参数点;

0 0