Issue assigning different initial concentrations for multiple tracers in ATS

14 views
Skip to first unread message

Xueyuan Kang

unread,
Oct 16, 2025, 2:05:01 PMOct 16
to Amanzi-ATS Users

Hello all,

I am trying to set different initial concentrations for different zones — for example, concentration of Tracer0 = 1 in region geology0, and Tracer1 = 1 in region geology1.

 

This setup works fine when I only use a single tracer (Tracer0). However, when I include two tracers (Tracer0 and Tracer1), ATS does not assign the initial concentrations correctly. Instead, it seems to apply all initial conditions to Tracer0 only.

 

The ATS version I’m using is 1.5.2.

 

Below are the relevant parts of my XML setup:

(1) In the cycle driver:

        <ParameterList name="field initialization">

              <Parameter name="total_component_concentration" type="Array(string)" value="{initial condition}" />

     </ParameterList>

 

(2) In state -> initial conditions:

  <ParameterList name="state" type="ParameterList">

<ParameterList name="evaluators" type="ParameterList">

*******

 

<ParameterList name="initial conditions" type="ParameterList">

 

<ParameterList name="total_component_concentration">

  <Parameter name="field evaluator type" type="string" value="independent variable" />

  <Parameter name="component" type="string" value="cell" />

 

  <ParameterList name="function">

 

    <ParameterList name="Tracer0" type="ParameterList">

      <Parameter name="regions" type="Array(string)" value="{geology0}" />

         <Parameter name="component" type="string" value="cell" />

      <Parameter name="operation" type="string" value="sum" />

      <ParameterList name="function" type="ParameterList">

        <ParameterList name="function-constant" type="ParameterList">

          <Parameter name="value" type="double" value="1.0" />

        </ParameterList>

      </ParameterList>

    </ParameterList>

      

 

    <ParameterList name="Tracer1" type="ParameterList">

      <Parameter name="regions" type="Array(string)" value="{geology1}" />

         <Parameter name="component" type="string" value="cell" />

      <Parameter name="operation" type="string" value="sum" />

      <ParameterList name="function" type="ParameterList">

        <ParameterList name="function-constant" type="ParameterList">

          <Parameter name="value" type="double" value="1.0" />

        </ParameterList>

      </ParameterList>

    </ParameterList>

 

  </ParameterList>

</ParameterList>

 

Has anyone encountered a similar issue, or could suggest how to properly assign initial conditions to multiple tracers in ATS?

Any suggestions or comments would be greatly appreciated!

Best,

Xueyuan

 

Bo Gao

unread,
Oct 17, 2025, 10:31:10 AMOct 17
to Xueyuan Kang, Amanzi-ATS Users
Hi Xueyuan,

The setup you have here is weird to me. Can you please attach your input file? Thanks.

Best,
Bo Gao

--
You received this message because you are subscribed to the Google Groups "Amanzi-ATS Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ats-users+...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/ats-users/ef906860-c9e6-4bb2-8901-08ecbeec6530n%40googlegroups.com.

Phong Le

unread,
Oct 17, 2025, 10:45:33 AMOct 17
to Amanzi-ATS Users
Hi Xueyuan,

You can follow the transport solution example from the recent ATS shortcourse on this. You need to create a function with 2 dofs, so ATS can read the input correctly. Otherwise, it only reads the first tracer and move on with tracer2 = 0.

Xueyuan Kang

unread,
Oct 17, 2025, 6:42:01 PMOct 17
to Amanzi-ATS Users
Hello Phong and Bo, 

Thanks for your reply! Yes, I followed the example Phong suggested and create a function with 2 dofs. It works! 
Thank you so much!

Best,
Xueyuan

Reply all
Reply to author
Forward
0 new messages