2017-10-06 132 views
1

我在C++中编码,我使用的是FEniCS fenics/2016.1.0。我的代码的一部分是在特征::矩阵中转换一个dolfin ::矩阵

Matrix A; 
Vector f; 
std::vector<std::shared_ptr<const DirichletBC>> dirichlet_matrici({dirichlet}); 
assemble_system(A,f,a,L,dirichlet_matrici); 
solve(A, *(u.vector()), f); 

我想这样解决本征的系统,所以我需要在道芬::矩阵A和征对象的道芬::向量F转换。可能吗? 感谢您的帮助

+1

重复(无答案,无论):https://stackoverflow.com/questions/33565670/transform-dolfinmatrix-into-eigenmatrix – chtz

回答

0

我不确定是否有可能做直接转换。但是,可以创建一个新的特征矩阵,然后将每个单独的值从第一个矩阵输入到第二个矩阵中。

+0

你知道如何从Dolfin :: Matrix中将每个单独的值输入到Eigen中: :矩阵。因为我不明白如何从Dolfin :: Matrix返回特定值。我知道只是存在这个函数:无效获取(双* block,std :: size_t m,const dolfin :: la_index *行,std :: size_t n,const dolfin :: la_index * cols)const但我不知道la_index是什么以及它是如何工作的 – GregL

+1

我会查看文档:https://fenicsproject.org/olddocs/dolfin/2016.1.0/cpp/programmers-reference/adaptivity/index.html –

+0

该文档没有说适用于所有方法和类的构造。例如,在描述之前所说的函数是:获取值块。对于la_index,描述为:与线性代数后端兼容的索引类型 – GregL