petsc

    1

    1답변

    PETSC에 문제가 있습니다. matlab에 코드를 작성했으며 PETSC 라이브러리를 사용하여이 코드를 C++로 변환하려고합니다. 나는 다중 흐름에 대한 유체 역학 시뮬레이션을 쓰고 난 쉬운 방법이 MATLAB 작업에 해당하는 작업을 수행하려고 : ut(i,j)=u(i,j)+(u(i+1,j)+u(i,j))^2-(u(i,j)+u(i-1,j))*(v(i, j)

    0

    1답변

    저는 프로젝트의 솔버로 petsc를 사용하고 있습니다. 그러나 병렬 모드의 솔버는 내 기대보다 더 많은 프로세스를 만듭니다. 코드는 python 및 petsc4py를 사용합니다. 기계에는 4 개의 코어가 있습니다. (a). 필자가 직접 실행하면 petsc는 행렬을 어셈블하는 데 1 개의 프로세스 만 사용하고 방정식을 풀기 위해 4 개의 프로세스를 생성합니다

    5

    2답변

    3.3에서는 GPU에서 PETC SNES 만 사용하여 FEM을 해결 한 예가 grate news입니다. 나는 PETSc를 처음 사용하는데 문제가 있습니다. 3D 공간에서 구를 만들어서 힘을 가할 필요가 있습니다. 그래서 3D FEM이 필요합니다 (GPU에서는 가능한 경우 MPI가 필요하지 않습니다). 나는 그들이 제공 see the simple exampl

    1

    1답변

    저는 petsc4py를 사용하고 있으며 몇 가지 문제가 있습니다. 나는 작은 petsc 밀도 행렬의 mij의 번호를 가지고 있고,이 같은 큰 행렬 M로 구성 할 : [ m11 m12 m13 ] M = | m21 m22 m23 | , [ m31 m32 m33 ] 가 mcve 코드는 아래에 표시되어, 나는 PETSc의 파이썬 랩을 사용하고 있습

    0

    1답변

    공유 메모리 메소드를 사용하여 병렬로 실행할 수있는 C++ 코드가 있습니다. 코드를 PETSc에 연결하면 PETSc는 병렬로 코드를 실행할 수 있지만 분산 메모리 메소드로 실행할 수 있습니다. 병렬로 코드 (C++ + PETSc)를 실행하면 모든 프로세서가 동일한 작업을 반복하는 것으로 보입니다. 예를 들어, 프로세서 수가 4라면 경계 조건과 초기 조건을

    1

    1답변

    나는 꽤 초보자가 질문을하지만, 나는 정말로 잃어버린다. PETSc로 시작했지만 코드 컴파일에 문제가 있습니다. 내 자신의 Makefile을 사용하려고하지만 컴파일러는 "정의되지 않은 참조"오류를 계속 울립니다. 몇 시간 동안 나 혼자서 알아 내려고 노력했지만, 실수를 보지 못했습니다. 따라서 실수를 인식하면 도움을 크게 받으실 수 있습니다. 이 전체 오류

    0

    1답변

    저는 PETM 라이브러리를 사용하여 자체 프로그램에서 선형 방정식 시스템 전체에 걸쳐 분산 된 대형 문제를 해결하고 싶습니다. 또한이 목적을 위해 사용 가능한 GPU 리소스를 활용하고 싶습니다. 3D 계산 영역의 이산 표현을 위해 구조화 된 메쉬를 사용하고 있으므로 PETSc 분산 배열을 사용하여 프로세스 간 추가 데이터 전송을 피하는 것이 바람직합니다.

    2

    1답변

    최근에 PETSc를 배우기 시작하면서 간단한 작업을 수행하는 동안 문제가 발생했습니다. 이 코드의 문제점 : static char help[] = "Test 2d DMDAs Vecs.\n\n"; #include <petscdm.h> #include <petscdmda.h> #include <petscsys.h> PetscReal process_val

    0

    1답변

    컴파일되지 않았다, 그래서 (petscexe.F)와 같은 매우 간단하고 널 뭔가 썼다 : PROGRAM petscexe INCLUDE 'petscsys.h' END PROGRAM petscexe 가 있는지를 헤더 파일을 올바르게 가져올 수 있습니다. 내가 gfortran으로 파일을 컴파일 : gfortran petscexe.F -I/

    1

    1답변

    매트릭스 X 벡터 X 스칼라 내가 할 수있는 알고, 같은 뭔가를하고 싶어 : 경우 Mat A Vec x,y MatMult(A,x,y) VecScale(y,0.5) 난 그냥 궁금가 이 모든 것을 한 번에 수행 할 수있는 기능입니다. 루프를 저장하는 것처럼 보입니다. MatMultScale(A,x,0.5,y) 이러한 기능이 있습니까?