[aspect-devel] Termination criteria module
Eric Heien
emheien at ucdavis.edu
Thu Dec 13 14:19:09 PST 2012
Forgot to commit the Makefile as well. It should work now.
-Eric
On Dec 13, 2012, at 11:44 AM, Timo Heister wrote:
> Hi Eric,
>
> with r1528 I get the following linker errors:
>
> =====aspect=========================== Linking lib/aspect
> lib/obj/simulator_core.g.o: In function
> `aspect::Simulator<2>::Simulator(ompi_communicator_t*,
> dealii::ParameterHandler&)':
> /scratch/aspect/source/simulator/core.cc:228: undefined reference to
> `aspect::TerminationCriteria::Manager<2>::parse_parameters(dealii::ParameterHandler&)'
> /scratch/aspect/source/simulator/core.cc:229: undefined reference to
> `aspect::TerminationCriteria::Manager<2>::initialize(aspect::Simulator<2>
> const&)'
> lib/obj/simulator_core.g.o: In function `aspect::Simulator<2>::run()':
> /scratch/aspect/source/simulator/core.cc:1197: undefined reference to
> `aspect::TerminationCriteria::Manager<2>::execute(bool&, bool&) const'
> lib/obj/simulator_core.g.o: In function
> `aspect::Simulator<3>::Simulator(ompi_communicator_t*,
> dealii::ParameterHandler&)':
> /scratch/aspect/source/simulator/core.cc:228: undefined reference to
> `aspect::TerminationCriteria::Manager<3>::parse_parameters(dealii::ParameterHandler&)'
> /scratch/aspect/source/simulator/core.cc:229: undefined reference to
> `aspect::TerminationCriteria::Manager<3>::initialize(aspect::Simulator<3>
> const&)'
> lib/obj/simulator_core.g.o: In function `aspect::Simulator<3>::run()':
> /scratch/aspect/source/simulator/core.cc:1197: undefined reference to
> `aspect::TerminationCriteria::Manager<3>::execute(bool&, bool&) const'
> lib/obj/simulator_core.g.o:(.data.rel.ro._ZTVN6aspect19TerminationCriteria7ManagerILi3EEE[_ZTVN6aspect19TerminationCriteria7ManagerILi3EEE]+0x20):
> undefined reference to
> `aspect::TerminationCriteria::Manager<3>::initialize(aspect::Simulator<3>
> const&)'
> lib/obj/simulator_core.g.o:(.data.rel.ro._ZTVN6aspect19TerminationCriteria7ManagerILi3EEE[_ZTVN6aspect19TerminationCriteria7ManagerILi3EEE]+0x28):
> undefined reference to
> `aspect::TerminationCriteria::Manager<3>::execute(bool&, bool&) const'
> lib/obj/simulator_core.g.o:(.data.rel.ro._ZTVN6aspect19TerminationCriteria7ManagerILi2EEE[_ZTVN6aspect19TerminationCriteria7ManagerILi2EEE]+0x20):
> undefined reference to
> `aspect::TerminationCriteria::Manager<2>::initialize(aspect::Simulator<2>
> const&)'
> ....
>
>
>
> On Wed, Dec 12, 2012 at 7:36 PM, Eric Heien <emheien at ucdavis.edu> wrote:
>> I just added one more termination criteria that lets the user gracefully end the simulation by creating a file in the working directory, by default named "terminate_aspect". This can be useful if you don't know how long you want to run, but you want a final checkpoint or to ensure a graceful exit.
>>
>> -Eric
>>
>> On Dec 12, 2012, at 3:38 PM, Eric Heien wrote:
>>
>>> Just so everyone knows, I implemented this and checked it in. I'll put in an automated test case soon as well. I left the "End time" parameter as-is to keep things backwards compatible, so termination can happen either by reaching end time or by fulfilling a termination criteria. Wolfgang's checkpoint idea is also in there.
>>>
>>> -Eric
>>>
>>> On Dec 5, 2012, at 11:09 PM, Wolfgang Bangerth wrote:
>>>
>>>>
>>>> Eric,
>>>> as discussed this evening, this looks good.
>>>>
>>>> Given your last sentence, here's another idea: the last thing we currently do before checking whether we've reached the end time (at the very bottom of the run() function) is to see if we need to checkpoint. One could conceivably do the determination whether you want to jump out of the loop just before that and take into account whether this will be the last time step in determining to checkpoint. I don't know whether that's something that would be useful to you guys but it would be simpler to implement.
>>>>
>>>> Best
>>>> W.
>>>>
>>>> On 11/30/2012 01:22 PM, Eric Heien wrote:
>>>>> Hi everyone,
>>>>>
>>>>> One of the students I'm working with has a request to add a special
>>>>> Aspect termination criteria. Specifically, they want to run the
>>>>> simulation until it reaches "steady state", for various definitions
>>>>> of steady state. Currently, they have to set a long end time and
>>>>> check on the state every hour or so to see when it has reached the
>>>>> appropriate point. I've encountered similar issues when doing mixing
>>>>> simulations where I run simulations until dV_RMS/dT is small for an
>>>>> extended time period, then restart the simulation with tracer
>>>>> particles added to see how they move.
>>>>>
>>>>> If nobody has any objections I'd like to add a module interface to
>>>>> Aspect to allow different termination criteria, defaulting to the
>>>>> current end time criteria. This way compute and human time isn't
>>>>> wasted, and potentially complex simulations could be setup where the
>>>>> state is evolved to a point, checkpointed, and restarted using
>>>>> different parameters without any human intervention.
>>>>>
>>>>> Let me know what you think,
>>>>>
>>>>> -Eric
>>>>>
>>>>> _______________________________________________ Aspect-devel mailing
>>>>> list Aspect-devel at geodynamics.org
>>>>> http://geodynamics.org/cgi-bin/mailman/listinfo/aspect-devel
>>>>>
>>>>
>>>>
>>>> --
>>>> ------------------------------------------------------------------------
>>>> Wolfgang Bangerth email: bangerth at math.tamu.edu
>>>> www: http://www.math.tamu.edu/~bangerth/
>>>>
>>>
>>> _______________________________________________
>>> Aspect-devel mailing list
>>> Aspect-devel at geodynamics.org
>>> http://geodynamics.org/cgi-bin/mailman/listinfo/aspect-devel
>>
>> _______________________________________________
>> Aspect-devel mailing list
>> Aspect-devel at geodynamics.org
>> http://geodynamics.org/cgi-bin/mailman/listinfo/aspect-devel
>
>
>
> --
> Timo Heister
> http://www.math.tamu.edu/~heister/
> _______________________________________________
> Aspect-devel mailing list
> Aspect-devel at geodynamics.org
> http://geodynamics.org/cgi-bin/mailman/listinfo/aspect-devel
More information about the Aspect-devel
mailing list