Liquid Flow Neumann error

Hi I am unable to do my liquid flow simualtion, I have 9 media and
I have a salt material in the center which is impermeable.

I have assigned BC to left boundary which is a flux_in value as Neumann
Initial conditions are assigned to my mesh with atmospheric pressure gradient till my bottom depth using mesh nodes as p_init values

the solver has no error while solving but my each vtus just get stuck and the bottom left.
Would would be the problem?

<?xml version="1.0" encoding="UTF-8"?>
<!-- Meshes -->
<meshes>
    <mesh>mesh_initialpressure.vtu</mesh>
    <mesh>left_pressure.vtu</mesh>
</meshes>

<!-- Processes -->
<processes>
    <process>
        <name>LiquidFlow</name>
        <type>LIQUID_FLOW</type>
        <integration_order>2</integration_order>

        <process_variables>
            <process_variable>pressure</process_variable>
        </process_variables>

        <secondary_variables>
            <secondary_variable internal_name="darcy_velocity" output_name="v"/>
        </secondary_variables>

        <specific_body_force>0.0 0.0 -9.8</specific_body_force>
        <linear>true</linear>
    </process>
</processes>

<!-- Time Loop -->
<time_loop>
    <processes>
        <process ref="LiquidFlow">
            <nonlinear_solver>basic_picard</nonlinear_solver>
            <convergence_criterion>
                <type>DeltaX</type>
                <norm_type>NORM2</norm_type>
                <abstol>1.e-6</abstol>
            </convergence_criterion>
            <time_discretization>
                <type>BackwardEuler</type>
            </time_discretization>
            <time_stepping>
                <type>FixedTimeStepping</type>
                <t_initial>0.0</t_initial>
                <t_end>3500000</t_end>
                <timesteps>
                    <pair>
                        <repeat>1</repeat>
                        <delta_t>7000</delta_t>
                    </pair>
                </timesteps>
            </time_stepping>
        </process>
    </processes>

    <output>
        <type>VTK</type>
        <prefix>2Dliquidflow2</prefix>
        <timesteps>
            <pair>
                <repeat>100</repeat>
                <each_steps>1</each_steps>
            </pair>
        </timesteps>
        <variables>
            <variable>pressure</variable>
            <variable>v</variable>
        </variables>
        <suffix>_ts_{:timestep}_t_{:time}</suffix>
    </output>
</time_loop>



<!-- Media / Material properties -->
<media>
<!-- 0 – Quaternary -->
<medium id="9">
    <phases>
        <phase>
            <type>AqueousLiquid</type>
            <properties>
                <property><name>viscosity</name><type>Constant</type><value>1.00e-3</value></property>
                <property><name>density</name><type>Constant</type><value>1000</value></property>
            </properties>
        </phase>
    </phases>
    <properties>
        <property><name>porosity</name><type>Constant</type><value>0.35</value></property>
        <property><name>permeability</name><type>Constant</type><value>1e-12  0 0 0 1e-12 0 0 0 1e-12</value></property>
        <property><name>reference_temperature</name><type>Constant</type><value>288.15</value></property>
        <property><name>storage</name><type>Constant</type><value>1e-9</value></property>
    </properties>
</medium>

<!-- 1 – Tertiary -->
<medium id="8">
    <phases>
        <phase>
            <type>AqueousLiquid</type>
            <properties>
                <property><name>viscosity</name><type>Constant</type><value>1.00e-3</value></property>
                <property><name>density</name><type>Constant</type><value>1000</value></property>
            </properties>
        </phase>
    </phases>
    <properties>
        <property><name>porosity</name><type>Constant</type><value>0.25</value></property>
        <property><name>permeability</name><type>Constant</type><value>1e-13 0 0 0 1e-13 0 0 0 1e-13</value></property>
        <property><name>reference_temperature</name><type>Constant</type><value>290.15</value></property>
        <property><name>storage</name><type>Constant</type><value>5e-10</value></property>
    </properties>
</medium>

