Discussion Closed This discussion was created more than 6 months ago and has been closed. To start a new discussion with a link back to this one, click here.

How can I run 2nd time step using "batch" mode?

Please login with a confirmed email address before reporting spam

Hi,

I'm trying to solve a model with a thin film over a layer of fluid, and calculate the force and recovery time after pushing the film and releasing it. I divide it to two steps - 1st push with boundary conditions, and 2nd recover removing the BC.

I found it is working on GUI mode - Convergence and singularity problems are always popping up, but at least it seems to work.

But the resource allotted for GUI mode is limited in memory and active time in my case. So I need to run them on batch mode. But it doesn't work here...

In 1st step, the film is pressed for 1 sec in -z direction at 1mm/s using the batch mode.
for the 2nd step,
1) open the output file for 1st step
2) Create Geometry from Mesh -> Deformed mesh at 1.0 sec
3) Remove the push boundary condition
4) Change time stepping -> range(1.0,0.01,1.5), for example

Now here comes the problem...
If I just save *.mph at this stage and run it on batch mode, the result doesn't look right.
It seems that solved results like displacements and stresses from the 1st step don't work as initial conditions for 2nd step. So the result looks like the final shape at the last time in 1st step, because there are no stresses, pressure, load, displacement and so on.

In GUI "Solve -> Restart" after changing BCs works well. Initial conditions for 2nd step looks exactly values at the end of the 1st step.
But I have to run it on batch mode, as I mentioned above because of the resource.
It appears that COMSOL batch mode doesn't have "restart" option.
I heard a couple of techniques from a support representative in my region such as:

5) Solver manager -> Current solution, and Solve Problem -> Stop and save *.mph and run it on batch mode.
or
5) Solve -> Update model, and save *.mph and run it in batch mode.

Neither way gives answers. They even don't start solving.
I have errors such as:

Starting batch job.
------------------------------------------------------------
COMSOL Batch failed!
Error: null
Stack trace:
java.lang.NullPointerException
at com.femlab.api.client.SolverPlotCallback.addProps(Unknown Source)
at com.femlab.api.client.Solver.initProps(Unknown Source)
at com.femlab.api.client.Solver.solve(Unknown Source)
at com.femlab.api.client.Solver.solve(Unknown Source)
at com.femlab.server.BatchRunner.main(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.femlab.server.Launcher.main(Unknown Source)

Is there anything wrong in the procedure above?
Or is there any way to run the 2nd step on batch mode with correct initial conditions?

0 Replies Last Post 14 apr 2010, 22:26 GMT-4
COMSOL Moderator

Hello Sunghyuk Park

Your Discussion has gone 30 days without a reply. If you still need help with COMSOL and have an on-subscription license, please visit our Support Center for help.

If you do not hold an on-subscription license, you may find an answer in another Discussion or in the Knowledge Base.

Note that while COMSOL employees may participate in the discussion forum, COMSOL® software users who are on-subscription should submit their questions via the Support Center for a more comprehensive response from the Technical Support team.