If when properly pre scaled and then discretized there is a scaling 
difference in terms that actually matter of 10^12 then "I" would simply not 
believe results of any computation done in double precision. With the gnu 
compilers you can build a PETSc version that computes in quad precision, which 
gives more than 30 decimal digits to compute with, using the ./configure option 
--with-precision=__float128.    You have to declare all variables as 
PetscScalar or PetscReal (not double) and be careful how you print them (for 
example cast to double) but otherwise it is pretty much just like double 
precision. 

   The problems will still be difficult to solve in quad precision in terms of 
iterative methods because of the ill-conditioning but at least when you get 
answers they may have some meaning and convergence will actually tell you 
something.

  Good luck,

   Barry



On Sep 12, 2013, at 3:42 PM, Umut Tabak <[email protected]> wrote:

> On 09/12/2013 08:48 PM, Barry Smith wrote:
>> 
>> http://en.wikipedia.org/wiki/Nondimensionalization
> Hi Barry,
> 
> For the kind of problems, I am working on, this is a general problem and 
> unfortunately, it is not in general possible to get away from this property 
> with the scaling on the initial differential equations.
> 
> Moreover, the problem is two sided, a structure coupled to a fluid domain, 
> where the physics is already inducing different scaling and math is obeying 
> that ;-)
> 
> This was a problem I discussed here extensively last week. Solving directly 
> is not a problem, the challenge is, if possible, to use Schur complements and 
> iterative solution techniques, where the source of the problem emerged from.
> 
> Thanks for the comments anyway.
> 
> BR,
> Umut
>> 
>>    Barry
>> 
>> On Sep 12, 2013, at 12:04 PM, Umut Tabak <[email protected]> wrote:
>> 
>>> Dear all,
>>> 
>>> I am looking for some references for matrix scaling where I would like to 
>>> improve the conditioning of a block representation such as
>>> 
>>> A C
>>> C^T B
>>> 
>>> where the terms in A and B blocks are of very different orders, such as A 
>>> is of 1e+8 and B for instance is of order 1e-4 . The ratios can get even 
>>> worse but not better on the problems I tried.
>>> 
>>> I am trying have an overview for some cheap conditioning approaches for 
>>> this problem.
>>> 
>>> Any ideas/references are appreciated.
>>> 
>>> BR,
>>> Umut
> 

Reply via email to