<!-- 2 – Upper Cretaceous -->
<medium id="7">
    <phases>
        <phase>
            <type>AqueousLiquid</type>
            <properties>
                <property><name>viscosity</name><type>Constant</type><value>1.00e-3</value></property>
                <property><name>density</name><type>Constant</type><value>1000</value></property>
            </properties>
        </phase>
    </phases>
    <properties>
        <property><name>porosity</name><type>Constant</type><value>0.30</value></property>
        <property><name>permeability</name><type>Constant</type><value>1e-12 0 0 0 1e-12 0 0 0 1e-12</value></property>
        <property><name>reference_temperature</name><type>Constant</type><value>292.15</value></property>
        <property><name>storage</name><type>Constant</type><value>1e-10</value></property>
    </properties>
</medium>

<!-- 3 – Lower Cretaceous -->
<medium id="6">
    <phases>
        <phase>
            <type>AqueousLiquid</type>
            <properties>
                <property><name>viscosity</name><type>Constant</type><value>1.00e-3</value></property>
                <property><name>density</name><type>Constant</type><value>1000</value></property>
            </properties>
        </phase>
    </phases>
    <properties>
        <property><name>porosity</name><type>Constant</type><value>0.30</value></property>
        <property><name>permeability</name><type>Constant</type><value>1e-12 0 0 0 1e-12 0 0 0 1e-12</value></property>
        <property><name>reference_temperature</name><type>Constant</type><value>294.15</value></property>
        <property><name>storage</name><type>Constant</type><value>5e-11</value></property>
    </properties>
</medium>

<!-- 4 – L_Bunter -->
<medium id="5">
    <phases>
        <phase>
            <type>AqueousLiquid</type>
            <properties>
                <property><name>viscosity</name><type>Constant</type><value>1.00e-3</value></property>
                <property><name>density</name><type>Constant</type><value>1000</value></property>
            </properties>
        </phase>
    </phases>
    <properties>
        <property><name>porosity</name><type>Constant</type><value>0.30</value></property>
        <property><name>permeability</name><type>Constant</type><value>1e-12 0 0 0 1e-12 0 0 0 1e-12</value></property>
        <property><name>reference_temperature</name><type>Constant</type><value>295.15</value></property>
        <property><name>storage</name><type>Constant</type><value>1e-11</value></property>
    </properties>
</medium>

<!-- 5 – Z3 (salt) -->
<!-- 5 – Z3 (salt, plume) -->
<medium id="4">
    <phases>
        <phase>
            <type>AqueousLiquid</type>
            <properties>
                <property><name>viscosity</name><type>Constant</type><value>1.0e-3</value></property>
                <property><name>density</name><type>Constant</type><value>1000</value></property>
            </properties>
        </phase>
    </phases>
    <properties>
        <property><name>porosity</name><type>Constant</type><value>0.01</value></property>
        <property><name>permeability</name><type>Constant</type><value>1e-22 0 0 0 1e-22 0 0 0 1e-22</value></property>
        <property><name>reference_temperature</name><type>Constant</type><value>296.15</value></property>
        <property><name>storage</name><type>Constant</type><value>1e-12</value></property>
    </properties>
</medium>

<!-- 6 – Z4 (salt, plume) -->
<medium id="3">
    <phases>
        <phase>
            <type>AqueousLiquid</type>
            <properties>
                <property><name>viscosity</name><type>Constant</type><value>1.0e-3</value></property>
                <property><name>density</name><type>Constant</type><value>1000</value></property>
            </properties>
        </phase>
    </phases>
    <properties>
        <property><name>porosity</name><type>Constant</type><value>0.005</value></property>
        <property><name>permeability</name><type>Constant</type><value>1e-22 0 0 0 1e-22 0 0 0 1e-22</value></property>
        <property><name>reference_temperature</name><type>Constant</type><value>296.5</value></property>
        <property><name>storage</name><type>Constant</type><value>1e-12</value></property>
    </properties>
</medium>

<!-- 7 – Z2HS (vein-bearing, plume) -->
<medium id="2">
    <phases>
        <phase>
            <type>AqueousLiquid</type>
            <properties>
                <property><name>viscosity</name><type>Constant</type><value>1.0e-3</value></property>
                <property><name>density</name><type>Constant</type><value>1000</value></property>
            </properties>
        </phase>
    </phases>
    <properties>
        <property><name>porosity</name><type>Constant</type><value>0.01</value></property>
        <property><name>permeability</name><type>Constant</type><value>1e-22 0 0 0 1e-22 0 0 0 1e-22</value></property>
        <property><name>reference_temperature</name><type>Constant</type><value>297.0</value></property>
        <property><name>storage</name><type>Constant</type><value>1e-12</value></property>
    </properties>
