On 05/11/2010 12:44 PM, Roy Stogner wrote: > > Copying to libmesh-devel; I know Ben's interested in the state of ALE > too. > > On Tue, 11 May 2010, David Knezevic wrote: > >> I had a bit of spare time yesterday, so I thought I'd have another >> look at some mesh motion in FEMSystem. The API seems simple enough: >> I've added two extra isoparametric variables "x" and "y", and put the >> following code in init_data: >> >> this->time_evolving(x_var); >> this->time_evolving(y_var); >> set_mesh_system(this); >> set_mesh_x_var(x_var); >> set_mesh_y_var(y_var); > > This should be right. > >> and then, just to start with something simple, I tried to add vertical >> mesh motion via: >> >> Fy(i) += JxW[qp] * ( -0.1*phi[i][qp] ); > > This looks like a good test case. > >> In the main function, I initialized x and y by calling >> system.mesh_position_get(). > > I do this in init_data() as well, but depending on where in main() you > do it, that could be fine.
OK, I moved this to init_data(), after FEMSystem::init_data() >> But in the solve I hit an assertion related to an unclosed vector: >> >> Assertion `v.closed()' failed. >> [0] src/numerics/petsc_vector.C, line 583, compiled May 11 2010 at >> 10:48:31 >> >> #8 0x00007f54f8464cb6 in UnsteadySolver::advance_timestep >> (this=0x1eda090) >> at src/solvers/unsteady_solver.C:131 > > I'm not sure what's happening here. > > So it's asserting that the solution vector hasn't been closed after > the solve? That mesh_position_get() call would have unclosed the > solution vector, but the solver should have closed it again. I think it's asserting that the solution isn't closed before the solve. Adding this->solution->close(); in FEMSystem::mesh_position_get() resolves this. So now I'm getting mesh motion, though if GMV is to be believed it's only the outermost layer of elements that are moving. I'll have a closer look at what's happening... ------------------------------------------------------------------------------ _______________________________________________ Libmesh-devel mailing list Libmesh-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/libmesh-devel