wrote:
> On 4/15/23 22:31, Tao Jin wrote:
> >
> > During a time interval, I want to use the first split operator
> > *A B * u1 = b1 *to solve*u1 *and*u2.*
> > *B Cu2b2*
> > Then, plug the solved u1 and u2 into the second split operator
> >
22:11 PM UTC-4 Wolfgang Bangerth wrote:
> On 4/20/23 17:27, Tao Jin wrote:
> >
> > My question is, is there a way to involve two different dof_handlers
> when
> > using the WorkStream class, something like the following:
>
> What you are looking for is
Dear all,
This is a similar question related to a post two years ago:
https://groups.google.com/g/dealii/c/1L6gLFtvTCo/m/frIyTDXbBwAJ
I am developing a fractional time stepping algorithm based on an operator
split. Basically, I can obtain the following monolithc system after the
finite element
ribute
* it, and/or modify it under the terms of the GNU Lesser General
* Public License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
* The full text of the license can be found in the file LICENSE.md at
* the top level dire
,
> all of the eigenvalues also scale and consequently the tolerance should
> also
> scale.
>
> Best
> W.
>
> On 6/14/23 09:47, Tao Jin wrote:
> > *** Caution: EXTERNAL Sender ***
> >
> > Dear all,
> >
> > I received the message
unsigned int,
const unsigned int) const; }*
This probably explains why the function works properly in 9.5.0 but does
not work in 9.4.0 for dimensions larger than 3.
Anyhow, I think 9.5.0 has fixed this issue already.
Best,
Tao
On Thursday, June 8, 2023
Dear all,
When I am implementing a spectrum decomposition for an arbitrary symmetric
matrix, I need to copy a full matrix into a rank-2 tensor. I know that
FullMatrix has a copy_to() member function like below
*templatetemplatevoid FullMatrix< number
>::copy_to ( Tensor< 2, dim > &
nt) const; }*
I assume this is related with explicit instantiation?
Best,
Tao
On Wednesday, June 7, 2023 at 10:38:35 AM UTC-4 Wolfgang Bangerth wrote:
> On 6/6/23 15:46, Tao Jin wrote:
> >
> > However, the above copy_to() function only works when the tensor
> dimension is
Dear all,
I am trying to use the SolutionTransfer capability of dealii to interpolate
a solution from an old mesh to a new mesh. The solution is stored in a
BlockVector. My understanding is that current solution transfer functions
can only interpolate Vector, not BlockVector. Am I right?
uot;""
However, *refine_interpolate() cannot take *std::vector. Only
*interpolate*() has an interface for std::vector.
Best,
Tao
On Tuesday, January 23, 2024 at 4:23:15 PM UTC-5 Wolfgang Bangerth wrote:
> On 1/23/24 13:03, Tao Jin wrote:
> >
> > I am tryi
at 11:25:10 PM UTC-4 Wolfgang Bangerth wrote:
> On 4/19/24 19:42, Tao Jin wrote:
> >
> > Thank you so much for your reply. I think my problem has two potential
> issues:
> > 1. W * M * W^T will be an n by n fully dense matrix with n > 100k. Even
> if it
>
Dear Wolfgang,
Thanks for the advice!
Best,
Tao
On Friday, April 19, 2024 at 11:58:33 PM UTC-4 Wolfgang Bangerth wrote:
> On 4/19/24 21:54, Tao Jin wrote:
> >
> > Now that my LinearOperator is defined as B_0 + W * M * W^T, I only need
> to
> > find an appropriate i
rth wrote:
> On 4/18/24 12:06, Tao Jin wrote:
> >
> > I am developing a quasi Newton solver in deal.ii. During each iteration,
> I
> > need to solve a linear system B * x = p, where the matrix B has the
> following
> > form:
> > B = B_0 + W * M * W^T.
>
Dear all,
I am developing a quasi Newton solver in deal.ii. During each iteration, I
need to solve a linear system B * x = p, where the matrix B has the
following form:
B = B_0 + W * M * W^T.
B_0 is an n by n sparse matrix (n is large > 100k);
M is a m by m *full matrix* (m is small m = 20 for
>
100k);
M is a m by m *full matrix* (m is small m = 20 for example);
W is a n by m full matrix;
Thanks again for your advice.
Best,
Tao
On Saturday, April 20, 2024 at 12:27:02 AM UTC-4 Tao Jin wrote:
> Dear Wolfgang,
>
> Thanks for the advice!
> Best,
>
> Tao
>
> On F
Dear all,
*Background*: I have a BlockVector *u* that needs to be updated via
a series of rank-2 update to get BlockVector *v*. For notation
convenience, let's call this series of rank-2 update as *P*. I can define *P
*as either a LinearOperator or BlockLinearOperator, since I need to solve a
.reinit_domain_vector = [& usr_matrix_1, &
usr_matrix_2](BlockVector , bool omit_zeroing_entries) {
v.reinit(2);
(v.block(0)).reinit(usr_matrix_1.n(), omit_zeroing_entries);
(v.block(1)).reinit(usr_matrix_2.n(), omit_zeroing_entries);
};
Best,
Tao
On Saturday, April 27, 2024
17 matches
Mail list logo