</medium>

<!-- 8 – Z1 (plume) -->
<medium id="1">
    <phases>
        <phase>
            <type>AqueousLiquid</type>
            <properties>
                <property><name>viscosity</name><type>Constant</type><value>1.0e-3</value></property>
                <property><name>density</name><type>Constant</type><value>1000</value></property>
            </properties>
        </phase>
    </phases>
    <properties>
        <property><name>porosity</name><type>Constant</type><value>0.01</value></property>
        <property><name>permeability</name><type>Constant</type><value>1e-22 0 0 0 1e-22 0 0 0 1e-22</value></property>
        <property><name>reference_temperature</name><type>Constant</type><value>297.5</value></property>
        <property><name>storage</name><type>Constant</type><value>1e-12</value></property>
    </properties>
</medium>


<!-- 9 – Rotliegend / Basement -->
<medium id="0">
    <phases>
        <phase>
            <type>AqueousLiquid</type>
            <properties>
                <property><name>viscosity</name><type>Constant</type><value>1.00e-3</value></property>
                <property><name>density</name><type>Constant</type><value>1000</value></property>
            </properties>
        </phase>
    </phases>
    <properties>
        <property><name>porosity</name><type>Constant</type><value>0.1</value></property>
        <property><name>permeability</name><type>Constant</type><value>1e-18 0 0 0 1e-18 0 0 0 1e-18</value></property>
        <property><name>reference_temperature</name><type>Constant</type><value>300.0</value></property>
        <property><name>storage</name><type>Constant</type><value>1e-13</value></property>
    </properties>
</medium>
</media>




<parameters>
    <parameter>
        <name>flux_in</name>
        <type>Constant</type>
        <value>1e-8</value>
    </parameter>
  
    <parameter>
        <name>ic</name>
        <type>MeshNode</type>
        <field_name>p_init</field_name>
    </parameter>
</parameters>


<!-- Process Variables -->
<process_variables>
    <process_variable>
        <name>pressure</name>
        <components>1</components>
        <order>1</order>

        <initial_condition>ic</initial_condition>
        <boundary_conditions>
            <boundary_condition>
                <mesh>left_pressure</mesh>
                <type>Neumann</type>
                <parameter>flux_in</parameter>
            </boundary_condition>
        </boundary_conditions>

    </process_variable>
</process_variables>

<!-- Nonlinear Solvers -->
 <nonlinear_solvers>
    <nonlinear_solver>
        <name>basic_picard</name>
        <type>Picard</type>
        <max_iter>10</max_iter>
        <linear_solver>general_linear_solver</linear_solver>
    </nonlinear_solver>
</nonlinear_solvers>

<!-- Linear Solvers -->
<linear_solvers>
    <linear_solver>
        <name>general_linear_solver</name>
        <lis>-i cg -p jacobi -tol 1e-16 -maxiter 10000</lis>
        <eigen>
            <solver_type>CG</solver_type>
            <precon_type>DIAGONAL</precon_type>
            <max_iteration_step>10000</max_iteration_step>
            <error_tolerance>1e-20</error_tolerance>
        </eigen>
        <petsc>
            <prefix>lf</prefix>
            <parameters>-lf_ksp_type cg -lf_pc_type bjacobi -lf_ksp_rtol 1e-16 -lf_ksp_max_it 10000</parameters>
        </petsc>
    </linear_solver>
</linear_solvers>

I have also tried the same thing on 2 media and it works with Neumann.

Hi Ronia_a,

could you upload a full example, please, including the meshes such that we can run it locally?

And what do you mean by “but my each vtus just get stuck and the bottom left”? Can you maybe post an image/plot illustrating the error and maybe showing what you’d expect instead?

Best regards,
Christoph

Hi,

Maybe it’s to late, but I found, that it’s numerically very problematic to apply a Neumann boundary at a boundary with very different permeabilities. I would try to appy the Neumann boundary only at the layers (media) with high permeability or use a Dirichlet boundary condition instead.

Best regards,
Jan