
PETSc + FORTRAN
文章平均质量分 80
zhuliting
喜欢简单,安静……
展开
-
PETSc函数手册 and FAQ
PETSc是一种可移植可扩展科学计算工具箱,它为大规模应用代码在并行(和串行)计算机上实现提供构造模块。PETSc对所有消息传递通讯均使用MPI标准。 实在不想说什么,官方的用户手册让我很无语很纠结,下面的链接确实挺好http://www.caspur.it/risorse/softappl/doc/petsc_docs/manualpages/singleindex.html 个人觉得,学习PTESc库最好的方法,就是阅读库中的例子程序,遇到不懂的函数,就翻看函数手册。原创 2011-04-13 10:45:00 · 3490 阅读 · 1 评论 -
FORTRAN 数组的下标问题
<br /> <br /> 在FORTRAN中,每个维说明符由冒号分开的维下界和维上界两部分组成,一般形式为d1:d2;维的上、下界确定数组元素下标的取值范围。当下界d1为1时可以省略,此时冒号也可以省略,如s(1:2,1:2)与s(2,2)是相同的说明符。另外,维的上下界可以自由指定,如arr(-3, 5)。<br /> program main integer i integer b(-3:10) do i = -3, 10原创 2011-05-08 10:41:00 · 8653 阅读 · 0 评论 -
MPI + FORTRAN 发送接收数组操作
在FORTRAN 中,以二维数组为例,arr(i, j)既可以表示第i行j列的元素值,也可以表示其地址,这样,我们就可以发送接收连续的序列。下面的代码,是将0号进程中数组的第一列发送到1号进程中数组的第二列,并且输出数组的值。采用标准的阻塞式通信。发送接收前的大部分输出操作,只是为了验证数组的存取细节,并无必要。。 program main include "mpif.h" integer, parameter:: n = 3 integer myid, numprocs, i, j,原创 2011-05-05 10:12:00 · 5984 阅读 · 0 评论 -
PETSc 使用VecGetArray() 访问并行向量出错memory access out of range
program main implicit none#include "finclude/petscsys.h"#include "finclude/petscvec.h"#include "finclude/petscmat.h"#include "finclude/petscksp.h"#include "finclude/petscpc.h" Vec b PetscErrorCode ierr PetscInt rank,start原创 2011-04-19 18:50:00 · 3133 阅读 · 0 评论 -
PETSC ERROR: Segmentation Violation, probably memory access out of range
[0]PETSC ERROR: ------------------------------------------------------------------------[0]PETSC ERROR: Caught signal number 11 SEGV: Segmentation Violation, probably memory access out of range[0]PETSC ERROR: Try option -start_in_debugger or -on_error_原创 2011-04-18 22:37:00 · 4698 阅读 · 2 评论 -
PETSc----Solves a tridiagonal linear system with KSP
!! Description: Solves a tridiagonal linear system with KSP.!!/*T! Concepts: KSP^solving a system of linear equations! Processors: 1!T*/! ----------------------------------------------------------------------- program main原创 2011-04-14 22:05:00 · 2246 阅读 · 1 评论 -
FORTRAN do语句中 出现 Error: Unclassifiable statement
do 30, i = 0, n-1 call VecSetValues(x,1,i,one,ADD_VALUES,ierr) 30 continue FROTRAN 中do语句,标号没有缩进,否则会出现如下错误: In file petsc.F:35 100 continue 1Error: Unclassifiable statement at (1)原创 2011-04-15 20:06:00 · 15885 阅读 · 0 评论 -
PETSc 库解线性方程组Ax = b
program main implicit none #include "finclude/petscsys.h"#include "finclude/petscvec.h"#include "finclude/petscmat.h"#include "finclude/petscksp.h"#include "finclude/petscpc.h" Vec x, b, u Mat A KSP ksp PC pc PetscReal no原创 2011-04-16 20:13:00 · 3933 阅读 · 6 评论 -
Fortran 程序编译时错误 Error: Non-numeric character in statement label at (1)
mpif90 -c -Wall -Wno-unused-variable -g -I/opt/petsc-3.1-p7/include -I/opt/petsc-3.1-p7/include -I/usr/local/include -I/opt/petsc-3.1-p7/include -I/usr/local/include -o Demo1.o Demo1.F In file Demo1.F:13 subroutine Demo1()原创 2011-04-14 14:08:00 · 9612 阅读 · 4 评论 -
编译PETSc + Fortran程序
写一个makefile文件,如下include ${PETSC_DIR}/conf/variablesinclude ${PETSC_DIR}/conf/rulesall: FillUpMatrix.o Demo1.o Demo2.o ex36f.o ${FLINKER} -o ex36 FillUpMatrix.o Demo1.o Demo2.o ex36f.o ${PETSC_LIB} ${PETSC_MAT_LIB} ${PETSC_FORTRAN_LAB}原创 2011-04-14 14:29:00 · 3293 阅读 · 4 评论 -
MatSetValues()函数
MatSetValues(A,i,m,j,n,value,INSERT_VALUES,ierr)函数的作用是在大矩阵的(m,n)处插入一个i*j大小的矩阵。A- the matrixvalue- a logically two-dimensional array of valuesi,m- the number of rows and their global indicesj,原创 2011-04-14 21:39:00 · 1746 阅读 · 4 评论