[petsc-dev] PETSC application
David sheehan
david.sheehanjr at gmail.com
Sun Mar 7 12:20:49 CST 2010
>I mean Ax =b doesn't have A in explicit form, but in expression
A=B+C1+C2+...+Cn,
>where B is main part of A in an explicit form, C1, C2,... and Cn are small
portions
>comparing with B and they don't have an explicit form. Thus I want to
make a
>preconditioner from B, then apply the preconditioner to Ax=b. Please tell
me how I
>can do by PETSC sentences for PETSC solver, thanks.
> call KSPSetOperators(ksp,A,B,......)
However, A doesn't have an explicit matrix form, how to call
call KSPSetOperators(ksp,A,B,......)
? thanks.
Based on what I thought, once I got preconditioner of B, I am wondering if I
can
define a special matrix-vector multiplication for A=B+C1+C2+...+Cn from a
PETSC
sentence, such that it can do following
1) x1=B*x
2) x2=x1+ C1*x, where C1*x is a sequence of matrix-vector multiplications
3) x3= x2+C2*x,......
.....
4) xn+1=xn+Cn*x,where Cn*x is a squence of matrix-vector multiplications
Then select a KSP iterative method such as GMRES to use the above
matrix-vector
multiplication and preconditioner that I made from B.
Could you please tell me if it is possible? if so (I hope), how can I do it
? thanks.
David
On Sun, Mar 7, 2010 at 11:12 AM, Barry Smith <bsmith at mcs.anl.gov> wrote:
>
> On Mar 7, 2010, at 10:57 AM, David sheehan wrote:
>
> >First, configure with Hypre .
> You mean, configure for the installation of PETSC with hypre? thanks.
>
> yes, add --download-hypre
>
>
> >Then -pc_type hypre -pc_hypre_type boomeramg
> You mean, without adding any information into code include, just compile
> and link
> the code, to get an excuteable file, e.g. "a.out", then
> a.out -pc_type hypre -pc_hypre_type boomeramg
> is it right? thanks.
>
>
> Yes,
>
>
> >I cannot understand exactly what you mean. However, if you want to create
> a PC
> > based upon a >matrix which is not the system matrix A, you can specify it
> in
> > KSPSetOperators().
>
> I mean Ax =b doesn't have A in explicit form, but in expression
> A=B+C1+C2+...+Cn,
> where B is main part of A in an explicity form, C1, C2,... and Cn are small
> portions
> comparing with B and they don't have an explicit form. Thus I want to
> make a
> preconditioner from B, then apply the preconditioner to Ax=b. Please tell
> me how I
> can do by PETSC sentences for PETSC solver, thanks.
>
>
> call KSPSetOperators(ksp,A,B,......)
>
> Barry
>
>
>
>
> David
>
>
> On Sun, Mar 7, 2010 at 12:32 AM, Matthew Knepley <knepley at gmail.com>wrote:
>
>> On Sat, Mar 6, 2010 at 11:49 PM, David sheehan <david.sheehanjr at gmail.com
>> > wrote:
>>
>>> Hi,
>>> I need your helps about PETSC as follows:
>>> 1) how can I call boomerAMG of HYPRE through PETSC as a solver and a
>>> preconditioner?
>>>
>>
>> First, configure with Hypre . Then -pc_type hypre -pc_hypre_type boomeramg
>>
>>
>>> 2) how can I make a precondioner from B matrix, but apply the
>>> preconditioner to Ax=b in PETSC?
>>> Thanks in advance.
>>>
>>
>> I cannot understand exactly what you mean. However, if you want to create
>> a PC based upon a matrix
>> which is not the system matrix A, you can specify it in KSPSetOperators().
>>
>> Matt
>>
>>
>>> David
>>>
>> --
>> What most experimenters take for granted before they begin their
>> experiments is infinitely more interesting than any results to which their
>> experiments lead.
>> -- Norbert Wiener
>>
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20100307/5d2b900a/attachment.html>
More information about the petsc-dev
mailing list