Maxi,
No, that code is the vmult-call I am using in my LinearOperator (and is
> used directly in my solve()-call). The calculate_residual()-function is
> similar to the function in step-15, with the difference, that I do not
> provide alpha, but the vector, and return the calculated residual
Pandey,
>
> [...]
>
> An error occurred in line <88> of file
> in
> function
> void dealii::PETScWrappers::SolverBase::solve(const
> dealii::PETScWrappers::MatrixBase&, dealii::PETScWrappers::VectorBase&,
> const
I took a look at your (incomplete) step-58, which (as far as I could
understand) solves the equation, but without propagating it in space, just
in time. I would like to propagate the result in time and accordingly in
space, i.e. if the pulse propagates through a fiber, I would like to see
the
No, that code is the vmult-call I am using in my LinearOperator (and is
used directly in my solve()-call). The calculate_residual()-function is
similar to the function in step-15, with the difference, that I do not
provide alpha, but the vector, and return the calculated residual value.
Thus,
On 7/22/19 1:32 AM, 'Maxi Miller' via deal.II User Group wrote:
> More or less, yes, together with how I could get the "column" vector I would
> like to apply the matrix to. It is not a problem to do that in a
> FTDT-setting,
> but I do not know how to do that in a FEM-setting.
When you say
On 7/22/19 5:23 AM, 'Maxi Miller' via deal.II User Group wrote:
> Furthermore, based on my understanding, I have to loop over all cells in
> order
> to assemble the multigrid-matrices, but can only aquire the gradients on the
> current cell if it is active. Wouldn't that crash (looping and
> My aim is to implement the jacobian approximation, i.e. (if F(u) = 0 is
> the function to solve) I wanted to implement
> dst = (F(current_solution + epsilon * src) - F(current_solution))/epsilon.
> In my LinearOperator, my code is
> LinearOperator jacobian_operator;
> jacobian_operator.vmult =
My aim is to implement the jacobian approximation, i.e. (if F(u) = 0 is the
function to solve) I wanted to implement
dst = (F(current_solution + epsilon * src) - F(current_solution))/epsilon.
In my LinearOperator, my code is
LinearOperator jacobian_operator;
jacobian_operator.vmult =
Hi,
I am having issues with using PETSC iterative solvers. I follow the steps
in Step40 exactly, and I get: PETSc preconditioner should have an
associated matrix set to be used in solver.
I do set the preconditioner correctly, exactly as shown in Step40. I am
able to reproduce this error by
>
>- When using the LinearOperator, the function vmult() is used when
>solving the system with a GMRES-solver (or similar). Does the same hold up
>for the MatrixFree-framework?
>
> Yes.
>
>- If the above is correct: In each GMRES-iteration I have to calculate
>the residual of
Felix,
> Is the rate of convergence as expected?
>>
>
> I believe so. I did a linear regression of the convergence graphs in
> logscale and got a value of :
> -7.6 for the speed : I believe it corresponds to the -8 from second order
> finete element in 2D
> -3.2 for the pressure : I beliebe it
In my project I already managed to replace the system_matrix in the
solve()-call by a custom LinearOperator, but still I had to retain the
matrix itself (for the preconditioner, for example). Thus I am now trying
to use the MatrixFree-framework for that.
Thus, some questions arose:
- When
> I have tried a simple testcase for my problem.
>> I don't know if it's suitable as a testcase but if I use X=0 in my
>> equations above, I know the solution.
>>
>> The solutions is u = v = 0, \phi = (1-x^2 -y^2) and the pressure is then
>> P = 8 \phi_lin^2 (1-x²-y²)
>> It fits with my
13 matches
Mail list logo