Ivar KJELBERG
COMSOL Multiphysics(r) fan, retired, former "Senior Expert" at CSEM SA (CH)
Please login with a confirmed email address before reporting spam
Posted:
1 decade ago
2011年1月18日 GMT-5 08:46
Hi
In my experience with v4.1 and time stepping, if you do not define well the initial conditions the t=0 step (and sometime the next step(s)) appear often with a large jump. To get rid of this, I now add a stationary sovler for t=0 conditions, store it and use that as starting point for the transient solver. Could this be also your case ?
The next is if you do a parametric sweep, there are two modes in COMSOL:
a) the full "Paramatric Sweep" via geometry + mesh (if changed) + initial conditions and finally solver, and
b) the "small" Extension - Continuation parametrical sweep that is internal to the solver sequence, hence restarts with previous solution conditions (and not initial conditions) but does not pass via the geometry update (I believe, to be checked again)
This is what I have understood so far, and believe is what I see ;)
But with COSMOL, I must admit, there are so many things involved, and interrelationships that sometimes it's not obvious to tell.
--
Good luck
Ivar
Hi
In my experience with v4.1 and time stepping, if you do not define well the initial conditions the t=0 step (and sometime the next step(s)) appear often with a large jump. To get rid of this, I now add a stationary sovler for t=0 conditions, store it and use that as starting point for the transient solver. Could this be also your case ?
The next is if you do a parametric sweep, there are two modes in COMSOL:
a) the full "Paramatric Sweep" via geometry + mesh (if changed) + initial conditions and finally solver, and
b) the "small" Extension - Continuation parametrical sweep that is internal to the solver sequence, hence restarts with previous solution conditions (and not initial conditions) but does not pass via the geometry update (I believe, to be checked again)
This is what I have understood so far, and believe is what I see ;)
But with COSMOL, I must admit, there are so many things involved, and interrelationships that sometimes it's not obvious to tell.
--
Good luck
Ivar
Please login with a confirmed email address before reporting spam
Posted:
1 decade ago
2011年1月18日 GMT-5 09:19
Hi Ivar,
thanks for your reply.
This might indeed work for me.
So, if I do a stationary solver for t=0 and use it as initial conditions for my transient run, will displacements, that happen at t=0 be "invisible" in the transient run (i.e. will the transient solver only show displacements relative to the initial situation?) I will try this. It would be great, if that works.
For your other suggestions:
Indeed I use a full parametric sweep, using a parametric curve, that changes the geometry in every time step.
How does this "small" extension, that you mention, work?
Thanks a lot and best regards,
Juergen
Hi Ivar,
thanks for your reply.
This might indeed work for me.
So, if I do a stationary solver for t=0 and use it as initial conditions for my transient run, will displacements, that happen at t=0 be "invisible" in the transient run (i.e. will the transient solver only show displacements relative to the initial situation?) I will try this. It would be great, if that works.
For your other suggestions:
Indeed I use a full parametric sweep, using a parametric curve, that changes the geometry in every time step.
How does this "small" extension, that you mention, work?
Thanks a lot and best regards,
Juergen
Ivar KJELBERG
COMSOL Multiphysics(r) fan, retired, former "Senior Expert" at CSEM SA (CH)
Please login with a confirmed email address before reporting spam
Posted:
1 decade ago
2011年1月18日 GMT-5 14:53
HI
the "small loop" is the gui tab "EXTENSION - continuation" (closed by default) of the main "Solver node - Stationary"
you select a predefine model "Parameter", and you give it a range.
With the main parametric sweep normally the solver setting restart from initial conditions = 0
You must not forget to STORE the solution. noramally is you set up 1) a Stationary and 2) a Transient solver sequence, in that order, and ask for a "default solver sequence", COMSOL will add the store command between the two sequences. Then ist a question to check the depednet variables of the transient sequence, to be sure it restarts from the stored solution and not from "0".
This works nicely from v4.1 for me
--
Good luck
Ivar
HI
the "small loop" is the gui tab "EXTENSION - continuation" (closed by default) of the main "Solver node - Stationary"
you select a predefine model "Parameter", and you give it a range.
With the main parametric sweep normally the solver setting restart from initial conditions = 0
You must not forget to STORE the solution. noramally is you set up 1) a Stationary and 2) a Transient solver sequence, in that order, and ask for a "default solver sequence", COMSOL will add the store command between the two sequences. Then ist a question to check the depednet variables of the transient sequence, to be sure it restarts from the stored solution and not from "0".
This works nicely from v4.1 for me
--
Good luck
Ivar
Please login with a confirmed email address before reporting spam
Posted:
1 decade ago
2011年1月19日 GMT-5 04:31
Hi Ivar,
I tried what you suggested.
But even when I use a stationary solver for the initial conditions and then use it in the transient solver, the artificial displacements of the first time still appear in the solution.
I would really like to know, where this 2-3 meters of displacement come from in the poroelastic model.
The model is just a simple block with 1000x1000x3000 meter dimensions, where z is the 3000 m and also the direction of the gravity vector. Gravity effects are switched on.
The upper model boundary (surface of the block) is free, whereas the sides of the block are constrained to "rollers" and the lower one is "fixed constraint".
All boundaries are set to no flow, the upper model boundary is set to a constant head of 3000m.
Initial value is hydraulic head = 3000 in the whole domain.
Material properties are: Youngs Modulus 30 GPa, Poissons ratio 0.25, rho = 2700 kg/m3, K=10e-18 m2, porosity = 0.01, alpha = 0.7, rho_fluid = 1000 kg/m3, dynamic viscosity = 0.798 Pa x s, compressibility of fluid = 4e-10 1/Pa.
Maybe someone can reproduce this.
I try to figure out, where the displacements come from and how to avoid them.
Or at least, how to reset them to zero for the transient run, in order to only get real displacements and not include those 2-3 meters, which are an artefact.
Should I find a solution to it, I will post it here in case someone is interested.
Thanks a lot and best wishes,
Juergen
Hi Ivar,
I tried what you suggested.
But even when I use a stationary solver for the initial conditions and then use it in the transient solver, the artificial displacements of the first time still appear in the solution.
I would really like to know, where this 2-3 meters of displacement come from in the poroelastic model.
The model is just a simple block with 1000x1000x3000 meter dimensions, where z is the 3000 m and also the direction of the gravity vector. Gravity effects are switched on.
The upper model boundary (surface of the block) is free, whereas the sides of the block are constrained to "rollers" and the lower one is "fixed constraint".
All boundaries are set to no flow, the upper model boundary is set to a constant head of 3000m.
Initial value is hydraulic head = 3000 in the whole domain.
Material properties are: Youngs Modulus 30 GPa, Poissons ratio 0.25, rho = 2700 kg/m3, K=10e-18 m2, porosity = 0.01, alpha = 0.7, rho_fluid = 1000 kg/m3, dynamic viscosity = 0.798 Pa x s, compressibility of fluid = 4e-10 1/Pa.
Maybe someone can reproduce this.
I try to figure out, where the displacements come from and how to avoid them.
Or at least, how to reset them to zero for the transient run, in order to only get real displacements and not include those 2-3 meters, which are an artefact.
Should I find a solution to it, I will post it here in case someone is interested.
Thanks a lot and best wishes,
Juergen
Please login with a confirmed email address before reporting spam
Posted:
1 decade ago
2011年1月19日 GMT-5 06:26
P.S.
Is there any way to use the "with" or "at" operator to access a certain solution, parameter AND time step (not only one of these)?
The comsol online help does not have so much detail on this operators.
If this was possible, I could simply substract solution X, parameter step 1 and time step 0 from any other solution, which I did in Matlab before (but never for a transient parametric run, just for a simple transient run without a parametric sweep).
It would be worthwile in future versions of Comsol to be able to store an initial solution, that can be substracted from all other time steps of a run.
Best regards,
Juergen
P.S.
Is there any way to use the "with" or "at" operator to access a certain solution, parameter AND time step (not only one of these)?
The comsol online help does not have so much detail on this operators.
If this was possible, I could simply substract solution X, parameter step 1 and time step 0 from any other solution, which I did in Matlab before (but never for a transient parametric run, just for a simple transient run without a parametric sweep).
It would be worthwile in future versions of Comsol to be able to store an initial solution, that can be substracted from all other time steps of a run.
Best regards,
Juergen
Ivar KJELBERG
COMSOL Multiphysics(r) fan, retired, former "Senior Expert" at CSEM SA (CH)
Please login with a confirmed email address before reporting spam
Posted:
1 decade ago
2011年1月19日 GMT-5 16:07
Hi
sorry but I do not really know the answers for your issues, but there might be someone else too out there ;)
All tricks are obviously not portable from one physiscs to another, geoscienc is one of the few module I do not have, so I cannot even try it out
--
Good luck
Ivar
Hi
sorry but I do not really know the answers for your issues, but there might be someone else too out there ;)
All tricks are obviously not portable from one physiscs to another, geoscienc is one of the few module I do not have, so I cannot even try it out
--
Good luck
Ivar