[aspect-devel] Problem with active tracers & compositional fields

FELIPE ORELLANA ROVIROSA f_orellana at berkeley.edu
Sat May 19 15:36:12 PDT 2018


 Hi John, hi all,

   I hope you guys are having a nice weekend.

   I have been reading the Aspect manual on compositional fields, tracers,
etc.

   I am somewhat lost in terms of the respective capabilities of these
techniques.

   For a target material body (e.g. a sphere) that has a
compositional-density contrast with respect to the environment, and having
the system convecting (by any means), what is the difference (in output,
usefulness, etc.) between:

   a) Having the system domain fully mapped by active tracers and
compositional fields, some of which will track the kinematic evolution of
the target body.

   b) Having the system defined by compositional fields, and having the
target body mapped by passive tracers that track its kinematic evolution.

cheers,

Felipe


On Fri, May 18, 2018 at 3:12 PM, John Naliboff <jbnaliboff at ucdavis.edu>
wrote:

> Hi all,
>
> Apologies, the last few emails I accidentally sent directly to Felipe
> rather than the whole list. See the messages below for a series of replies.
>
> Felipe - yes, if you are using active tracers then they need to be
> everywhere in the domain. If you are modeling a dense layer in the lower
> mantle, then the particle values will determine where that interface is.
>
> Cheers,
> John
> On 05/18/2018 03:04 PM, FELIPE ORELLANA ROVIROSA wrote:
>
> John,
>
>          No ! My tracers are purposely located on a subset of the domain,
> on a layer at the bottom in this particular case.
>
>   is this a problem?
>
> Felipe
>
> On Fri, May 18, 2018 at 3:01 PM, John Naliboff <jbnaliboff at ucdavis.edu>
> wrote:
>
>> Hi Felipe,
>>
>> I had filled a lower layer of the domain with 10k, 20k..200k, and there
>> were plenty of tracers..
>> But there are still particles throughout the mesh, yes? Not just in the
>> lower layer of the domain?
>>
>> So, maybe other ways to generate the tracer particles are more secure
>> with regards to the mesh.
>> Yes, if the ascii file is not working I would try one of the other
>> particle generator options ...
>>
>> Cheers,
>> John
>> On 05/18/2018 02:58 PM, FELIPE ORELLANA ROVIROSA wrote:
>>
>> Hi John,
>>
>>       Thanks a lot for your help.
>>
>>       I added the lines
>>
>>     set Load balancing strategy = remove and add particles
>>     set Minimum tracers per cell = 10
>>     set Maximum tracers per cell = 20
>>
>>  and tried having up to 200k tracers; but it fails by segmentation fault,
>> again with the same message:
>> #######################
>> The name and call sequence of the exception was:
>>     ExcMessage("A cell and all of its neighbors do not contain any
>> particles. " "The 'cell average' interpolation scheme does not support this
>> case.")
>> Additional Information:
>> A cell and all of its neighbors do not contain any particles. The 'cell
>> average' interpolation scheme does not support this case.
>> --------------------------------------------------------
>>
>> Aborting!
>> ######################
>>     I am pretty sure this is geometrically not tue, as I have seen the
>> mesh.
>> For example, when the mesh starts, there are like 10^3 active cells,
>> thus, ~10 nodes per side. I had filled a lower layer of the domain with
>> 10k, 20k..200k, and there were plenty of tracers..
>>
>>     So, maybe other ways to generate the tracer particles are more secure
>> with regards to the mesh.. Certainly, I tried to implement the uniform box,
>> but I could not make the syntax..I found no examples. In the end generating
>> my own tracers and using a file worked perfect for me (I did this for
>> passive tracers). The thing is, I need my tracers to be located in
>> well-defined regions of my model box.
>>
>> cheers,
>>
>> Felipe
>>
>>
>>
>> On Fri, May 18, 2018 at 2:26 PM, John Naliboff <jbnaliboff at ucdavis.edu>
>> wrote:
>>
>>> Hi Felipe,
>>>
>>> You are generating the initial particle positions from an ASCII file, so
>>> hard to know if in fact there is a particle in each cell. ASPECT seems to
>>> think not.
>>>
>>> There are particle generator schemes that can ensure you always have a
>>> particle in each cell, but another option is to enforce a minimum (and
>>> maximum) number of particles per cell. These parameters are defined in
>>> particle 'world': https://github.com/geodynamics
>>> /aspect/blob/master/source/particle/world.cc#L748
>>>
>>> In the parameter file, enforcing a minimum (ex: 10) and maximum (ex:
>>> 20)number of particles per cell in the particle subsection would look like:
>>>   set Load balancing strategy = remove and add particles
>>>   set Minimum number of particles per cell = 10
>>>   set Maximum number of particles per cell = 20
>>>
>>> I think you may need to do at least one refinement during the initial
>>> time step to have this enforced?
>>>
>>> Cheers,
>>> John
>>> On 05/18/2018 02:09 PM, FELIPE ORELLANA ROVIROSA wrote:
>>>
>>>
>>>  Hi all,
>>>
>>>        I am implementing a 3D model with one layer of compositional
>>> fields, I want the convecting system to advect active tracers (they have a
>>> density differential).
>>>
>>>        The model seems to have correct syntax, as it starts to run. But
>>> it fails, it fails by segmentation fault: The last liens of the log file
>>> state that there some cells and all of their neighbors do not contain any
>>> particles, and that makes the interpolation to crash.
>>>
>>>       But, I have been increasing the number of tracer particles, all
>>> the way up to 10^5. I have plotted them, and they would be waaay more than
>>> enough to fill all the cells of the model, at least in its early stages.
>>>
>>>   what is going on here?
>>>
>>>   I am pasting the pertinent lines of my prm file:
>>>
>>> subsection Postprocess
>>>   set List of postprocessors = visualization, temperature statistics,
>>> velocity statistics, composition statistics, tracers #,particle count
>>> statistics, dynamic topography
>>>
>>> #  subsection Dynamic Topography
>>> #    set Density above = 1000
>>> #  end
>>>
>>>   subsection Visualization
>>>  #   set List of output variables = dynamic topography
>>>     set List of output variables = density
>>>     set Time between graphical output = 3.1558e14 # 10 Ma
>>>     set Output format = vtu
>>>     set Number of grouped files = 1
>>>
>>> #   subsection Dynamic Topography
>>> #      set Density above = 1000
>>> #   end
>>>
>>>   end #end Visualization
>>>
>>>   subsection Tracers
>>>     set Number of tracers = 10000
>>>     set List of tracer properties = initial position, initial
>>> composition, velocity, pT path
>>>     set Interpolation scheme = cell average
>>>     set Update ghost particles = true
>>>     set Time between data output = 3.1558e14
>>>     set Data output format = vtu
>>>     set Particle generator name = ascii file
>>> #    set Number of grouped files = 1
>>>  #
>>>     subsection Generator
>>>       subsection Ascii file
>>>         set Data directory = ./
>>>         set Data file name = MyTracers_100k_lower.txt
>>>       end
>>>     end
>>>
>>>   end
>>>
>>> end #end Postprocess
>>>
>>> subsection Compositional fields
>>>   set Number of fields = 1
>>>   set Names of fields = lower  #, upper
>>>   set Compositional field methods = particles #, particles
>>>   set Mapped particle properties = lower:initial lower #, upper:initial
>>> upper
>>> end
>>>
>>> This is a fraction of the output log:
>>>
>>> Number of active cells: 4,096 (on 5 levels)
>>> Number of degrees of freedom: 184,598 (107,811+4,913+35,937+35,937)
>>>
>>> *** Timestep 0:  t=0 seconds
>>>    Solving temperature system... 0 iterations.
>>> [compute-0-3:29728] *** Process received signal ***
>>> [compute-0-3:29728] Signal: Segmentation fault (11)
>>> [compute-0-3:29728] Signal code: Address not mapped (1)
>>> [compute-0-3:29728] Failing at address: 0xffffffff000186a0
>>> [compute-0-4:28813] *** Process received signal ***
>>> [compute-0-25:06630] *** Process received signal ***
>>> [compute-0-25:06630] Signal: Segmentation fault (11)
>>> ...
>>>
>>> ...
>>> The violated condition was:
>>>     non_empty_neighbors != 0
>>> The name and call sequence of the exception was:
>>>     ExcMessage("A cell and all of its neighbors do not contain any
>>> particles. " "The 'cell average' interpolation scheme does not support this
>>> case.")
>>> Additional Information:
>>> A cell and all of its neighbors do not contain any particles. The 'cell
>>> average' interpolation scheme does not support this case.
>>> --------------------------------------------------------
>>>
>>> Aborting!
>>> ##################
>>> cheers,
>>> Felipe
>>>
>>>
>>> _______________________________________________
>>> Aspect-devel mailing listAspect-devel at geodynamics.orghttp://lists.geodynamics.org/cgi-bin/mailman/listinfo/aspect-devel
>>>
>>>
>>>
>>
>>
>
>
> _______________________________________________
> Aspect-devel mailing list
> Aspect-devel at geodynamics.org
> http://lists.geodynamics.org/cgi-bin/mailman/listinfo/aspect-devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.geodynamics.org/pipermail/aspect-devel/attachments/20180519/cae1d3f3/attachment-0001.html>


More information about the Aspect-devel mailing list