KratosMultiphysics / Kratos

Kratos Multiphysics (A.K.A Kratos) is a framework for building parallel multi-disciplinary simulation software. Modularity, extensibility and HPC are the main objectives. Kratos has BSD license and is written in C++ with extensive Python interface.
https://kratosmultiphysics.github.io/Kratos/
Other
990 stars 243 forks source link

recommended applications/locations for adding droplet /surface -tension related codes/files, #941

Closed elafnm closed 6 years ago

elafnm commented 6 years ago

@pooyan-dadvand

Greetings and very good day,

As you are aware that Dr. Alex was using in his droplet/surface-tension codes both Lagrangian and Lagrangian-Eulerian approaches, and he added most of the related codes/files inside kratos-fluid-dynamic applications; and as we would like now to work on and extend the existing model, so we would like to start with getting your recommendation please about the suitable application/location for adding the existing droplet codes and that will fit with the latest kratos structure. For example, for the Lagrangian approach, do we need to create new-element file inside the ULF applications instead of using (.vms). Also, what about when using Lagrangian-Eulerian together.

Here, I would like also to share with you the step-by-step procedure that was initially recommended and shared by Dr. @Alex, (I only modified very minor commands in some files (that I think) to fit with the existing kratos version).

First, ”droplet folder” was created inside ”Kratos/Applications/FluidDynamic Applications/test”. This folder includes the following four files: • ”Lap young lagr.py” - the python script that runs the example.

from __future__ import print_function, absolute_import, division 
#
# import the configuration data as read from the GiD
import ProjectParameters
import problem_settings

def PrintResults(model_part):
    print("Writing results. Please run Gid for viewing results of analysis.")
    for variable_name in ProjectParameters.nodal_results:
        gid_io.WriteNodalResults(variables_dictionary[variable_name],model_part.Nodes,time,0)
    for variable_name in ProjectParameters.gauss_points_results:
        gid_io.PrintOnGaussPoints(variables_dictionary[variable_name],model_part,time)

##################################################################
##################################################################
#setting the domain size for the problem to be solved
domain_size = ProjectParameters.domain_size

##################################################################
##################################################################
import sys
sys.path.append(ProjectParameters.kratos_path)
from KratosMultiphysics import *
from KratosMultiphysics.IncompressibleFluidApplication import *
from KratosMultiphysics.FluidDynamicsApplication import *
from KratosMultiphysics.ExternalSolversApplication import *
from KratosMultiphysics.MeshingApplication import *
from KratosMultiphysics.ULFApplication import *
from KratosMultiphysics.StructuralApplication import *
from KratosMultiphysics.PFEMApplication import *
from KratosMultiphysics.ALEApplication import *

## defining variables to be used

variables_dictionary = {"PRESSURE" : PRESSURE,
                        "VELOCITY" : VELOCITY,
                        "REACTION" : REACTION,
                        "DISTANCE" : DISTANCE,
             "AUX_VEL" : AUX_VEL,                        
                        "DISPLACEMENT" : DISPLACEMENT,
                        "IS_INTERFACE" : IS_INTERFACE,
                        "IS_STRUCTURE" : IS_STRUCTURE,
                        "VISCOUS_STRESSX": VISCOUS_STRESSX,
                        "VISCOUS_STRESSY": VISCOUS_STRESSY,
                        "IS_WATER": IS_WATER,
                        "DENSITY": DENSITY,
                        "VISCOSITY": VISCOSITY}

#defining a model part for the fluid 
lagrangian_model_part = ModelPart("LagrangianPart");

SolverType=problem_settings.SolverType
if (SolverType=="Incompressible_Modified_FracStep"):
    fluid_only_model_part = ModelPart("FluidOnlyPart");

lagrangian_model_part.AddNodalSolutionStepVariable(DISTANCE)
lagrangian_model_part.AddNodalSolutionStepVariable(DISPLACEMENT)
lagrangian_model_part.AddNodalSolutionStepVariable(VELOCITY)
lagrangian_model_part.AddNodalSolutionStepVariable(VISCOSITY)
lagrangian_model_part.AddNodalSolutionStepVariable(DENSITY)
lagrangian_model_part.AddNodalSolutionStepVariable(BODY_FORCE)
lagrangian_model_part.AddNodalSolutionStepVariable(IS_FREE_SURFACE)
lagrangian_model_part.AddNodalSolutionStepVariable(VISCOUS_STRESSX)
lagrangian_model_part.AddNodalSolutionStepVariable(VISCOUS_STRESSY)
lagrangian_model_part.AddNodalSolutionStepVariable(AUX_VEL)
lagrangian_model_part.AddNodalSolutionStepVariable(CONTACT_ANGLE)
lagrangian_model_part.AddNodalSolutionStepVariable(IS_WATER)

#############################################
##importing the solvers needed
SolverType = ProjectParameters.SolverType

## Choosing element type for lagrangian_model_part
element_type = problem_settings.lagrangian_element
import vms_monolithic_solver as solver_lagr
SolverSettings = ProjectParameters.FluidSolverConfiguration
solver_lagr = import_solver(SolverSettings)
solver_lagr.AddVariables(lagrangian_model_part, SolverSettings)
import mesh_solver
mesh_solver.AddVariables(lagrangian_model_part)

compute_reactions=False
#reading the fluid part

# initialize GiD  I/O
if ProjectParameters.GiDPostMode == "Binary":
    gid_mode = GiDPostMode.GiD_PostBinary
elif ProjectParameters.GiDPostMode == "Ascii":
    gid_mode = GiDPostMode.GiD_PostAscii
elif ProjectParameters.GiDPostMode == "AsciiZipped":
    gid_mode = GiDPostMode.GiD_PostAsciiZipped
else:
    print("Unknown GiD post mode, assuming Binary")
    gid_mode = GiDPostMode.GiD_PostBinary

if ProjectParameters.GiDWriteMeshFlag == True:
    deformed_mesh_flag = WriteDeformedMeshFlag.WriteDeformed
else:
    deformed_mesh_flag = WriteDeformedMeshFlag.WriteUndeformed

if (ProjectParameters.VolumeOutput == True):
    if ProjectParameters.GiDWriteConditionsFlag == True:
        write_conditions = WriteConditionsFlag.WriteConditions
    else:
        write_conditions = WriteConditionsFlag.WriteElementsOnly
else:
    write_conditions = WriteConditionsFlag.WriteConditions

if ProjectParameters.GiDMultiFileFlag == "Single":
    multifile = MultiFileFlag.SingleFile
elif ProjectParameters.GiDMultiFileFlag == "Multiples":
    multifile = MultiFileFlag.MultipleFiles
else:
    print("Unknown GiD multiple file mode, assuming Single")
    multifile = MultiFileFlag.SingleFile

input_file_name = "drop" # "drop_square_h010" | "drop_square_h0075" | "drop_square_h0050" | "drop_square_h0025" | "drop_square_h0010" | "drop_square_h0005"

gid_io = GidIO(input_file_name,gid_mode,multifile,deformed_mesh_flag, write_conditions)

#READ LAGRANGIAN PART
model_part_io_structure = ModelPartIO(input_file_name)
model_part_io_structure.ReadModelPart(lagrangian_model_part)

compute_reactions=0

if(element_type == "ulf"):
    ulf_fluid.AddDofs(lagrangian_model_part, compute_reactions)
elif(element_type == "VMS"):
    solver_lagr.AddDofs(lagrangian_model_part, SolverSettings)
    mesh_solver.AddDofs(lagrangian_model_part)

#setting the limits of the bounding box
box_corner1 = Vector(3); 
box_corner1[0]=problem_settings.bounding_box_corner1_x; box_corner1[1]=problem_settings.bounding_box_corner1_y; box_corner1[2]=problem_settings.bounding_box_corner1_z;
box_corner2 = Vector(3); 
box_corner2[0]=problem_settings.bounding_box_corner2_x; box_corner2[1]=problem_settings.bounding_box_corner2_y; box_corner2[2]=problem_settings.bounding_box_corner2_z;
#here we write the convergence data..,
outstring2 = "convergence_info.txt"
outputfile1 = open(outstring2, 'w')

add_nodes=problem_settings.adaptive_refinement
bulk_modulus=problem_settings.bulk_modulus
density=problem_settings.density
FSI=problem_settings.FSI

eul_model_part = 0
gamma = 1.0         #surface tension coefficient [N m-1]
contact_angle = 130     #contact angle [deg]
lag_solver = solver_lagr.CreateSolver(lagrangian_model_part, SolverSettings, eul_model_part, gamma, contact_angle)
# Mesh solver:
reform_dofs_at_each_step = False
mesh_solver = mesh_solver.MeshSolver(lagrangian_model_part, 2, reform_dofs_at_each_step)
pDiagPrecond = DiagonalPreconditioner()
mesh_solver.linear_solver = CGSolver(1e-3, 300, pDiagPrecond)
mesh_solver.time_order = 2
mesh_solver.Initialize()
mesh_solver.solver.SetEchoLevel(0)
print("mesh solver created")

lag_solver.alpha_shape = problem_settings.alpha_shape;
lag_solver.echo_level = 2;
lag_solver.Initialize()
print("lagrangian solver created")

lagrangian_model_part.SetBufferSize(3)

for node in lagrangian_model_part.Nodes:
  node.SetSolutionStepValue(DENSITY,0, 1.0)
  node.SetSolutionStepValue(VISCOSITY,0, 1.0)
  node.SetSolutionStepValue(BODY_FORCE_X, 0, 0.0)
  node.SetSolutionStepValue(BODY_FORCE_Y, 0, 0.0)
  node.SetSolutionStepValue(PRESSURE,0, 0.0)
  node.SetSolutionStepValue(IS_FLUID,0, 1.0)
  if (node.GetSolutionStepValue(IS_BOUNDARY) != 0.0):
    node.SetSolutionStepValue(IS_FREE_SURFACE,0, 1.0)
    node.SetSolutionStepValue(IS_INTERFACE,0, 1.0)
    node.SetSolutionStepValue(FLAG_VARIABLE,0, 1.0)

##########################################################################################################
Multifile = True
# Initialize .post.list file (GiD postprocess list)
f = open(ProjectParameters.problem_name+'.post.lst','w')
f.write('Multiple\n')   

################################################################

# Stepping and time settings
Dt = ProjectParameters.Dt 
Nsteps  = ProjectParameters.nsteps
final_time = ProjectParameters.max_time
output_time = ProjectParameters.output_time

time = ProjectParameters.Start_time
out = 0
step = 0

while(time <= final_time):

    time = time + Dt
    step = step + 1
    lagrangian_model_part.CloneTimeStep(time)

    print("LINEAR SOLVER IS ------------------------------------------------------>", ProjectParameters.Monolithic_Linear_Solver)
    print("STEP = ", step)
    print("TIME = ", time)

    if(step >= 3):

        lag_solver.Solve()
        mesh_solver.Solve() 

##################################################
##################################################

    if(output_time <= out):

        out = 0

        gid_io.FinalizeResults()
        f.write(ProjectParameters.problem_name+'_'+str(time)+'.post.bin\n')

        res_name1 = str("water")
        gid_io.ChangeOutputName(res_name1)
        gid_io.InitializeMesh( time );
        gid_io.WriteNodeMesh((lagrangian_model_part).GetMesh());
        gid_io.WriteMesh((lagrangian_model_part).GetMesh());
        gid_io.FinalizeMesh();
        gid_io.InitializeResults(time, (lagrangian_model_part).GetMesh());

        gid_io.WriteNodalResults(CURVATURE,lagrangian_model_part.Nodes,time,0)
        gid_io.WriteNodalResults(DISPLACEMENT,lagrangian_model_part.Nodes,time,0)
        gid_io.WriteNodalResults(IS_BOUNDARY,lagrangian_model_part.Nodes,time,0)
        gid_io.WriteNodalResults(IS_FREE_SURFACE,lagrangian_model_part.Nodes,time,0)
        gid_io.WriteNodalResults(IS_INTERFACE,lagrangian_model_part.Nodes,time,0)
        gid_io.WriteNodalResults(FLAG_VARIABLE,lagrangian_model_part.Nodes,time,0)
        gid_io.WriteNodalResults(FORCE,lagrangian_model_part.Nodes,time,0)
        gid_io.WriteNodalResults(NORMAL,lagrangian_model_part.Nodes,time,0)
        gid_io.WriteNodalResults(PRESSURE,lagrangian_model_part.Nodes,time,0)
        gid_io.WriteNodalResults(VELOCITY,lagrangian_model_part.Nodes,time,0)

        gid_io.Flush()
        gid_io.FinalizeResults();

    out = out + Dt

if Multifile:
    f.close()
else:
    gid_io.FinalizeResults()

• ”problem settings.py” - a python file containing some settings:

domain_size = 2 #dimension of problem - 2 for 2D, 3 for 3D

FSI = 0.00000e+00
compute_reactions = 0.00000e+00
Dt = 1.00000e-04
max_time = 1.00000e+00
output_step = 1.00000e-04
alpha_shape = 1.60000e+00
erase_nodes = 1.00000e+00
adaptive_refinement = 1.00000e+00
delete_nodes_close_to_wall = 1.00000e+00
bulk_modulus =-1.0000e+03
density = 1.00000e+03
bounding_box_corner1_x = -1.00000e+00
bounding_box_corner1_y = -1.00000e+00
bounding_box_corner1_z = -1.00000e+00
bounding_box_corner2_x = 1.01000e+00
bounding_box_corner2_y = 1.01000e+00
bounding_box_corner2_z = 1.01000e+00
lagrangian_nodes_inlet = 0.00000e+00
SolverType = "Quasi_Inc_Constant_Pressure"
lagrangian_element = "VMS"
#lagrangian_element = "ulf"
# Declare Python Variables

problem_name = 'drop'
problem_path="/home/elaf/Kratos/applications/FluidDynamicsApplication/tests/drop"
kratos_path = '/home/elaf'

• ”ProjectParameters.py” - another python file containing settings about solver tolerances, total simulation, time, and time step.

domain_size = 2

SolverType = "monolithic_solver_eulerian"
#SolverType2 = "FractionalStep"

class FluidSolverConfiguration:
    solver_type =  "vms_monolithic_solver"
    domain_size = 2
    TurbulenceModel = "None"

    # Monolithic solver
    class linear_solver_config:
        solver_type = "Super LU"
        scaling = False

    #convergence criteria settings
    velocity_relative_tolerance = 1E-4
    velocity_absolute_tolerance = 1E-6
    pressure_relative_tolerance = 1E-4
    pressure_absolute_tolerance = 1E-6
    divergence_cleareance_step = 1

    #other solver settings
    oss_switch = 0
    compute_reactions = True
    time_order = 2
    predictor_corrector = False
    dynamic_tau = 0.1
    max_iteration = 20
    laplacian_form = 2

    eulerian_model_part = 0

# Monolithic solver
Monolithic_Linear_Solver ="MixedUP"#"BiConjugate gradient stabilized"#
Monolithic_Iterative_Tolerance = 1E-4
Monolithic_Solver_Max_Iteration = 5000
Monolithic_Preconditioner_type = "ILU0"#"Diagonal"

Velocity_Linear_Solver="BiConjugate gradient stabilized"
Pressure_Linear_Solver="Conjugate gradient"
Velocity_Preconditioner_type="ILU0"
Pressure_Preconditioner_type="ILU0"
Velocity_Iterative_Tolerance=1E-6
Pressure_Iterative_Tolerance=1E-3
Velocity_Solver_Max_Iteration = 5000
Pressure_Solver_Max_Iteration = 1000

TurbulenceModel = "None"

velocity_relative_tolerance = 1E-3
velocity_absolute_tolerance = 1E-5
pressure_relative_tolerance = 1E-2
pressure_absolute_tolerance = 1E-4

time_order = 2
predictor_corrector = False
max_iterations = 10
laplacian_form = 2

AutomaticDeltaTime = "Fixed"
divergence_cleareance_step = 10
Dt = 0.01
Start_time = 0.0
max_time = 2.00
nsteps = 100

use_dt_in_stabilization = 0.10
use_orthogonal_subscales = 0
Calculate_reactions = True

groups_dictionary = {
        "Fluid" : 1,
                   }

output_time = 0.01
output_step = 10
VolumeOutput = True

nodal_results=["VELOCITY","PRESSURE"]
gauss_points_results=[]
GiDPostMode = "Binary"
GiDWriteMeshFlag = True
GiDWriteConditionsFlag = True
# Add the following line if using vms_monolithic_solver for lagrangian_model_part
GiDWriteParticlesFlag = False
GiDMultiFileFlag = "Multiples"

#problem_name="square_circ3"
#problem_path="/home/alex/Examples_kratos/ALEX/channel30mm4_vms.gid"

kratos_path="home/elaf/Kratos"

• ”drop.mdpa” - the file containing the mesh information. (please you may kindly find it in as attached)

Second step was defining the new required variables as: • in ”kratos/kratos/includes/variables.h”: here where the new variables were created (starting from line 445 in attached (variables.h)) • in ”kratos/kratos/python/add containers to python.cpp”: here where the new variables were registered in python. • in ”kratos/kratos/sources/variables.cpp”: similar to the previous step, here where each newly added variable created and registered.

Third step was modifying the ”vms monolithic solver.py” python solver file located in ”FluidDynamicsApplication/python scritps” to include the new variables and solver setting. Also to include the following:

if(eul model part == 0):
self.move mesh strategy = 2
self.MoveMeshFlag = True

”eul model part” is a boolean that was set in the python script to run the example (in this case ”Lap young lagr.py”) to tell Kratos that this geometry is Lagrangian (the mesh is moving).

Fourth step was to add the new governor equations functions for the surface tension force in the ”element” file. For the ”FluidDynamic application” in Kratos, the governing equations are implemented in the following files: • kratos/applications/FluidDynamicsApplication/custom elements/vms.cpp • kratos/applications/FluidDynamicsApplication/custom elements/vms.h

All new functions for the surface tension force are implemented in the ”vms.h” file, and also including the surface tension effects function ”ApplySurfaceTensionContribution” codes (that is in between the comment ”Surface tension contribution” and ”Viscous stress”) as it contains the necessary commands to detect if the current element is on the surface.


// Surface tension contribution
            int k = 0;
    if(TDim < 3)
    {
        array_1d<double,3> node_indx;
        node_indx[0] = 0.0;
        node_indx[1] = 0.0;
        node_indx[2] = 0.0;
        int node_indx_wrong = 5;
        for(unsigned int iNode = 0; iNode < TNumNodes; ++iNode)
        {
          if(this->GetGeometry()[iNode].FastGetSolutionStepValue(CURVATURE) != 0.0)
        k++;
          if(this->GetGeometry()[iNode].FastGetSolutionStepValue(IS_BOUNDARY) < 0.1)
        node_indx_wrong = iNode;
        }
        if(k > 2 && node_indx_wrong != 5)
        {
          this->GetGeometry()[node_indx_wrong].FastGetSolutionStepValue(CURVATURE) = 0.0;
        }
        k = 0;
        for(unsigned int iNode = 0; iNode < TNumNodes; ++iNode)
        {
          if(this->GetGeometry()[iNode].FastGetSolutionStepValue(IS_FREE_SURFACE) != 0.0 || this->GetGeometry()[iNode].FastGetSolutionStepValue(TRIPLE_POINT) != 0.0)
          {
          node_indx[k] = iNode;
          k++;
          }
        }
        if(k > 1)
          this->ApplySurfaceTensionContribution(rDampingMatrix, rRightHandSideVector, node_indx, k, rCurrentProcessInfo);
    }
    else
    {
        array_1d<double,4> node_indx;
        node_indx[0] = 0.0;
        node_indx[1] = 0.0;
        node_indx[2] = 0.0;
        node_indx[3] = 0.0;
        int node_indx_wrong = 5;
        for(unsigned int iNode = 0; iNode < TNumNodes; ++iNode)
        {
          if(this->GetGeometry()[iNode].FastGetSolutionStepValue(MEAN_CURVATURE) != 0.0)
        k++;
          if(this->GetGeometry()[iNode].FastGetSolutionStepValue(IS_BOUNDARY) < 0.1)
        node_indx_wrong = iNode;
        }
        if(k > 2 && node_indx_wrong != 5)
        {
          this->GetGeometry()[node_indx_wrong].FastGetSolutionStepValue(MEAN_CURVATURE) = 0.0;
        }
        k = 0;
        for(unsigned int iNode = 0; iNode < TNumNodes; ++iNode)
        {
          if(this->GetGeometry()[iNode].FastGetSolutionStepValue(IS_FREE_SURFACE) > 0.999 || this->GetGeometry()[iNode].FastGetSolutionStepValue(TRIPLE_POINT) != 0.0)
          {
          node_indx[k] = iNode;
          k++;
          }
        }   

// if(k >= 3)
// this->ApplySurfaceTensionContribution3D(rDampingMatrix, rRightHandSideVector, node_indx, k, rCurrentProcessInfo);
    }
    // Viscous stress
    k = 0;
    for(unsigned int iNode = 0; iNode < TNumNodes; ++iNode)
    {
      if(this->GetGeometry()[iNode].FastGetSolutionStepValue(IS_WATER) == 0.0)
      {
        k++;
      }
    }
    if(TDim < 3 && k > 2)
        this->AddViscousStress2D();

        // Now calculate an additional contribution to the residual: r -= rDampingMatrix * (u,p)
        VectorType U = ZeroVector(LocalSize);
        int LocalIndex = 0;

        for (unsigned int iNode = 0; iNode < TNumNodes; ++iNode)
        {
            array_1d< double, 3 > & rVel = this->GetGeometry()[iNode].FastGetSolutionStepValue(VELOCITY);
            for (unsigned int d = 0; d < TDim; ++d) // Velocity Dofs
            {
                U[LocalIndex] = rVel[d];
                ++LocalIndex;
            }
            U[LocalIndex] = this->GetGeometry()[iNode].FastGetSolutionStepValue(PRESSURE); // Pressure Dof
            ++LocalIndex;
        }

        noalias(rRightHandSideVector) -= prod(rDampingMatrix, U);
    }

    void FinalizeNonLinearIteration(ProcessInfo& rCurrentProcessInfo) override
    {
    }

and:

    /// Add the surface tension term to the velocity contribution 
    // ApplySurfaceTensionContribution(rDampingMatrix, rRightHandSideVector, node_indx, rCurrentProcessInfo);
    void ApplySurfaceTensionContribution(MatrixType& rDampingMatrix, VectorType& rRightHandSideVector,
            const array_1d< double, 3 >& node_indx, const int& k, const ProcessInfo& rCurrentProcessInfo)
    {
    const double gamma = rCurrentProcessInfo[SURFTENS_COEFF]; //surface tension coefficient between air and water [N m-1]   

    double dt = rCurrentProcessInfo[DELTA_TIME];

    double theta_s = rCurrentProcessInfo[CONTACT_ANGLE_STATIC];
    double pi = 3.14159265359;
    theta_s = theta_s*pi/180.0;
    double sin_t = sin(theta_s);
    double cos_t = cos(theta_s);

    array_1d<double,2> m;

    //Clearing spurious curvatures:
    for(unsigned int i = 0; i < 3; i++){
        if((this->GetGeometry()[i].FastGetSolutionStepValue(IS_BOUNDARY) == 0.0) || (this->GetGeometry()[i].FastGetSolutionStepValue(IS_FREE_SURFACE) == 0.0))
            this->GetGeometry()[i].FastGetSolutionStepValue(CURVATURE) = 0.0;
    }

    //Flag counter to identify contact element:
    double flag_surf = 0.0;
    flag_surf += this->GetGeometry()[node_indx[0]].FastGetSolutionStepValue(IS_FREE_SURFACE);
    flag_surf += this->GetGeometry()[node_indx[1]].FastGetSolutionStepValue(IS_FREE_SURFACE);
    flag_surf += this->GetGeometry()[node_indx[2]].FastGetSolutionStepValue(IS_FREE_SURFACE);
    double flag_trip = 0.0;
    flag_trip += (this->GetGeometry()[node_indx[0]].FastGetSolutionStepValue(TRIPLE_POINT) != 0.0);
    flag_trip += (this->GetGeometry()[node_indx[1]].FastGetSolutionStepValue(TRIPLE_POINT) != 0.0);
    flag_trip += (this->GetGeometry()[node_indx[2]].FastGetSolutionStepValue(TRIPLE_POINT) != 0.0);
    double flag_struct = 0.0;
    flag_struct += (this->GetGeometry()[node_indx[0]].FastGetSolutionStepValue(IS_STRUCTURE) != 0.0);
    flag_struct += (this->GetGeometry()[node_indx[1]].FastGetSolutionStepValue(IS_STRUCTURE) != 0.0);
    flag_struct += (this->GetGeometry()[node_indx[2]].FastGetSolutionStepValue(IS_STRUCTURE) != 0.0);

    int ii = 5;
    int jj = 6;
    int kk = 7;
    double avg_curv = 0.0;

    //////////////////////////////////////////////////////////////////////////////////////////
    //Set the indexes as follows:
    // node "ii" -> triple point, if the element has one
    // node "jj" -> node with flag IS_FREE_SURFACE
    // node "kk" -> in elements with 3 nodes at the boundary:
    //      - if "ii" is TRIPLE_POINT, "kk" has flag IS_STRUCTURE (besides IS_FREE_SURFACE)
    //      - if there is no TRIPLE_POINT, "kk" is another IS_FREE_SURFACE node
    //////////////////////////////////////////////////////////////////////////////////////////
    if(k < 3) //General element with two nodes at the interface
    {
        //Step to detect triple point. Node with index ii is TRIPLE_POINT, and node with index jj is IS_FREE_SURFACE
        ii = node_indx[0];
        jj = node_indx[1];

        if(flag_trip > 0 && (this->GetGeometry()[node_indx[0]].FastGetSolutionStepValue(TRIPLE_POINT))*1000 == 0.0)
        {
          ii = node_indx[1];
          jj = node_indx[0];        
        }
    }
    else //Element with three nodes at the free surface OR one at free surface, one triple point and one at the structure
    {
      if(flag_trip == 0.0) //three nodes at interface
      {
        if(flag_struct == 0.0)
        {
          for(int i = 0; i < 3; i++)
          {
        avg_curv += 0.333333333333*(this->GetGeometry()[i].FastGetSolutionStepValue(CURVATURE));
          }
          if(this->GetGeometry()[node_indx[0]].FastGetSolutionStepValue(CURVATURE) > avg_curv)
          {
        ii = node_indx[1];
        jj = node_indx[2];
        kk = node_indx[0];
          }
          if(this->GetGeometry()[node_indx[1]].FastGetSolutionStepValue(CURVATURE) > avg_curv)
          {
        ii = node_indx[0];
        jj = node_indx[2];
        kk = node_indx[1];
          }
          if(this->GetGeometry()[node_indx[2]].FastGetSolutionStepValue(CURVATURE) > avg_curv)
          {
        ii = node_indx[0];
        jj = node_indx[1];
        kk = node_indx[2];
          }
        }
        else //first time step, TRIPLE_POINT has not been set yet, but the element has a TRIPLE_POINT
        {
          if(this->GetGeometry()[node_indx[0]].FastGetSolutionStepValue(IS_FREE_SURFACE) != 0.0)
          {
        jj = node_indx[0];
        if(this->GetGeometry()[node_indx[1]].FastGetSolutionStepValue(CURVATURE) > 1.0)
        {
          ii = node_indx[1]; //TRIPLE_POINT
          kk = node_indx[2]; //IS_STRUCTURE
        }
        else
        {
          ii = node_indx[2]; //TRIPLE_POINT
          kk = node_indx[1]; //IS_STRUCTURE
        }
          }
          if(this->GetGeometry()[node_indx[1]].FastGetSolutionStepValue(IS_FREE_SURFACE) != 0.0)
          {
        jj = node_indx[1];
        if(this->GetGeometry()[node_indx[0]].FastGetSolutionStepValue(CURVATURE) > 1.0)
        {
          ii = node_indx[0]; //TRIPLE_POINT
          kk = node_indx[2]; //IS_STRUCTURE
        }
        else
        {
          ii = node_indx[2]; //TRIPLE_POINT
          kk = node_indx[0]; //IS_STRUCTURE
        }
          }
          if(this->GetGeometry()[node_indx[2]].FastGetSolutionStepValue(IS_FREE_SURFACE) != 0.0)
          {
        jj = node_indx[2];
        if(this->GetGeometry()[node_indx[0]].FastGetSolutionStepValue(CURVATURE) > 1.0)
        {
          ii = node_indx[0]; //TRIPLE_POINT
          kk = node_indx[1]; //IS_STRUCTURE
        }
        else
        {
          ii = node_indx[1]; //TRIPLE_POINT
          kk = node_indx[0]; //IS_STRUCTURE
        }
          }
        }
      }
      else //Element has one node with TRIPLE_POINT
      {
        if(this->GetGeometry()[node_indx[0]].FastGetSolutionStepValue(TRIPLE_POINT) != 0.0)
        {
          ii = node_indx[0];
          if(this->GetGeometry()[node_indx[1]].FastGetSolutionStepValue(IS_FREE_SURFACE) != 0.0)
          {
        jj = node_indx[1];
        kk = node_indx[2]; //IS_STRUCTURE
          }
          else
          {
        jj = node_indx[2];
        kk = node_indx[1]; //IS_STRUCTURE
          }
        }
        if(this->GetGeometry()[node_indx[1]].FastGetSolutionStepValue(TRIPLE_POINT) != 0.0)
        {
          ii = node_indx[1];
          if(this->GetGeometry()[node_indx[0]].FastGetSolutionStepValue(IS_FREE_SURFACE) != 0.0)
          {
        jj = node_indx[0];
        kk = node_indx[2]; //IS_STRUCTURE
          }
          else
          {
        jj = node_indx[2];
        kk = node_indx[0]; //IS_STRUCTURE
          }
        }
        if(this->GetGeometry()[node_indx[2]].FastGetSolutionStepValue(TRIPLE_POINT) != 0.0)
        {
          ii = node_indx[2];
          if(this->GetGeometry()[node_indx[0]].FastGetSolutionStepValue(IS_FREE_SURFACE) != 0.0)
          {
        jj = node_indx[0];
        kk = node_indx[1];
          }
          else
          {
        jj = node_indx[1];
        kk = node_indx[0];
          }
        }       
      }
    }

    array_1d<double,2> An1;
    array_1d<double,2> An2;
    An1[0] = this->GetGeometry()[ii].FastGetSolutionStepValue(NORMAL_X);
    An1[1] = this->GetGeometry()[ii].FastGetSolutionStepValue(NORMAL_Y);
    double norm1 = sqrt(An1[0]*An1[0] + An1[1]*An1[1]);
    An1 /= norm1;
    An2[0] = this->GetGeometry()[jj].FastGetSolutionStepValue(NORMAL_X);
    An2[1] = this->GetGeometry()[jj].FastGetSolutionStepValue(NORMAL_Y);
    double norm2 = sqrt(An2[0]*An2[0] + An2[1]*An2[1]);
    An2 /= norm2;

    double x1 = this->GetGeometry()[ii].X();
    double y1 = this->GetGeometry()[ii].Y();
    double x2 = this->GetGeometry()[jj].X();
    double y2 = this->GetGeometry()[jj].Y();
    //vector x12 is the vector pointing from node 1 [ii] to node 2 [jj]
    array_1d<double,2> x12;
    x12[0] = x2 - x1;
    x12[1] = y2 - y1;
    double dl = sqrt(x12[0]*x12[0] + x12[1]*x12[1]);
    x12 /= dl;

    double curv1 = this->GetGeometry()[ii].FastGetSolutionStepValue(CURVATURE);
    double curv2 = this->GetGeometry()[jj].FastGetSolutionStepValue(CURVATURE);

    array_1d<double,2> norm_eq;

    //elemental variables for the laplacian
    boost::numeric::ublas::bounded_matrix<double,3,3> msWorkMatrix = ZeroMatrix(3,3);
    boost::numeric::ublas::bounded_matrix<double,3,2> msDN_Dx = ZeroMatrix(3,2);
    array_1d<double,3> msN = ZeroVector(3); //dimension = number of nodes
    double Area;
    GeometryUtils::CalculateGeometryData(this->GetGeometry(),msDN_Dx,msN,Area);
    // 3 by 3 matrix that stores the laplacian
    msWorkMatrix = 0.5 * gamma * dl * prod(msDN_Dx,trans(msDN_Dx)) * dt;
    //CSS:
//  boost::numeric::ublas::bounded_matrix<double,2,2> nmat_ii = ZeroMatrix(2,2);
//  boost::numeric::ublas::bounded_matrix<double,2,2> nmat_jj = ZeroMatrix(2,2);
//  boost::numeric::ublas::bounded_matrix<double,3,2> msDN_Ds = ZeroMatrix(3,2);    
//  nmat_ii(0,0) = (1.0 - An1[0]*An1[0]);
//  nmat_ii(1,1) = (1.0 - An1[1]*An1[1]);
//  nmat_ii(1,0) = -An1[0]*An1[1];
//  nmat_ii(0,1) = -An1[0]*An1[1];
//  nmat_jj(0,0) = (1.0 - An2[0]*An2[0]);
//  nmat_jj(1,1) = (1.0 - An2[1]*An2[1]);
//  nmat_jj(1,0) = -An2[0]*An2[1];
//  nmat_jj(0,1) = -An2[0]*An2[1];
//  msDN_Ds(ii,0) = nmat_ii(0,0)*msDN_Dx(ii,0) + nmat_ii(0,1)*msDN_Dx(ii,1);
//  msDN_Ds(ii,1) = nmat_ii(1,0)*msDN_Dx(ii,0) + nmat_ii(1,1)*msDN_Dx(ii,1);
//  msDN_Ds(jj,0) = nmat_jj(0,0)*msDN_Dx(jj,0) + nmat_jj(0,1)*msDN_Dx(jj,1);
//  msDN_Ds(jj,1) = nmat_jj(1,0)*msDN_Dx(jj,0) + nmat_jj(1,1)*msDN_Dx(jj,1);    
    //CSSv2:
//  msDN_Ds(ii,0) = msDN_Dx(ii,0) - An1[0]*(An1[0]*msDN_Dx(ii,0) + An1[1]*msDN_Dx(ii,1));
//  msDN_Ds(ii,1) = msDN_Dx(ii,1) - An1[1]*(An1[0]*msDN_Dx(ii,0) + An1[1]*msDN_Dx(ii,1));
//  msDN_Ds(jj,0) = msDN_Dx(jj,0) - An2[0]*(An2[0]*msDN_Dx(jj,0) + An2[1]*msDN_Dx(jj,1));
//  msDN_Ds(jj,1) = msDN_Dx(jj,1) - An2[1]*(An2[0]*msDN_Dx(jj,0) + An2[1]*msDN_Dx(jj,1));   

//  msWorkMatrix = 0.5 * gamma * dl * prod(msDN_Ds,trans(msDN_Ds)) * dt;

    if(flag_trip == 0)
    {
      if(this->GetGeometry()[ii].FastGetSolutionStepValue(IS_STRUCTURE) == 0.0)
      {
        //CSF:
        rRightHandSideVector[3*ii]   -= 0.5*gamma*curv1*An1[0]*dl;
        rRightHandSideVector[3*ii+1] -= 0.5*gamma*curv1*An1[1]*dl;
        //CSS:
//      rRightHandSideVector[3*ii]   -= 0.5*gamma*dl*(nmat_ii(0,0)*msDN_Ds(ii,0) + nmat_ii(0,1)*msDN_Ds(ii,1));
//      rRightHandSideVector[3*ii+1] -= 0.5*gamma*dl*(nmat_ii(1,0)*msDN_Ds(ii,0) + nmat_ii(1,1)*msDN_Ds(ii,1)); 
        //Output force:
        this->GetGeometry()[ii].FastGetSolutionStepValue(FORCE_X) = -gamma*curv1*An1[0]*dl;
        this->GetGeometry()[ii].FastGetSolutionStepValue(FORCE_Y) = -gamma*curv1*An1[1]*dl;     
      }
    }
    else
    {
        if (this->GetGeometry()[ii].FastGetSolutionStepValue(NORMAL_X) > 0.0)
        {
        m[0] = -cos_t;
        m[1] = sin_t;
        }
        else
        {
        m[0] = cos_t;
        m[1] = sin_t;
        }
        if(k < 3)
        {
//        if (x1 != this->GetGeometry()[ii].FastGetSolutionStepValue(TRIPLE_POINT))
          if (this->GetGeometry()[ii].FastGetSolutionStepValue(TRIPLE_POINT) != 0.0)
          {
          double coef = 1.0;
          //MODEL 1 - contact angle condition with vector tangent to the surface:
          rRightHandSideVector[3*ii]    -= coef*gamma*(m[0]-x12[0]);
          rRightHandSideVector[3*ii+1]  -= coef*gamma*(m[1]-x12[1]);    
          this->GetGeometry()[ii].FastGetSolutionStepValue(FORCE_X) = -coef*gamma*(m[0] - x12[0]);
          this->GetGeometry()[ii].FastGetSolutionStepValue(FORCE_Y) = -coef*gamma*(m[1] - x12[1]);            

          //Wall friction force
//        double alfa = 1;
//        rRightHandSideVector[3*ii]    -= alfa*(this->GetGeometry()[ii].FastGetSolutionStepValue(VELOCITY_X));

          // Apply this if surface divergence theorem has been applied
          /*
          rRightHandSideVector[3*ii]    += gamma*(m[0]+x12[0]);
          rRightHandSideVector[3*ii+1]  += gamma*(m[1]+x12[1]);    
          this->GetGeometry()[ii].FastGetSolutionStepValue(FORCE_X) = +gamma*(m[0] + x12[0]);
          this->GetGeometry()[ii].FastGetSolutionStepValue(FORCE_Y) = +gamma*(m[1] + x12[1]);
          */

//        double dl_ii = this->GetGeometry()[ii].FastGetSolutionStepValue(NODAL_LENGTH);
//        boost::numeric::ublas::bounded_matrix<double,2,4> Dx12_Dx = ZeroMatrix(2,4);
//    
//        Dx12_Dx(0,0) = -1.0;
//        Dx12_Dx(1,1) = -1.0;
//        Dx12_Dx(2,0) = 1.0;
//        Dx12_Dx(3,1) = 1.0;
//    
//        boost::numeric::ublas::bounded_matrix<double,2,2> msprod1 = ZeroMatrix(2,2);
//        msprod1(0,0) = msN[ii]*Dx12_Dx(2*ii,0);
//        msprod1(1,1) = msN[ii]*Dx12_Dx(2*ii+1,1);
//    
//        boost::numeric::ublas::bounded_matrix<double,2,2> msprod2 = ZeroMatrix(2,2);
//        msprod2(0,0) = x12[0]*msDN_Dx(ii,0);
//        msprod2(0,1) = x12[1]*msDN_Dx(ii,0);
//        msprod2(1,0) = x12[0]*msDN_Dx(ii,1);
//        msprod2(1,1) = x12[1]*msDN_Dx(ii,1);
//     
//        boost::numeric::ublas::bounded_matrix<double,2,2> msprod = ZeroMatrix(2,2);
//        msprod(0,0) = 0.5*coef*gamma*dl*(msprod1(0,0)+msprod2(0,0))/dt;
//        msprod(1,0) = 0.5*coef*gamma*dl*(msprod1(1,0)+msprod2(1,0))/dt;
//        msprod(0,1) = 0.5*coef*gamma*dl*(msprod1(0,1)+msprod2(0,1))/dt;
//        msprod(1,1) = 0.5*coef*gamma*dl*(msprod1(1,1)+msprod2(1,1))/dt;
//    
//        rDampingMatrix(3*ii,3*ii) -= msprod(0,0);
//        rDampingMatrix(3*ii,3*ii+1) -= msprod(0,1);
//        rDampingMatrix(3*ii+1,3*ii) -= msprod(1,0);
//        rDampingMatrix(3*ii+1,3*ii+1) -= msprod(1,1);

          // MODEL 3
//        rDampingMatrix(3*ii,3*ii) += msWorkMatrix(ii,ii);
//        rDampingMatrix(3*ii+1,3*ii+1) += msWorkMatrix(ii,ii);

//        rDampingMatrix(3*ii,3*jj) += msWorkMatrix(ii,jj);
//        rDampingMatrix(3*ii+1,3*jj+1) += msWorkMatrix(ii,jj);

//        rDampingMatrix(3*jj,3*ii) += msWorkMatrix(jj,ii);
//        rDampingMatrix(3*jj+1,3*ii+1) += msWorkMatrix(jj,ii);

//        rDampingMatrix(3*jj,3*jj) += msWorkMatrix(jj,jj);
//        rDampingMatrix(3*jj+1,3*jj+1) += msWorkMatrix(jj,jj);       

          }
          else
          {
          this->GetGeometry()[ii].FastGetSolutionStepValue(VELOCITY_X) = 0.0;
          }
        }
    }

    //CSF:
    rRightHandSideVector[3*jj]  -= 0.5*gamma*curv2*An2[0]*dl;
    rRightHandSideVector[3*jj+1]    -= 0.5*gamma*curv2*An2[1]*dl;
    //CSS:
//  rRightHandSideVector[3*jj]   -= 0.5*gamma*dl*(nmat_jj(0,0)*msDN_Ds(jj,0) + nmat_jj(0,1)*msDN_Ds(jj,1));
//  rRightHandSideVector[3*jj+1] -= 0.5*gamma*dl*(nmat_jj(1,0)*msDN_Ds(jj,0) + nmat_jj(1,1)*msDN_Ds(jj,1)); 
    //Output force:
    this->GetGeometry()[jj].FastGetSolutionStepValue(FORCE_X) = -gamma*curv2*An2[0]*dl;
    this->GetGeometry()[jj].FastGetSolutionStepValue(FORCE_Y) = -gamma*curv2*An2[1]*dl;

    rDampingMatrix(3*ii,3*ii) += msWorkMatrix(ii,ii);
    rDampingMatrix(3*ii+1,3*ii+1) += msWorkMatrix(ii,ii);

    rDampingMatrix(3*ii,3*jj) += msWorkMatrix(ii,jj);
    rDampingMatrix(3*ii+1,3*jj+1) += msWorkMatrix(ii,jj);
//     
    rDampingMatrix(3*jj,3*ii) += msWorkMatrix(jj,ii);
    rDampingMatrix(3*jj+1,3*ii+1) += msWorkMatrix(jj,ii);

    rDampingMatrix(3*jj,3*jj) += msWorkMatrix(jj,jj);
    rDampingMatrix(3*jj+1,3*jj+1) += msWorkMatrix(jj,jj);

    if(k > 2 && this->GetGeometry()[kk].FastGetSolutionStepValue(IS_STRUCTURE) == 0.0)
    {      
        array_1d<double,2> An3;
        An3[0] = this->GetGeometry()[kk].FastGetSolutionStepValue(NORMAL_X);
        An3[1] = this->GetGeometry()[kk].FastGetSolutionStepValue(NORMAL_Y);
        double norm3 = sqrt(An3[0]*An3[0] + An3[1]*An3[1]);
        An3 /= norm3;
        double curv3 = this->GetGeometry()[kk].FastGetSolutionStepValue(CURVATURE);

        double x3 = this->GetGeometry()[kk].X();
        double y3 = this->GetGeometry()[kk].Y();
        array_1d<double,2> x31;
        array_1d<double,2> x32;
        x31[0] = x1 - x3;
        x31[1] = y1 - y3;
        double dl1 = sqrt(x31[0]*x31[0] + x31[1]*x31[1]);
        x32[0] = x2 - x3;
        x32[1] = y2 - y3;
        double dl2 = sqrt(x32[0]*x32[0] + x32[1]*x32[1]);
        dl = dl1 + dl2;

        //CSF:
        rRightHandSideVector[3*kk]      -= gamma*curv3*An3[0]*dl;
        rRightHandSideVector[3*kk+1]    -= gamma*curv3*An3[1]*dl;
        msWorkMatrix = 1.0 * gamma * dl * prod(msDN_Dx,trans(msDN_Dx)) * dt;

        //CSS:
//      boost::numeric::ublas::bounded_matrix<double,2,2> nmat_kk = ZeroMatrix(2,2);    
//      nmat_kk(0,0) = (1.0 - An3[0]*An3[0]);
//      nmat_kk(1,1) = (1.0 - An3[1]*An3[1]);
//      nmat_kk(1,0) = -An3[0]*An3[1];
//      nmat_kk(0,1) = -An3[0]*An3[1];
//      msDN_Ds(kk,0) = nmat_kk(0,0)*msDN_Dx(kk,0) + nmat_kk(0,1)*msDN_Dx(kk,1);
//      msDN_Ds(kk,1) = nmat_kk(1,0)*msDN_Dx(kk,0) + nmat_kk(1,1)*msDN_Dx(kk,1);            
//      this->GetGeometry()[kk].FastGetSolutionStepValue(FORCE_X) = -gamma*curv3*An3[0]*dl;
//      this->GetGeometry()[kk].FastGetSolutionStepValue(FORCE_Y) = -gamma*curv3*An3[1]*dl;
//      dl = this->GetGeometry()[kk].FastGetSolutionStepValue(NODAL_H);
//      rRightHandSideVector[3*kk]   += 0.5*gamma*dl*(nmat_kk(0,0)*msDN_Ds(kk,0) + nmat_kk(0,1)*msDN_Ds(kk,1));
//      rRightHandSideVector[3*kk+1] += 0.5*gamma*dl*(nmat_kk(1,0)*msDN_Ds(kk,0) + nmat_kk(1,1)*msDN_Ds(kk,1));
//      
//      
//      this->GetGeometry()[kk].FastGetSolutionStepValue(FORCE_X) = -gamma*curv3*An3[0]*dl;
//      this->GetGeometry()[kk].FastGetSolutionStepValue(FORCE_Y) = -gamma*curv3*An3[1]*dl;     
//      
// //       msWorkMatrix = 0.0 * 0.5 * gamma * dl * prod(msDN_Ds,trans(msDN_Ds)) * dt;
//      
        rDampingMatrix(3*kk,3*kk) += msWorkMatrix(kk,kk);
        rDampingMatrix(3*kk+1,3*kk+1) += msWorkMatrix(kk,kk);

//      rDampingMatrix(3*ii,3*kk) += msWorkMatrix(ii,kk);
//      rDampingMatrix(3*ii+1,3*kk+1) += msWorkMatrix(ii,kk);
//     
//      rDampingMatrix(3*kk,3*ii) += msWorkMatrix(kk,ii);
//      rDampingMatrix(3*kk+1,3*ii+1) += msWorkMatrix(kk,ii);
//      
//      rDampingMatrix(3*jj,3*kk) += msWorkMatrix(jj,kk);
//      rDampingMatrix(3*jj+1,3*kk+1) += msWorkMatrix(jj,kk);
//     
//      rDampingMatrix(3*kk,3*jj) += msWorkMatrix(kk,jj);
//      rDampingMatrix(3*kk+1,3*jj+1) += msWorkMatrix(kk,jj);

    }

    //Clean spurious force values
    for(unsigned int i = 0; i < 3; i++)
    {
      if(this->GetGeometry()[i].FastGetSolutionStepValue(IS_BOUNDARY) == 0.0)
      {
        this->GetGeometry()[i].FastGetSolutionStepValue(FORCE_X) = 0.0;
        this->GetGeometry()[i].FastGetSolutionStepValue(FORCE_Y) = 0.0;
        this->GetGeometry()[i].FastGetSolutionStepValue(FORCE_Z) = 0.0;
      }
    }
    }

Fifth step was concerning ”kratos/applications/ALEapplication/custom strategies/strategies/laplacian meshmoving strategy.h”: to ensure commenting all lines that find like the following:

CalculateMeshVelocities();

Sixth step adding the following lines in ”kratos/applications/FluidDynamicsApplication/custom strategies/strategies/ residualbased predictorcorrector velocity bossak scheme turbulent.h” as:

if((itNode)− > FastGetSolutionStepValue(IS LAGRANGIAN INLET) == 0.0)
{
noalias(itNode− >FastGetSolutionStepValue(MESH VELOCITY)) =
itNode− > FastGetSolutionStepValue(VELOCITY);
UpdateDisplacement(CurrentDisplacement, OldDisplacement, OldVelocity, OldAcceleration, CurrentAccelera-
tion);
}
else
{
itNode − > FastGetSolutionStepValue(MESH VELOCITY X) = 0.0;
itNode− > FastGetSolutionStepValue(MESH VELOCITY Y) = 0.0;
itNode− > FastGetSolutionStepValue(DISPLACEMENT X) = 0.0;
itNode− > FastGetSolutionStepValue(DISPLACEMENT Y) = 0.0;
}

Last step was adding the ”calculate curvature.h” file, which create and compute the surface curvature; and then to 2-D droplet related codes.pdf place it in the ”kratos/applications/ULFapplication/custom processes” directory. (kindly please you might have a look at the attached ”calculate curvature.h” file)

Thanks and best regards,

ProjectParameters-py.txt problem_settings-py.txt Lap_young_lagr-py.txt residualbased_predictorcorrector_velocity_bossak_scheme_turbulent-h.txt calculate_curvature-h.txt mesh_solve-py.txt laplacian_meshmoving_strategy-h.txt vms_monolithic_solver-py.txt vms-h.txt add_containers_to_python-cpp.txt variable-cpp.txt variable-h.txt

pooyan-dadvand commented 6 years ago

@elafnm I think that all these implementations are very inline with @KratosMultiphysics/ulf application and I would suggest you to port it to UFL and I'm sure that @playpaolo would guide you about the structure of this application.

elafnm commented 6 years ago

thanks,

pooyan-dadvand commented 6 years ago

Dear @elafnm just as a comment, a "better" way to do this is to create a branch from master using git and then apply for a pull request in GitHub (same as issue) and all your changes respect to the master will be highlighted for review!

playpaolo commented 6 years ago

Dear @elafnm , here are the steps I suggest you to follow:

0) Create your own branch in GitHub calling it something like: "Ulf with Surface Tension" and do all the develoments inside it. Do all the droplet dynamics-related implementations inside of ULFApplication 1) Start with the fully Lagrangian formulation first (to begin with, forget about the Eulerian fluid) 2) Inside the ULFApplication create an elemnt called SurfaceTensionElement2D (and later also SurfaceTensionElement3D) that will be a clean version of elements developed by Alex. 3) Add all the necessary variables (related to Surface Tension) to ULFApplication 4) Add inside the ULFApplication/custom_processes the rest of the processes that Alex implemented: assign_surface_tension_conditions.h, calculate_adhesion_force.h, calculate_contact_angle.h, calcilate_curvature.h, find_tripple_point.h Note that after adding them there, you also have to modify accordingly the add_processes_to_python file inside ULFApplication/custom_python (you can see how the previous processes were added and follow the same structure when adding these new ones) 5) Create a python solver, called monolithic_surface_tension_lagrangian_solver.py inside ULFApplication/python_scripts . It should be a clean version of Alex's monolithic solver. 6) Make sure that the application compiles after your modification (do not forget to switch it "ON" inside the compilation list : configure.sh file of kratos/cmake_build)

By the way, here is the location of Kratos How To that surely will be helpful https://github.com/KratosMultiphysics/Kratos/wiki

pooyan-dadvand commented 6 years ago

Edit: the new wiki which is more updated!

elafnm commented 6 years ago

Thank you all dears for your support, sure I will follow your recommendations and soon will create a branch.

With my best regards,

elafnm commented 6 years ago

@playpaolo

Greetings dear Dr. Pavel and very good day to you,

Reference to our earlier fruitful discussion about adding the droplet model generated by Dr.Alex into the latest version of Kratos, so far,we did the required modifications as advised, noting please that we followed similar templates of VMS in FluidDynamic applications as the ASGS method is used in our case. Also, for now, we added the "surface_tension.h & surface_tension.cpp" element as "SurfaceTension", and added the "calculate_curvature.h" file. In addition, for the solvers, we added two solvers "SurfaceTension_monolithic_solver inside ULF application" and "mesh_solver.py inside ALE applications". We though to add the rest of the code files once we start successfully running what we added so far. Accordingly, we will start working on further enhancing/cleaning the code and solvers.

For now, the code is compiled without errors; however, errors start appearing when running the basic 2D-Lagrangian example such that:

  1. the "mesh_solver.py" ,that we added in the "ALE Applications/python_script" folder, is showing a conflict with the existing configuration. Such that,

elaf@elaf-Lenovo-G40-80:~/Kratos/applications/ULFapplication/droplet_example$ python3 Lap_young_lagr.py
 |  /           |             
 ' /   __| _` | __|  _ \   __|
 . \  |   (   | |   (   |\__ \ 
_|\_\_|  \__,_|\__|\___/ ____/
           Multi-Physics 5.1.0-a238a61
Importing    KratosIncompressibleFluidApplication
Initializing KratosIncompressibleFluidApplication... 
Initializing KratosIncompressibleFluidApplication...Register completed 
Initializing KratosIncompressibleFluidApplication...variables succesfully registered 
Initializing KratosIncompressibleFluidApplication...elements succesfully registered 
Importing    KratosFluidDynamicsApplication
Initializing KratosFluidDynamicsApplication... 
Importing    KratosExternalSolversApplication
Initializing KratosExternalSolversApplication... 
Importing    KratosMeshingApplication
Initializing Kratos MeshingApplication... 
Importing    KratosULFApplication
Initializing Kratos ULFApplication... 
Importing    KratosStructuralApplication
Initializing KratosStructuralApplication... 
Importing    KratosALEApplication
KRATOS    ___   __   ____             
         / _ | / /  / __/             
        / __ |/ /__/ _/               
       /_/ |_/____/___/  application  
Initializing KratosALEApplication...  
variables for the SurfaceTension monolithic solver added correctly
  [Reading Nodes    : 9 nodes read]
  [Reading Elements : 6 elements read] [Type: SurfaceTension2D]
  [Total Lines Read : 97]
dofs for the surface tension monolithic solver added correctly
variables for the mesh solver added correctly
Construction monolithic solver finished
after reading all the model contains:
-LagrangianPart- model part
    Buffer Size : 1
    Number of tables : 0
    Number of sub model parts : 0
    Current solution step index : 0

    Mesh 0 : 
        Number of Nodes      : 9
        Number of Properties : 1
        Number of Elements   : 6
        Number of Conditions : 0

Traceback (most recent call last):
  File "Lap_young_lagr.py", line 164, in <module>
    mesh_solver.Initialize()
  File "/home/elaf/Kratos/applications/ALEapplication/python_scripts/mesh_solver.py", line 44, in Initialize
    self.solver = LaplacianMeshMovingStrategy(self.model_part, self.linear_solver, self.domain_size, self.time_order, self.reform_dof_at_every_step)
Boost.Python.ArgumentError: Python argument types in
    LaplacianMeshMovingStrategy.__init__(LaplacianMeshMovingStrategy, ModelPart, CGSolver, int, int, bool)
did not match C++ signature:
    __init__(_object*, Kratos::ModelPart {lvalue}, boost::shared_ptr<Kratos::LinearSolver<Kratos::UblasSpace<double, boost::numeric::ublas::compressed_matrix<double, boost::numeric::ublas::basic_row_major<unsigned long, long>, 0ul, boost::numeric::ublas::unbounded_array<unsigned long, std::allocator<unsigned long> >, boost::numeric::ublas::unbounded_array<double, std::allocator<double> > >, boost::numeric::ublas::vector<double, boost::numeric::ublas::unbounded_array<double, std::allocator<double> > > >, Kratos::UblasSpace<double, boost::numeric::ublas::matrix<double, boost::numeric::ublas::basic_row_major<unsigned long, long>, boost::numeric::ublas::unbounded_array<double, std::allocator<double> > >, boost::numeric::ublas::vector<double, boost::numeric::ublas::unbounded_array<double, std::allocator<double> > > >, Kratos::Reorderer<Kratos::UblasSpace<double, boost::numeric::ublas::compressed_matrix<double, boost::numeric::ublas::basic_row_major<unsigned long, long>, 0ul, boost::numeric::ublas::unbounded_array<unsigned long, std::allocator<unsigned long> >, boost::numeric::ublas::unbounded_array<double, std::allocator<double> > >, boost::numeric::ublas::vector<double, boost::numeric::ublas::unbounded_array<double, std::allocator<double> > > >, Kratos::UblasSpace<double, boost::numeric::ublas::matrix<double, boost::numeric::ublas::basic_row_major<unsigned long, long>, boost::numeric::ublas::unbounded_array<double, std::allocator<double> > >, boost::numeric::ublas::vector<double, boost::numeric::ublas::unbounded_array<double, std::allocator<double> > > > > > >, int, bool)
  1. Once we get this issue, we removed "self.domain_size", from the same file "mesh_solver.py" as:
def Initialize(self):
        (self.neighbour_search).Execute()

        self.solver = LaplacianMeshMovingStrategy(self.model_part, self.linear_solver, self.time_order, self.reform_dof_at_every_step)
        (self.solver).SetEchoLevel(0)

Then, we received an error such that:

 |  /           |             
 ' /   __| _` | __|  _ \   __|
 . \  |   (   | |   (   |\__ \ 
_|\_\_|  \__,_|\__|\___/ ____/
           Multi-Physics 5.1.0-fe30e8a
Importing    KratosIncompressibleFluidApplication
Initializing KratosIncompressibleFluidApplication... 
Initializing KratosIncompressibleFluidApplication...Register completed 
Initializing KratosIncompressibleFluidApplication...variables succesfully registered 
Initializing KratosIncompressibleFluidApplication...elements succesfully registered 
Importing    KratosFluidDynamicsApplication
Initializing KratosFluidDynamicsApplication... 
Importing    KratosExternalSolversApplication
Initializing KratosExternalSolversApplication... 
Importing    KratosMeshingApplication
Initializing Kratos MeshingApplication... 
Importing    KratosULFApplication
Initializing Kratos ULFApplication... 
Importing    KratosStructuralApplication
Initializing KratosStructuralApplication... 
Importing    KratosALEApplication
KRATOS    ___   __   ____             
         / _ | / /  / __/             
        / __ |/ /__/ _/               
       /_/ |_/____/___/  application  
Initializing KratosALEApplication...  
variables for the SurfaceTension monolithic solver added correctly
  [Reading Nodes    : 9 nodes read]
  [Reading Elements : 6 elements read] [Type: SurfaceTension2D]
  [Total Lines Read : 97]
dofs for the surface tension monolithic solver added correctly
variables for the mesh solver added correctly
Construction monolithic solver finished
after reading all the model contains:
-LagrangianPart- model part
    Buffer Size : 1
    Number of tables : 0
    Number of sub model parts : 0
    Current solution step index : 0

    Mesh 0 : 
        Number of Nodes      : 9
        Number of Properties : 1
        Number of Elements   : 6
        Number of Conditions : 0

finished moving the mesh
mesh solver created
lagrangian solver created
LINEAR SOLVER IS ------------------------------------------------------> MixedUP
STEP =  1
TIME =  0.1
LINEAR SOLVER IS ------------------------------------------------------> MixedUP
STEP =  2
TIME =  0.2
LINEAR SOLVER IS ------------------------------------------------------> MixedUP
STEP =  3
TIME =  0.30000000000000004
Calculating divergence-free initial condition
ATTENTION! setting the RHS to zero!
Finished divergence clearance
Setting up the dofs
setup_dofs_time : 6.7059e-05
0: setup_system_time : 3.1578e-05
Setting up the dofs
setup_dofs_time : 8.2719e-05
0: setup_system_time : 2.986e-06

CurrentTime = 0.3
0: system_matrix_resize_time : 9.9948e-05
end of prediction
 MESH MOVED 
build time: 4.8521e-05
ATTENTION! setting the RHS to zero!
SuperLU solver finished.

system solve time: 0.000133488
Solution obtained = [24](0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)
RHS  = [24](0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)
 MESH MOVED 
CONVERGENCE CHECK:
 VELOC.: ratio = 0; exp.ratio = 0.0001 abs = 0 exp.abs = 1e-06
 PRESS.: ratio = 0; exp.ratio = 0.0001 abs = 0 exp.abs = 1e-06
*** CONVERGENCE IS ACHIEVED ***
ResidualBasedBlockBuilderAndSolver Clear Function called
Newton Raphson strategy Clear function used
"Trigen PFEM Refining Mesher" : Trigen PFEM Refining Mesher
"Number of nodes after erasing" : Number of nodes after erasing
ThisModelPart.Nodes().size() : 0
Segmentation fault (core dumped)

Finally, we tried also to add/modify the "trigen_pfem_refine.h" and also we tried to use (TO_ERASE,true) instead of (ERASE_FLAG)=1, but could not success.

could you please support and guide us in resolving this issue,

One more point please, for the PFEM application, do you think that we need to use it later; and in case if we need to use it, which version you recommend us to use (as we find more than one version).

for your kind and further reference, here is the link for the created branch:

https://github.com/KratosMultiphysics/Kratos/tree/elaf/ULF_surface_tension

Thanks and best regards,

playpaolo commented 6 years ago

Good morning!

your last error (which is a memory error) occurs because your model at thus has no nodes (ThisModelPart.Nodes().size() : 0). This must have happened because your mesher erased all nodes. You have to find the reasons why. Some possible reasons: 1) NODAL_H (element size) is not initialized or not computed correctly. 2) You do not have IS_FLUID flag set to 1 in your fluid domain 3) Your solver diverged and nodes moved so much that they are out of the considered bounding box and thus are erased.

Best, Pavel

elafnm commented 6 years ago

@playpaolo

Greetings dear and very good day to you,

thank you for your valuable recommendations, it is helping me understanding Kratos more.

I doubled checked with the previous version that Dr. Alex was working on, and found the followings:

  1. "NODAL_H (element size) is not initialized or not computed correctly": no changes has been introduced to the code regarding NODAL_H.

  2. "You do not have IS_FLUID flag set to 1 in your fluid domain": "IS_FLUID flag is set to be 1, also as been done by Dr. Alex earlier, so no change as well from the previous code"

  3. "Your solver diverged and nodes moved so much that they are out of the considered bounding box and thus are erased": we think here is the issue, noting that the "mesh_solver.py" that was inside ALE application of the previous version of Kratos is not there any more, and where we need your further support please. which solver we need to use, and could you please help us by guiding us the way it shoud be initialized. I tried to work with "mesh_solver_laplacian.py" inside the ALE application but I found some difficulties and hence it did not work with me.

kindly please note that:

  1. we added the "mesh_solver" as it is but remove the initialization of the "self.domain_size" as explained earlier.

  2. I used (TO_ERASE,true) instead of (ERASE_FLAG) = 1 inside calculate curvature, and actually I dont know if this will make a difference, but I just added in case. Though, (ERASE_FLAG)=1 was not used in our basic example.

  3. we are not sure if need to use PFEM application in our case, I tried to enable PFEM2 and compile it; it compile fine but it did not change the result.

The good thing that we start receiving results after working on the solver, but still we have the same error as:

elaf@elaf-Lenovo-G40-80:~/Kratos/applications/ULFapplication/droplet_example$ python3 Lap_young_lagr.py 
 |  /           |             
 ' /   __| _` | __|  _ \   __|
 . \  |   (   | |   (   |\__ \ 
_|\_\_|  \__,_|\__|\___/ ____/
           Multi-Physics 5.1.0-00cb894
Importing    KratosIncompressibleFluidApplication
Initializing KratosIncompressibleFluidApplication... 
Initializing KratosIncompressibleFluidApplication...Register completed 
Initializing KratosIncompressibleFluidApplication...variables succesfully registered 
Initializing KratosIncompressibleFluidApplication...elements succesfully registered 
Importing    KratosFluidDynamicsApplication
Initializing KratosFluidDynamicsApplication... 
Importing    KratosExternalSolversApplication
Initializing KratosExternalSolversApplication... 
Importing    KratosMeshingApplication
Initializing Kratos MeshingApplication... 
Importing    KratosULFApplication
Initializing Kratos ULFApplication... 
Importing    KratosStructuralApplication
Initializing KratosStructuralApplication... 
Importing    KratosALEApplication
KRATOS    ___   __   ____             
         / _ | / /  / __/             
        / __ |/ /__/ _/               
       /_/ |_/____/___/  application  
Initializing KratosALEApplication...  
variables for the SurfaceTension monolithic solver added correctly
  [Reading Nodes    : 9 nodes read]
  [Reading Elements : 6 elements read] [Type: SurfaceTension2D]
  [Total Lines Read : 59]
dofs for the surface tension monolithic solver added correctly
variables for the mesh solver added correctly
Construction monolithic solver finished
after reading all the model contains:
-LagrangianPart- model part
    Buffer Size : 1
    Number of tables : 0
    Number of sub model parts : 0
    Current solution step index : 0

    Mesh 0 : 
        Number of Nodes      : 9
        Number of Properties : 1
        Number of Elements   : 6
        Number of Conditions : 0

finished moving the mesh
mesh solver created
"Trigen PFEM Refining Mesher" : Trigen PFEM Refining Mesher
"Number of nodes after erasing" : Number of nodes after erasing
ThisModelPart.Nodes().size() : 8
Constructing Delaunay triangulation by divide-and-conquer method.
Delaunay milliseconds:  0

Writing vertices.
Writing triangles.
Writing edges.
Writing neighbors.

Output milliseconds:  0
Total running milliseconds:  0

Statistics:

  Input vertices: 8

  Mesh vertices: 8
  Mesh triangles: 7
  Mesh edges: 14
  Mesh exterior boundary edges: 7

mesh generation time = 0.002872"ln367" : ln367
el_number : 7
"ln420" : ln420
Reconstructing mesh.
Mesh reconstruction milliseconds:  0
Adding Steiner points to enforce quality.
Quality milliseconds:  0

Writing vertices.
Writing triangles.
Writing neighbors.

Output milliseconds:  0
Total running milliseconds:  0

Statistics:

  Input vertices: 8
  Input triangles: 6

  Mesh vertices: 8
  Mesh triangles: 6
  Mesh edges: 12
  Mesh exterior boundary edges: 6
  Mesh interior boundary edges: 0
  Mesh subsegments (constrained edges): 6

"Adaptive remeshing executed" : Adaptive remeshing executed
"ln449" : ln449
During refinement we added 0 nodes 
"ln749" : ln749
"ln752" : ln752
"ln754" : ln754
"Finished remeshing with Trigen_PFEM_Refine" : Finished remeshing with Trigen_PFEM_Refine
lagrangian solver created
LINEAR SOLVER IS ------------------------------------------------------> MixedUP
STEP =  1
TIME =  0.01
LINEAR SOLVER IS ------------------------------------------------------> MixedUP
STEP =  2
TIME =  0.02
LINEAR SOLVER IS ------------------------------------------------------> MixedUP
STEP =  3
TIME =  0.03
Calculating divergence-free initial condition
ATTENTION! setting the RHS to zero!
Finished divergence clearance
Setting up the dofs
setup_dofs_time : 5.1658e-05
0: setup_system_time : 2.467e-05
Setting up the dofs
setup_dofs_time : 5.1314e-05
0: setup_system_time : 4.482e-06

CurrentTime = 0.03
0: system_matrix_resize_time : 0.00010535
end of prediction
 MESH MOVED 
build time: 5.0994e-05
SuperLU solver finished.

system solve time: 0.000145286
Solution obtained = [21](12.9707,-0.214495,0.214495,10.0246,0.0595947,0.0953054,10.0246,-0.0953054,-0.0595947,10.0246,3.55271e-15,-1.90906e-15,10.0246,0.0953054,0.0595947,10.0246,-0.0595947,-0.0953054,12.9707,0.214495,-0.214495)
RHS  = [21](0,-1,1,0,-0.684565,-0.342282,0,0.342282,0.684565,0,0,0,0,-0.342282,-0.684565,0,0.684565,0.342282,0,1,-1)
 MESH MOVED 
CONVERGENCE CHECK:
 VELOC.: ratio = 1; exp.ratio = 0.0001 abs = 0.0345946 exp.abs = 1e-06
 PRESS.: ratio = 1; exp.ratio = 0.0001 abs = 4.13779 exp.abs = 1e-06
build time: 4.3336e-05
SuperLU solver finished.

system solve time: 7.9735e-05
Solution obtained = [21](-0.377925,-0.0508613,0.0508613,0.647147,0.0111258,0.0286097,0.647147,-0.0286097,-0.0111258,0.667868,-4.40186e-16,3.88578e-16,0.647147,0.0286097,0.0111258,0.647147,-0.0111258,-0.0286097,-0.377925,0.0508613,-0.0508613)
RHS  = [21](-0.00263495,-0.116514,0.116514,0.00129156,0.031689,0.0520339,0.00129156,-0.0520339,-0.031689,0.000103674,8.32667e-16,1.9984e-15,0.00129156,0.0520339,0.031689,0.00129156,-0.031689,-0.0520339,-0.00263495,0.116514,-0.116514)
 MESH MOVED 
CONVERGENCE CHECK:
 VELOC.: ratio = 0.197181; exp.ratio = 0.0001 abs = 0.00848668 exp.abs = 1e-06
 PRESS.: ratio = 0.0520906; exp.ratio = 0.0001 abs = 0.221631 exp.abs = 1e-06
build time: 3.6961e-05
SuperLU solver finished.

system solve time: 8.0068e-05
Solution obtained = [21](-0.108166,-0.0124144,0.0124144,0.169151,0.00221411,0.00798618,0.169151,-0.00798618,-0.00221411,0.175504,-1.56613e-16,1.80411e-16,0.169151,0.00798618,0.00221411,0.169151,-0.00221411,-0.00798618,-0.108166,0.0124144,-0.0124144)
RHS  = [21](-0.000676224,-0.0276372,0.0276372,0.000330178,0.00583916,0.0156317,0.000330178,-0.0156317,-0.00583916,3.17382e-05,-6.10623e-16,8.88178e-16,0.000330178,0.0156317,0.00583916,0.000330178,-0.00583916,-0.0156317,-0.000676224,0.0276372,-0.0276372)
 MESH MOVED 
CONVERGENCE CHECK:
 VELOC.: ratio = 0.0472314; exp.ratio = 0.0001 abs = 0.00213235 exp.abs = 1e-06
 PRESS.: ratio = 0.0136894; exp.ratio = 0.0001 abs = 0.058667 exp.abs = 1e-06
build time: 3.3876e-05
SuperLU solver finished.

system solve time: 8.4497e-05
Solution obtained = [21](-0.0294401,-0.0030885,0.0030885,0.0438875,0.00047004,0.00214842,0.0438875,-0.00214842,-0.00047004,0.0455768,-2.38606e-16,1.75207e-16,0.0438875,0.00214842,0.00047004,0.0438875,-0.00047004,-0.00214842,-0.0294401,0.0030885,-0.0030885)
RHS  = [21](-0.000173606,-0.00674703,0.00674703,8.46866e-05,0.00114901,0.00436217,8.46866e-05,-0.00436217,-0.00114901,8.46566e-06,-5.27356e-16,3.33067e-16,8.46866e-05,0.00436217,0.00114901,8.46866e-05,-0.00114901,-0.00436217,-0.000173606,0.00674703,-0.00674703)
 MESH MOVED 
CONVERGENCE CHECK:
 VELOC.: ratio = 0.0118577; exp.ratio = 0.0001 abs = 0.000541643 exp.abs = 1e-06
 PRESS.: ratio = 0.00357045; exp.ratio = 0.0001 abs = 0.0153298 exp.abs = 1e-06
build time: 3.5902e-05
SuperLU solver finished.

system solve time: 7.4476e-05
Solution obtained = [21](-0.00781028,-0.000777723,0.000777723,0.0113363,0.000105618,0.000566487,0.0113363,-0.000566487,-0.000105618,0.0117727,-2.40584e-16,4.29446e-17,0.0113363,0.000566487,0.000105618,0.0113363,-0.000105618,-0.000566487,-0.00781028,0.000777723,-0.000777723)
RHS  = [21](-4.45663e-05,-0.00167873,0.00167873,2.17348e-05,0.000241553,0.00117315,2.17348e-05,-0.00117315,-0.000241553,2.19334e-06,-3.33067e-16,2.22045e-16,2.17348e-05,0.00117315,0.000241553,2.17348e-05,-0.000241553,-0.00117315,-4.45663e-05,0.00167873,-0.00167873)
 MESH MOVED 
CONVERGENCE CHECK:
 VELOC.: ratio = 0.00301828; exp.ratio = 0.0001 abs = 0.000138278 exp.abs = 1e-06
 PRESS.: ratio = 0.000925619; exp.ratio = 0.0001 abs = 0.00397605 exp.abs = 1e-06
build time: 3.342e-05
SuperLU solver finished.

system solve time: 6.9349e-05
Solution obtained = [21](-0.00204318,-0.000197314,0.000197314,0.00292044,2.48118e-05,0.00014769,0.00292044,-0.00014769,-2.48118e-05,0.0030325,-1.81333e-16,1.0165e-16,0.00292044,0.00014769,2.48118e-05,0.00292044,-2.48118e-05,-0.00014769,-0.00204318,0.000197314,-0.000197314)
RHS  = [21](-1.14393e-05,-0.000422755,0.000422755,5.57858e-06,5.38508e-05,0.000309273,5.57858e-06,-0.000309273,-5.38508e-05,5.64283e-07,-3.33067e-16,0,5.57858e-06,0.000309273,5.38508e-05,5.57858e-06,-5.38508e-05,-0.000309273,-1.14393e-05,0.000422755,-0.000422755)
 MESH MOVED 
CONVERGENCE CHECK:
 VELOC.: ratio = 0.000771843; exp.ratio = 0.0001 abs = 3.53873e-05 exp.abs = 1e-06
 PRESS.: ratio = 0.000239007; exp.ratio = 0.0001 abs = 0.00102679 exp.abs = 1e-06
build time: 3.3406e-05
SuperLU solver finished.

system solve time: 7.0085e-05
Solution obtained = [21](-0.00053026,-5.02891e-05,5.02891e-05,0.00075118,6.01717e-06,3.82548e-05,0.00075118,-3.82548e-05,-6.01717e-06,0.000779922,-1.97281e-16,9.53014e-17,0.00075118,3.82548e-05,6.01717e-06,0.00075118,-6.01717e-06,-3.82548e-05,-0.00053026,5.02891e-05,-5.02891e-05)
RHS  = [21](-2.93601e-06,-0.00010726,0.00010726,1.43178e-06,1.2577e-05,8.06219e-05,1.43178e-06,-8.06219e-05,-1.2577e-05,1.44913e-07,-3.33067e-16,3.33067e-16,1.43178e-06,8.06219e-05,1.2577e-05,1.43178e-06,-1.2577e-05,-8.06219e-05,-2.93601e-06,0.00010726,-0.00010726)
 MESH MOVED 
CONVERGENCE CHECK:
 VELOC.: ratio = 0.000197733; exp.ratio = 0.0001 abs = 9.06736e-06 exp.abs = 1e-06
 PRESS.: ratio = 6.15628e-05; exp.ratio = 0.0001 abs = 0.000264487 exp.abs = 1e-06
build time: 4.5802e-05
SuperLU solver finished.

system solve time: 6.6643e-05
Solution obtained = [21](-0.000136983,-1.28525e-05,1.28525e-05,0.000193035,1.49068e-06,9.87118e-06,0.000193035,-9.87118e-06,-1.49068e-06,0.000200407,-1.98509e-16,1.55854e-17,0.000193035,9.87118e-06,1.49068e-06,0.000193035,-1.49068e-06,-9.87118e-06,-0.000136983,1.28525e-05,-1.28525e-05)
RHS  = [21](-7.53515e-07,-2.7338e-05,2.7338e-05,3.67458e-07,3.03784e-06,2.08813e-05,3.67458e-07,-2.08813e-05,-3.03784e-06,3.71968e-08,-3.60822e-16,0,3.67458e-07,2.08813e-05,3.03784e-06,3.67458e-07,-3.03784e-06,-2.08813e-05,-7.53515e-07,2.7338e-05,-2.7338e-05)
 MESH MOVED 
CONVERGENCE CHECK:
 VELOC.: ratio = 5.06966e-05; exp.ratio = 0.0001 abs = 2.32489e-06 exp.abs = 1e-06
 PRESS.: ratio = 1.58335e-05; exp.ratio = 0.0001 abs = 6.80248e-05 exp.abs = 1e-06
*** CONVERGENCE IS ACHIEVED ***
ResidualBasedBlockBuilderAndSolver Clear Function called
Newton Raphson strategy Clear function used
"Trigen PFEM Refining Mesher" : Trigen PFEM Refining Mesher
"Number of nodes after erasing" : Number of nodes after erasing
ThisModelPart.Nodes().size() : 0
Segmentation fault (core dumped)

Thank you for your time and support,

Best regards,

elafnm commented 6 years ago

@playpaolo

Greetings dears,

Just kindly to further explain what I meant in the previous comment, here are some figures about the NODAL_H, and IS_FLUID and other outcomes, is_fluid results

nodal_h values

curvature results

pressure results

Thanks and best regards,

elafnm commented 6 years ago

@playpaolo

sorry dear, forgot to tell you it is a coarse mesh since my Gid password was expired.

Thanks and best regards,

elafnm commented 6 years ago

@playpaolo

Greetings again dear,

sorry, but also I think it might be useful to add the following:

when we import and use the "vms_monolithic_solver.py" inside FluidDynamic applications "as is", we receive the following error about the mesh_solver:

" (self.solver).MoveNodes() AttributeError: 'LaplacianMeshMovingStrategy' object has no attribute 'MoveNodes'

"

such that:


elaf@elaf-Lenovo-G40-80:~/Kratos/applications/ULFapplication/droplet_example$ python3 Lap_young_lagr.py 
 |  /           |             
 ' /   __| _` | __|  _ \   __|
 . \  |   (   | |   (   |\__ \ 
_|\_\_|  \__,_|\__|\___/ ____/
           Multi-Physics 5.1.0-00cb894
Importing    KratosIncompressibleFluidApplication
Initializing KratosIncompressibleFluidApplication... 
Initializing KratosIncompressibleFluidApplication...Register completed 
Initializing KratosIncompressibleFluidApplication...variables succesfully registered 
Initializing KratosIncompressibleFluidApplication...elements succesfully registered 
Importing    KratosFluidDynamicsApplication
Initializing KratosFluidDynamicsApplication... 
Importing    KratosExternalSolversApplication
Initializing KratosExternalSolversApplication... 
Importing    KratosMeshingApplication
Initializing Kratos MeshingApplication... 
Importing    KratosULFApplication
Initializing Kratos ULFApplication... 
Importing    KratosStructuralApplication
Initializing KratosStructuralApplication... 
Importing    KratosALEApplication
KRATOS    ___   __   ____             
         / _ | / /  / __/             
        / __ |/ /__/ _/               
       /_/ |_/____/___/  application  
Initializing KratosALEApplication...  
variables for the vms monolithic solver added correctly
  [Reading Nodes    : 20 nodes read]
  [Reading Elements : 25 elements read] [Type: SurfaceTension2D]
  [Total Lines Read : 182]
dofs for the vms monolithic solver added correctly
variables for the mesh solver added correctly
Construction monolithic solver finished
finished moving the mesh
mesh solver created
Initialization monolithic solver finished
lagrangian solver created
LINEAR SOLVER IS ------------------------------------------------------> MixedUP
STEP =  1
TIME =  1e-05
LINEAR SOLVER IS ------------------------------------------------------> MixedUP
STEP =  2
TIME =  2e-05
LINEAR SOLVER IS ------------------------------------------------------> MixedUP
STEP =  3
TIME =  3.0000000000000004e-05
Calculating divergence-free initial condition
ATTENTION! setting the RHS to zero!
Finished divergence clearance
Setting up the dofs
setup_dofs_time : 0.000107314
0: setup_system_time : 2.6878e-05
Setting up the dofs
setup_dofs_time : 0.000164753
0: setup_system_time : 4.8454e-05

CurrentTime = 3e-05
0: system_matrix_resize_time : 0.000202255
end of prediction
build time: 0.000128213
ATTENTION! setting the RHS to zero!
SuperLU solver finished.

system solve time: 2.2593e-05
Solution obtained = [60](0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)
RHS  = [60](0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)
CONVERGENCE CHECK:
 VELOC.: ratio = 0; exp.ratio = 0.01 abs = 0 exp.abs = 0.0001
 PRESS.: ratio = 0; exp.ratio = 0.01 abs = 0 exp.abs = 0.0001
*** CONVERGENCE IS ACHIEVED ***
ResidualBasedBlockBuilderAndSolver Clear Function called
Newton Raphson strategy Clear function used
Traceback (most recent call last):
  File "Lap_young_lagr.py", line 219, in <module>
    mesh_solver.Solve()
  File "/home/elaf/Kratos/applications/ALEapplication/python_scripts/mesh_solver.py", line 54, in Solve
    (self.solver).MoveNodes()
AttributeError: 'LaplacianMeshMovingStrategy' object has no attribute 'MoveNodes'
ResidualBasedBlockBuilderAndSolver Clear Function called
Newton Raphson strategy Clear function used

best regards,

philbucher commented 6 years ago

Hi @elafnm I saw by coincidence that you use the ALEapp. The LaplacianMeshMovingStrategy is under constructuion at the moment, You can use the mesh_solver_structural_similarity, this is the one we usually use. (See the Python wrappers in the ALEapp)

elafnm commented 6 years ago

Greetings dear @philbucher ,

Thank you for your support,

I tried to use it by many ways but unfortunately could not make it, and I am receiving the same errors

for example as:

from __future__ import print_function, absolute_import, division #makes KratosMultiphysics backward compatible with python 2.6 and 2.7
# importing the Kratos Library
from KratosMultiphysics import *
import KratosMultiphysics.ALEApplication as ALEApplication
CheckForPreviousImport()
import mesh_solver

def AddVariables(model_part):
    model_part.AddNodalSolutionStepVariable(DISPLACEMENT)
    model_part.AddNodalSolutionStepVariable(MESH_VELOCITY)
    model_part.AddNodalSolutionStepVariable(AUX_MESH_VAR)

def AddDofs(model_part):
    for node in model_part.Nodes:
        # adding dofs
        node.AddDof(AUX_MESH_VAR)
    print("variables for the mesh solver added correctly")

def CreateSolver(model_part, domain_size, reform_dof_at_every_ste):
    return MeshSolver(model_part, domain_size, reform_dof_at_every_ste)

class MeshSolver:

    def __init__(self, model_part, domain_size, reform_dof_at_every_step):

        # Assign parameters
        self.time_order = 2
        self.model_part = model_part
        self.domain_size = 2
        self.reform_dof_at_every_step = reform_dof_at_every_step

        # neighbour search
        number_of_avg_elems = 10
        number_of_avg_nodes = 10
        self.neighbour_search = FindNodalNeighboursProcess(model_part, number_of_avg_elems, number_of_avg_nodes)

        self.compute_reactions = False

        # definition of the solvers
        pILUPrecond = ILU0Preconditioner()
        self.linear_solver = BICGSTABSolver(1e-9, 300)

    def AddVariables(self):
        super(MeshSolver, self).AddVariables()
        self.ale_solver.AddVariables()
        print("::[MeshSolver]:: Variables ADDED.")

    def AddDofs(self):
        super(MeshSolver, self).AddDofs()
        self.ale_solver.AddDofs()
        print("::[MeshSolver]:: DOFs ADDED.")

    def Initialize(self):
        (self.neighbour_search).Execute()

        self.solver = ALEApplication.StructuralMeshMovingStrategy(self.model_part, self.linear_solver, self.time_order, self.reform_dof_at_every_step, self.compute_reactions)
        (self.solver).SetEchoLevel(0)
        print("finished moving the mesh")

    def GetMeshMotionSolver(self):
        return self.ale_solver

    def Solve(self):
        if(self.reform_dof_at_every_step):
            (self.neighbour_search).Execute()
        self.GetMeshMotionSolver().Solve()

    def MoveMesh(self):
        self.GetMeshMotionSolver().MoveMesh()

As you are aware dear that I just started to get familiar with Kratos, so I would really highly appreciate if I could be provided with an example of how to use StructuralMeshMovingStrategy command in my mesh_solver (in Kratos itself I could not find simple example where I can easily follow), and also if there is other points where I need to consider.

Thanks and best regards,

philbucher commented 6 years ago

hi @elafnm I think I get it, the function you are looking for should be MoveMesh Can you give it a try?

philbucher commented 6 years ago

Btw you can also check out in the ALEapplication the python_scripts and tests folders for more examples

elafnm commented 6 years ago

Greetings dear @philbucher and very good day to you,

I tried as well, but I could not make it working for me, I dont know what I am missing exactly (though I tried to follow the python scripts and test examples"

I am sharing with you here five python files (that originally created by Dr. Alex), you may kindly find the main solver for the code (SurfaceTension_monolithic_solver), and (mesh_solver),,, also, you may kindly find the three python files for executing the code... may be in the latest version of Kratos some updates has been introduced to the monolithic_solver and the way of calling the mesh_solver!

we would be really appreciating you support please,

Thanks and best regards,

ProjectParameters.txt problem_settings.txt Lap_young_lagr.txt SurfaceTension_monolithic_solver.txt mesh_solver.txt

playpaolo commented 6 years ago

Hi @elafnm. You do not need neither PFEM nor PFEM2, you can just comment them out.

philbucher commented 6 years ago

Hi @elafnm I looked a bit through your files and couldn't find any obvious error. What I do not understand though is why you are creating your own mesh solver class, since there is one readily available in the ALEapplication (applications\ALEapplication\python_scripts\mesh_solver_structural_similarity.py) From what I could see you are not doing anything except mesh moving in your custom mesh solver, therefore I suggest you to use the one form the ALEapplication. Can you try this one?

elafnm commented 6 years ago

Greetings dear @philbucher and very good to you,

Thank you very much for your time and advice, we highly appreciate it.

sure I will try it today dear and let you know soon,

with my best regards,

elafnm commented 6 years ago

@playpaolo , I would like also to thank you dear Dr. Pavel,

with my best regards,

RiccardoRossi commented 6 years ago

Dear @elafnm ,

we close this to cleanup some of the open issues, please reopen as you deem it necessary

elafnm commented 6 years ago

Greetings dears @playpaolo and @philbucher and very good day to you,

we tired using "mesh_solver_structural_similarity.py" solver; However, still we are receiving the same errors as:

elaf@elaf-Lenovo-G40-80:~/Kratos/applications/ULFapplication/droplet_example$ python3 Lap_young_lagr.py 
 |  /           |             
 ' /   __| _` | __|  _ \   __|
 . \  |   (   | |   (   |\__ \ 
_|\_\_|  \__,_|\__|\___/ ____/
           Multi-Physics 5.1.0-00cb894
Importing    KratosIncompressibleFluidApplication
Initializing KratosIncompressibleFluidApplication... 
Initializing KratosIncompressibleFluidApplication...Register completed 
Initializing KratosIncompressibleFluidApplication...variables succesfully registered 
Initializing KratosIncompressibleFluidApplication...elements succesfully registered 
Importing    KratosFluidDynamicsApplication
Initializing KratosFluidDynamicsApplication... 
Importing    KratosExternalSolversApplication
Initializing KratosExternalSolversApplication... 
Importing    KratosMeshingApplication
Initializing Kratos MeshingApplication... 
Importing    KratosULFApplication
Initializing Kratos ULFApplication... 
Importing    KratosStructuralApplication
Initializing KratosStructuralApplication... 
Importing    KratosALEApplication
KRATOS    ___   __   ____             
         / _ | / /  / __/             
        / __ |/ /__/ _/               
       /_/ |_/____/___/  application  
Initializing KratosALEApplication...  
variables for the SurfaceTension monolithic solver added correctly
  [Reading Nodes    : 9 nodes read]
  [Reading Elements : 6 elements read] [Type: SurfaceTension2D]
  [Total Lines Read : 59]
dofs for the surface tension monolithic solver added correctly
variables for the mesh solver added correctly
Construction monolithic solver finished
after reading all the model contains:
-LagrangianPart- model part
    Buffer Size : 1
    Number of tables : 0
    Number of sub model parts : 0
    Current solution step index : 0

    Mesh 0 : 
        Number of Nodes      : 9
        Number of Properties : 1
        Number of Elements   : 6
        Number of Conditions : 0

finished moving the mesh
mesh solver created
"Trigen PFEM Refining Mesher" : Trigen PFEM Refining Mesher
"Number of nodes after erasing" : Number of nodes after erasing
ThisModelPart.Nodes().size() : 8
Constructing Delaunay triangulation by divide-and-conquer method.
Delaunay milliseconds:  0

Writing vertices.
Writing triangles.
Writing edges.
Writing neighbors.

Output milliseconds:  0
Total running milliseconds:  0

Statistics:

  Input vertices: 8

  Mesh vertices: 8
  Mesh triangles: 7
  Mesh edges: 14
  Mesh exterior boundary edges: 7

mesh generation time = 0.002872"ln367" : ln367
el_number : 7
"ln420" : ln420
Reconstructing mesh.
Mesh reconstruction milliseconds:  0
Adding Steiner points to enforce quality.
Quality milliseconds:  0

Writing vertices.
Writing triangles.
Writing neighbors.

Output milliseconds:  0
Total running milliseconds:  0

Statistics:

  Input vertices: 8
  Input triangles: 6

  Mesh vertices: 8
  Mesh triangles: 6
  Mesh edges: 12
  Mesh exterior boundary edges: 6
  Mesh interior boundary edges: 0
  Mesh subsegments (constrained edges): 6

"Adaptive remeshing executed" : Adaptive remeshing executed
"ln449" : ln449
During refinement we added 0 nodes 
"ln749" : ln749
"ln752" : ln752
"ln754" : ln754
"Finished remeshing with Trigen_PFEM_Refine" : Finished remeshing with Trigen_PFEM_Refine
lagrangian solver created
LINEAR SOLVER IS ------------------------------------------------------> MixedUP
STEP =  1
TIME =  0.01
LINEAR SOLVER IS ------------------------------------------------------> MixedUP
STEP =  2
TIME =  0.02
LINEAR SOLVER IS ------------------------------------------------------> MixedUP
STEP =  3
TIME =  0.03
Calculating divergence-free initial condition
ATTENTION! setting the RHS to zero!
Finished divergence clearance
Setting up the dofs
setup_dofs_time : 5.1658e-05
0: setup_system_time : 2.467e-05
Setting up the dofs
setup_dofs_time : 5.1314e-05
0: setup_system_time : 4.482e-06

CurrentTime = 0.03
0: system_matrix_resize_time : 0.00010535
end of prediction
 MESH MOVED 
build time: 5.0994e-05
SuperLU solver finished.

system solve time: 0.000145286
Solution obtained = [21](12.9707,-0.214495,0.214495,10.0246,0.0595947,0.0953054,10.0246,-0.0953054,-0.0595947,10.0246,3.55271e-15,-1.90906e-15,10.0246,0.0953054,0.0595947,10.0246,-0.0595947,-0.0953054,12.9707,0.214495,-0.214495)
RHS  = [21](0,-1,1,0,-0.684565,-0.342282,0,0.342282,0.684565,0,0,0,0,-0.342282,-0.684565,0,0.684565,0.342282,0,1,-1)
 MESH MOVED 
CONVERGENCE CHECK:
 VELOC.: ratio = 1; exp.ratio = 0.0001 abs = 0.0345946 exp.abs = 1e-06
 PRESS.: ratio = 1; exp.ratio = 0.0001 abs = 4.13779 exp.abs = 1e-06
build time: 4.3336e-05
SuperLU solver finished.

system solve time: 7.9735e-05
Solution obtained = [21](-0.377925,-0.0508613,0.0508613,0.647147,0.0111258,0.0286097,0.647147,-0.0286097,-0.0111258,0.667868,-4.40186e-16,3.88578e-16,0.647147,0.0286097,0.0111258,0.647147,-0.0111258,-0.0286097,-0.377925,0.0508613,-0.0508613)
RHS  = [21](-0.00263495,-0.116514,0.116514,0.00129156,0.031689,0.0520339,0.00129156,-0.0520339,-0.031689,0.000103674,8.32667e-16,1.9984e-15,0.00129156,0.0520339,0.031689,0.00129156,-0.031689,-0.0520339,-0.00263495,0.116514,-0.116514)
 MESH MOVED 
CONVERGENCE CHECK:
 VELOC.: ratio = 0.197181; exp.ratio = 0.0001 abs = 0.00848668 exp.abs = 1e-06
 PRESS.: ratio = 0.0520906; exp.ratio = 0.0001 abs = 0.221631 exp.abs = 1e-06
build time: 3.6961e-05
SuperLU solver finished.

system solve time: 8.0068e-05
Solution obtained = [21](-0.108166,-0.0124144,0.0124144,0.169151,0.00221411,0.00798618,0.169151,-0.00798618,-0.00221411,0.175504,-1.56613e-16,1.80411e-16,0.169151,0.00798618,0.00221411,0.169151,-0.00221411,-0.00798618,-0.108166,0.0124144,-0.0124144)
RHS  = [21](-0.000676224,-0.0276372,0.0276372,0.000330178,0.00583916,0.0156317,0.000330178,-0.0156317,-0.00583916,3.17382e-05,-6.10623e-16,8.88178e-16,0.000330178,0.0156317,0.00583916,0.000330178,-0.00583916,-0.0156317,-0.000676224,0.0276372,-0.0276372)
 MESH MOVED 
CONVERGENCE CHECK:
 VELOC.: ratio = 0.0472314; exp.ratio = 0.0001 abs = 0.00213235 exp.abs = 1e-06
 PRESS.: ratio = 0.0136894; exp.ratio = 0.0001 abs = 0.058667 exp.abs = 1e-06
build time: 3.3876e-05
SuperLU solver finished.

system solve time: 8.4497e-05
Solution obtained = [21](-0.0294401,-0.0030885,0.0030885,0.0438875,0.00047004,0.00214842,0.0438875,-0.00214842,-0.00047004,0.0455768,-2.38606e-16,1.75207e-16,0.0438875,0.00214842,0.00047004,0.0438875,-0.00047004,-0.00214842,-0.0294401,0.0030885,-0.0030885)
RHS  = [21](-0.000173606,-0.00674703,0.00674703,8.46866e-05,0.00114901,0.00436217,8.46866e-05,-0.00436217,-0.00114901,8.46566e-06,-5.27356e-16,3.33067e-16,8.46866e-05,0.00436217,0.00114901,8.46866e-05,-0.00114901,-0.00436217,-0.000173606,0.00674703,-0.00674703)
 MESH MOVED 
CONVERGENCE CHECK:
 VELOC.: ratio = 0.0118577; exp.ratio = 0.0001 abs = 0.000541643 exp.abs = 1e-06
 PRESS.: ratio = 0.00357045; exp.ratio = 0.0001 abs = 0.0153298 exp.abs = 1e-06
build time: 3.5902e-05
SuperLU solver finished.

system solve time: 7.4476e-05
Solution obtained = [21](-0.00781028,-0.000777723,0.000777723,0.0113363,0.000105618,0.000566487,0.0113363,-0.000566487,-0.000105618,0.0117727,-2.40584e-16,4.29446e-17,0.0113363,0.000566487,0.000105618,0.0113363,-0.000105618,-0.000566487,-0.00781028,0.000777723,-0.000777723)
RHS  = [21](-4.45663e-05,-0.00167873,0.00167873,2.17348e-05,0.000241553,0.00117315,2.17348e-05,-0.00117315,-0.000241553,2.19334e-06,-3.33067e-16,2.22045e-16,2.17348e-05,0.00117315,0.000241553,2.17348e-05,-0.000241553,-0.00117315,-4.45663e-05,0.00167873,-0.00167873)
 MESH MOVED 
CONVERGENCE CHECK:
 VELOC.: ratio = 0.00301828; exp.ratio = 0.0001 abs = 0.000138278 exp.abs = 1e-06
 PRESS.: ratio = 0.000925619; exp.ratio = 0.0001 abs = 0.00397605 exp.abs = 1e-06
build time: 3.342e-05
SuperLU solver finished.

system solve time: 6.9349e-05
Solution obtained = [21](-0.00204318,-0.000197314,0.000197314,0.00292044,2.48118e-05,0.00014769,0.00292044,-0.00014769,-2.48118e-05,0.0030325,-1.81333e-16,1.0165e-16,0.00292044,0.00014769,2.48118e-05,0.00292044,-2.48118e-05,-0.00014769,-0.00204318,0.000197314,-0.000197314)
RHS  = [21](-1.14393e-05,-0.000422755,0.000422755,5.57858e-06,5.38508e-05,0.000309273,5.57858e-06,-0.000309273,-5.38508e-05,5.64283e-07,-3.33067e-16,0,5.57858e-06,0.000309273,5.38508e-05,5.57858e-06,-5.38508e-05,-0.000309273,-1.14393e-05,0.000422755,-0.000422755)
 MESH MOVED 
CONVERGENCE CHECK:
 VELOC.: ratio = 0.000771843; exp.ratio = 0.0001 abs = 3.53873e-05 exp.abs = 1e-06
 PRESS.: ratio = 0.000239007; exp.ratio = 0.0001 abs = 0.00102679 exp.abs = 1e-06
build time: 3.3406e-05
SuperLU solver finished.

system solve time: 7.0085e-05
Solution obtained = [21](-0.00053026,-5.02891e-05,5.02891e-05,0.00075118,6.01717e-06,3.82548e-05,0.00075118,-3.82548e-05,-6.01717e-06,0.000779922,-1.97281e-16,9.53014e-17,0.00075118,3.82548e-05,6.01717e-06,0.00075118,-6.01717e-06,-3.82548e-05,-0.00053026,5.02891e-05,-5.02891e-05)
RHS  = [21](-2.93601e-06,-0.00010726,0.00010726,1.43178e-06,1.2577e-05,8.06219e-05,1.43178e-06,-8.06219e-05,-1.2577e-05,1.44913e-07,-3.33067e-16,3.33067e-16,1.43178e-06,8.06219e-05,1.2577e-05,1.43178e-06,-1.2577e-05,-8.06219e-05,-2.93601e-06,0.00010726,-0.00010726)
 MESH MOVED 
CONVERGENCE CHECK:
 VELOC.: ratio = 0.000197733; exp.ratio = 0.0001 abs = 9.06736e-06 exp.abs = 1e-06
 PRESS.: ratio = 6.15628e-05; exp.ratio = 0.0001 abs = 0.000264487 exp.abs = 1e-06
build time: 4.5802e-05
SuperLU solver finished.

system solve time: 6.6643e-05
Solution obtained = [21](-0.000136983,-1.28525e-05,1.28525e-05,0.000193035,1.49068e-06,9.87118e-06,0.000193035,-9.87118e-06,-1.49068e-06,0.000200407,-1.98509e-16,1.55854e-17,0.000193035,9.87118e-06,1.49068e-06,0.000193035,-1.49068e-06,-9.87118e-06,-0.000136983,1.28525e-05,-1.28525e-05)
RHS  = [21](-7.53515e-07,-2.7338e-05,2.7338e-05,3.67458e-07,3.03784e-06,2.08813e-05,3.67458e-07,-2.08813e-05,-3.03784e-06,3.71968e-08,-3.60822e-16,0,3.67458e-07,2.08813e-05,3.03784e-06,3.67458e-07,-3.03784e-06,-2.08813e-05,-7.53515e-07,2.7338e-05,-2.7338e-05)
 MESH MOVED 
CONVERGENCE CHECK:
 VELOC.: ratio = 5.06966e-05; exp.ratio = 0.0001 abs = 2.32489e-06 exp.abs = 1e-06
 PRESS.: ratio = 1.58335e-05; exp.ratio = 0.0001 abs = 6.80248e-05 exp.abs = 1e-06
*** CONVERGENCE IS ACHIEVED ***
ResidualBasedBlockBuilderAndSolver Clear Function called
Newton Raphson strategy Clear function used
"Trigen PFEM Refining Mesher" : Trigen PFEM Refining Mesher
"Number of nodes after erasing" : Number of nodes after erasing
ThisModelPart.Nodes().size() : 0
Segmentation fault (core dumped)

noting the following please:

  1. After reaching the solution for the first time step, the nodal information is erased somehow, leaving the mesh empty and the segmentation fault error arises.

  2. I tried to define and add MoveMesh function (similar to ulf_PGLASS.py example) but it makes no different as I still receive the exact file

  3. It seems that I receive the error immediately once the Remesh function in the attached SurfaceTension_monolithic_solver is called, (we think from here our concern is starting), though I tried also to follow the same structure of the Remesh function inside of the ulf_PGLASS.

  4. As you are aware dear that we add the following lines inside kratos\applications\FluidDynamicsApplication\custom_strategies\strategies\residualbased_predictorcorrector_velocity_bossak_scheme_turbulent.h:

if((itNode)->FastGetSolutionStepValue(IS_LAGRANGIAN_INLET) == 0.0)
{
    noalias(itNode->FastGetSolutionStepValue(MESH_VELOCITY)) = itNode->FastGetSolutionStepValue(VELOCITY);
    UpdateDisplacement(CurrentDisplacement, OldDisplacement, OldVelocity, OldAcceleration, CurrentAcceleration);
}
else
{
    itNode->FastGetSolutionStepValue(MESH_VELOCITY_X) = 0.0;
    itNode->FastGetSolutionStepValue(MESH_VELOCITY_Y) = 0.0;
    itNode->FastGetSolutionStepValue(DISPLACEMENT_X) = 0.0;
    itNode->FastGetSolutionStepValue(DISPLACEMENT_Y) = 0.0;
}

so do you think this could generate such an error,

5. also, we added some lines inside "trigen_pfem_refine.h" to add the IS_INTERFACE and IS_WATER, and also we tried to use (TO_ERASE,false) instead of (ERASE_FLAG)=0,

do you think dear that this has to do something with the error.

Accordingly,

could you please further support us please:

  1. in your opinion what is root cause, and the recommended way to resolve it.

  2. what is the recommended way to use the "mesh_solver_structural_similarity.py" solver. could you please further explain this step to me. For example, shall I just to import the file in our Lap_young_lagr.py file (that reads the .mpda); or shall I make a new solver and link it to SurfaceTension_monolithic_solver.py and its function. (please note that I tried both cases and still got the same result). and I would really appreciate if you have one example where I can use it as a benchmark. please note that we found a test_example inside the ALE application but I could not run it. Also, there is "ale_navier_stokes_solver_vmsmonolithic" uses the " "mesh_solver_structural_similarity" and where it has around four solvers linked together.

thanks and best regards,

SurfaceTension_monolithic_solver.txt

elafnm commented 6 years ago

Dearsr @playpaolo and @philbucher

greetings again,

just to add please to my last comments, please note that

  1. if I comment "lag_solver.Solve()" from the " Lap_young_lag.py", so I will get the following results
|  /           |             
 ' /   __| _` | __|  _ \   __|
 . \  |   (   | |   (   |\__ \ 
_|\_\_|  \__,_|\__|\___/ ____/
           Multi-Physics 5.1.0-a7a6f73
Importing    KratosIncompressibleFluidApplication
Initializing KratosIncompressibleFluidApplication... 
Initializing KratosIncompressibleFluidApplication...Register completed 
Initializing KratosIncompressibleFluidApplication...variables succesfully registered 
Initializing KratosIncompressibleFluidApplication...elements succesfully registered 
Importing    KratosULFApplication
Initializing Kratos ULFApplication... 
Importing    KratosExternalSolversApplication
Initializing KratosExternalSolversApplication... 
Importing    KratosMeshingApplication
Initializing Kratos MeshingApplication... 
Importing    KratosStructuralApplication
Initializing KratosStructuralApplication... 
Importing    KratosFluidDynamicsApplication
Initializing KratosFluidDynamicsApplication... 
Importing    KratosALEApplication
KRATOS    ___   __   ____             
         / _ | / /  / __/             
        / __ |/ /__/ _/               
       /_/ |_/____/___/  application  
Initializing KratosALEApplication...  
  [Reading Nodes    : 11 nodes read]
  [Reading Elements : 11 elements read] [Type: SurfaceTension2D]
  [Total Lines Read : 72]
dofs for the SurfaceTension monolithic solver added correctly
variables for the mesh solver added correctly
Construction monolithic solver finished
after reading all the model contains:
-LagrangianPart- model part
    Buffer Size : 1
    Number of tables : 0
    Number of sub model parts : 0
    Current solution step index : 0

    Mesh 0 : 
        Number of Nodes      : 11
        Number of Properties : 1
        Number of Elements   : 11
        Number of Conditions : 0

finished moving the mesh
mesh solver created
"Trigen PFEM Refining Mesher" : Trigen PFEM Refining Mesher
"Number of nodes after erasing" : Number of nodes after erasing
ThisModelPart.Nodes().size() : 11
Constructing Delaunay triangulation by divide-and-conquer method.
Delaunay milliseconds:  0

Writing vertices.
Writing triangles.
Writing edges.
Writing neighbors.

Output milliseconds:  0
Total running milliseconds:  0

Statistics:

  Input vertices: 11

  Mesh vertices: 11
  Mesh triangles: 11
  Mesh edges: 21
  Mesh exterior boundary edges: 9

mesh generation time = 0.000934"ln367" : ln367
el_number : 11
"ln420" : ln420
Reconstructing mesh.
Mesh reconstruction milliseconds:  0
Adding Steiner points to enforce quality.
Quality milliseconds:  0

Writing vertices.
Writing triangles.
Writing neighbors.

Output milliseconds:  0
Total running milliseconds:  0

Statistics:

  Input vertices: 11
  Input triangles: 11

  Mesh vertices: 11
  Mesh triangles: 11
  Mesh edges: 21
  Mesh exterior boundary edges: 9
  Mesh interior boundary edges: 0
  Mesh subsegments (constrained edges): 9

"Adaptive remeshing executed" : Adaptive remeshing executed
"ln449" : ln449
During refinement we added 0 nodes 
"ln749" : ln749
"ln752" : ln752
"ln754" : ln754
"Finished remeshing with Trigen_PFEM_Refine" : Finished remeshing with Trigen_PFEM_Refine
end of remesh function
lagrangian solver created
LINEAR SOLVER IS ------------------------------------------------------> MixedUP
STEP =  1
TIME =  0.1
LINEAR SOLVER IS ------------------------------------------------------> MixedUP
STEP =  2
TIME =  0.2
LINEAR SOLVER IS ------------------------------------------------------> MixedUP
STEP =  3
TIME =  0.30000000000000004
Executing monolithic lagrangian solver
Executing mesh solver
LINEAR SOLVER IS ------------------------------------------------------> MixedUP
STEP =  4
TIME =  0.4
Executing monolithic lagrangian solver
Executing mesh solver
LINEAR SOLVER IS ------------------------------------------------------> MixedUP
STEP =  5
TIME =  0.5
Executing monolithic lagrangian solver
Executing mesh solver
LINEAR SOLVER IS ------------------------------------------------------> MixedUP
STEP =  6
TIME =  0.6
Executing monolithic lagrangian solver
Executing mesh solver
LINEAR SOLVER IS ------------------------------------------------------> MixedUP
STEP =  7
TIME =  0.7
Executing monolithic lagrangian solver
Executing mesh solver
LINEAR SOLVER IS ------------------------------------------------------> MixedUP
STEP =  8
TIME =  0.7999999999999999
Executing monolithic lagrangian solver
Executing mesh solver
LINEAR SOLVER IS ------------------------------------------------------> MixedUP
STEP =  9
TIME =  0.8999999999999999
Executing monolithic lagrangian solver
Executing mesh solver
LINEAR SOLVER IS ------------------------------------------------------> MixedUP
STEP =  10
TIME =  0.9999999999999999
Executing monolithic lagrangian solver
Executing mesh solver
LINEAR SOLVER IS ------------------------------------------------------> MixedUP
STEP =  11
TIME =  1.0999999999999999
Executing monolithic lagrangian solver
Executing mesh solver
ResidualBasedBlockBuilderAndSolver Clear Function called
Newton Raphson strategy Clear function used

and accordingly, the curvature will be calculated correctly but the pressure and velocity will not be solved (they will be having values of zeros)

  1. if I keep/enable both "lag_solver.Solve()" and "mesh_solver.Solve()", so I will be having two cases as: 2.1 If I keep the SurfaceTension_monolithic_solver as is (such as attached), so I will get exactly the previous error as indicated in my previous comments sent yesterday.

2.2 If I change the followings (from line 270 in the "SurfaceTension_monolithic_solver"):

if(self.eul_model_part == 0):
            (self.fluid_neigh_finder).Execute();
            (self.fluid_neigh_finder).Execute();
            self.Remesh();

and commenting the "self.Remesh();" above, so I will get the following:

 |  /           |             
 ' /   __| _` | __|  _ \   __|
 . \  |   (   | |   (   |\__ \ 
_|\_\_|  \__,_|\__|\___/ ____/
           Multi-Physics 5.1.0-a7a6f73
Importing    KratosIncompressibleFluidApplication
Initializing KratosIncompressibleFluidApplication... 
Initializing KratosIncompressibleFluidApplication...Register completed 
Initializing KratosIncompressibleFluidApplication...variables succesfully registered 
Initializing KratosIncompressibleFluidApplication...elements succesfully registered 
Importing    KratosULFApplication
Initializing Kratos ULFApplication... 
Importing    KratosExternalSolversApplication
Initializing KratosExternalSolversApplication... 
Importing    KratosMeshingApplication
Initializing Kratos MeshingApplication... 
Importing    KratosStructuralApplication
Initializing KratosStructuralApplication... 
Importing    KratosFluidDynamicsApplication
Initializing KratosFluidDynamicsApplication... 
Importing    KratosALEApplication
KRATOS    ___   __   ____             
         / _ | / /  / __/             
        / __ |/ /__/ _/               
       /_/ |_/____/___/  application  
Initializing KratosALEApplication...  
  [Reading Nodes    : 11 nodes read]
  [Reading Elements : 11 elements read] [Type: SurfaceTension2D]
  [Total Lines Read : 72]
dofs for the SurfaceTension monolithic solver added correctly
variables for the mesh solver added correctly
Construction monolithic solver finished
after reading all the model contains:
-LagrangianPart- model part
    Buffer Size : 1
    Number of tables : 0
    Number of sub model parts : 0
    Current solution step index : 0

    Mesh 0 : 
        Number of Nodes      : 11
        Number of Properties : 1
        Number of Elements   : 11
        Number of Conditions : 0

finished moving the mesh
mesh solver created
"Trigen PFEM Refining Mesher" : Trigen PFEM Refining Mesher
"Number of nodes after erasing" : Number of nodes after erasing
ThisModelPart.Nodes().size() : 11
Constructing Delaunay triangulation by divide-and-conquer method.
Delaunay milliseconds:  0

Writing vertices.
Writing triangles.
Writing edges.
Writing neighbors.

Output milliseconds:  0
Total running milliseconds:  0

Statistics:

  Input vertices: 11

  Mesh vertices: 11
  Mesh triangles: 11
  Mesh edges: 21
  Mesh exterior boundary edges: 9

mesh generation time = 0.000117"ln367" : ln367
el_number : 11
"ln420" : ln420
Reconstructing mesh.
Mesh reconstruction milliseconds:  0
Adding Steiner points to enforce quality.
Quality milliseconds:  0

Writing vertices.
Writing triangles.
Writing neighbors.

Output milliseconds:  0
Total running milliseconds:  0

Statistics:

  Input vertices: 11
  Input triangles: 11

  Mesh vertices: 11
  Mesh triangles: 11
  Mesh edges: 21
  Mesh exterior boundary edges: 9
  Mesh interior boundary edges: 0
  Mesh subsegments (constrained edges): 9

"Adaptive remeshing executed" : Adaptive remeshing executed
"ln449" : ln449
During refinement we added 0 nodes 
"ln749" : ln749
"ln752" : ln752
"ln754" : ln754
"Finished remeshing with Trigen_PFEM_Refine" : Finished remeshing with Trigen_PFEM_Refine
end of remesh function
lagrangian solver created
LINEAR SOLVER IS ------------------------------------------------------> MixedUP
STEP =  1
TIME =  0.1
LINEAR SOLVER IS ------------------------------------------------------> MixedUP
STEP =  2
TIME =  0.2
LINEAR SOLVER IS ------------------------------------------------------> MixedUP
STEP =  3
TIME =  0.30000000000000004
Executing monolithic lagrangian solver
Calculating divergence-free initial condition
ATTENTION! setting the RHS to zero!
Finished divergence clearance
Setting up the dofs
setup_dofs_time : 5.2082e-05
0: setup_system_time : 2.5817e-05
Setting up the dofs
setup_dofs_time : 3.7673e-05
0: setup_system_time : 3.859e-06

CurrentTime = 0.3
0: system_matrix_resize_time : 0.00011964
end of prediction
 MESH MOVED 
build time: 7.5741e-05
SuperLU solver finished.

system solve time: 0.000190904
Solution obtained = [33](1.06418,1.87749e-09,-5.96445e-08,1.06418,-5.73155e-08,8.09568e-08,1.06418,5.93235e-08,5.19264e-08,1.06418,7.15665e-09,-1.55708e-09,1.06418,1.87951e-07,-2.92411e-08,1.06418,-1.33798e-07,-5.37665e-08,1.06418,2.41022e-08,2.57996e-08,1.06418,-1.80791e-07,-1.08511e-07,1.06418,2.64141e-07,-1.17359e-07,1.06418,3.02144e-08,1.29236e-07,1.06418,-2.40666e-08,1.53348e-07)
RHS  = [33](0,0,-0.684041,0,0.439692,-0.524005,0,-0.439692,-0.524005,0,0,0,0,0.673649,-0.118782,0,-0.673649,-0.118782,0,0,0,0,0.592395,0.342019,0,-0.592395,0.342019,0,0.233956,0.642788,0,-0.233956,0.642788)
 MESH MOVED 
CONVERGENCE CHECK:
 VELOC.: ratio = 1; exp.ratio = 0.01 abs = 2.2618e-08 exp.abs = 0.0001
 PRESS.: ratio = 1; exp.ratio = 0.01 abs = 0.320862 exp.abs = 0.0001
build time: 6.5533e-05
SuperLU solver finished.

system solve time: 0.000132524
Solution obtained = [33](-3.09098e-08,5.35802e-09,-2.68822e-08,3.96777e-08,-1.85545e-08,3.30036e-08,1.25344e-08,2.86129e-08,1.03781e-08,-4.83826e-09,7.70206e-09,-2.06764e-10,-1.05603e-07,8.65159e-08,-9.70279e-09,-1.2908e-07,-7.70207e-08,-3.84078e-08,-2.95582e-08,2.1161e-08,2.26401e-08,1.44521e-07,-1.12416e-07,-7.04112e-08,1.74317e-07,1.18669e-07,-4.06101e-08,-3.95408e-08,1.58251e-08,5.25991e-08,-1.17097e-07,-2.83853e-09,7.13943e-08)
RHS  = [33](-1.0759e-08,4.69207e-09,-1.49059e-07,1.30425e-08,-1.43238e-07,2.02321e-07,7.58578e-09,1.75533e-07,1.53646e-07,4.48837e-09,7.86993e-08,-1.71227e-08,-5.03743e-08,5.5613e-07,-8.65217e-08,-5.11027e-08,-6.60197e-07,-2.653e-07,-1.54203e-08,2.06451e-07,2.2099e-07,9.02234e-08,-8.92077e-07,-5.35425e-07,6.93565e-08,6.16938e-07,-2.74108e-07,-2.47384e-08,7.05701e-08,3.01848e-07,-3.23018e-08,-4.77868e-08,3.04489e-07)
 MESH MOVED 
CONVERGENCE CHECK:
 VELOC.: ratio = 0.332388; exp.ratio = 0.01 abs = 1.11865e-08 exp.abs = 0.0001
 PRESS.: ratio = 8.86709e-08; exp.ratio = 0.01 abs = 2.84511e-08 exp.abs = 0.0001
*** CONVERGENCE IS ACHIEVED ***
ResidualBasedBlockBuilderAndSolver Clear Function called
Newton Raphson strategy Clear function used
Executing mesh solver
LINEAR SOLVER IS ------------------------------------------------------> MixedUP
STEP =  4
TIME =  0.4
Executing monolithic lagrangian solver
Setting up the dofs
setup_dofs_time : 0.00162958
0: setup_system_time : 4.9222e-05

CurrentTime = 0.4
0: system_matrix_resize_time : 0.000138957
end of prediction
 MESH MOVED 
build time: 6.7591e-05
SuperLU solver finished.

system solve time: 0.000152306
Solution obtained = [33](-1.03813e-08,6.37183e-09,-1.25725e-08,1.48563e-08,-3.6496e-09,1.23256e-08,2.46989e-08,1.53432e-08,-1.72833e-09,-1.91775e-10,4.49003e-09,-8.39634e-10,-7.64039e-08,4.08095e-08,-5.6194e-09,1.33115e-08,-4.27135e-08,-2.63177e-08,-1.72026e-08,1.26564e-08,1.54382e-08,1.17203e-08,-6.90813e-08,-4.57742e-08,1.07461e-07,5.56389e-08,-1.5841e-08,-5.26524e-08,9.73652e-09,2.36704e-08,-6.79383e-08,2.58249e-09,3.627e-08)
RHS  = [33](-6.72419e-09,1.33903e-08,-6.71819e-08,3.4013e-09,-4.63699e-08,8.24798e-08,-2.575e-09,8.46631e-08,3.07079e-08,2.00651e-09,8.4697e-08,-2.27371e-09,-2.2588e-08,2.55993e-07,-2.87097e-08,-1.84921e-08,-3.80042e-07,-1.89515e-07,-8.16785e-09,1.81258e-07,1.93928e-07,4.86435e-08,-5.54693e-07,-3.47429e-07,3.10931e-08,2.77169e-07,-9.48506e-08,-1.00068e-08,3.69618e-08,1.22853e-07,-1.65905e-08,-5.6362e-09,1.41761e-07)
 MESH MOVED 
CONVERGENCE CHECK:
 VELOC.: ratio = 0.152192; exp.ratio = 0.01 abs = 6.00054e-09 exp.abs = 0.0001
 PRESS.: ratio = 4.59676e-08; exp.ratio = 0.01 abs = 1.47492e-08 exp.abs = 0.0001
*** CONVERGENCE IS ACHIEVED ***
ResidualBasedBlockBuilderAndSolver Clear Function called
Newton Raphson strategy Clear function used
Executing mesh solver
LINEAR SOLVER IS ------------------------------------------------------> MixedUP
STEP =  5
TIME =  0.5
Executing monolithic lagrangian solver
Setting up the dofs
setup_dofs_time : 4.5877e-05
0: setup_system_time : 2.6093e-05

CurrentTime = 0.5
0: system_matrix_resize_time : 0.000109105
end of prediction
 MESH MOVED 
build time: 6.7544e-05
SuperLU solver finished.

system solve time: 0.00015374
Solution obtained = [33](-3.20094e-09,5.99898e-09,-6.84236e-09,1.72887e-09,1.40094e-09,3.26545e-09,1.79035e-08,8.97294e-09,-5.16936e-09,-1.93851e-09,1.78202e-09,-1.57313e-09,-4.90191e-08,1.93139e-08,-5.05435e-09,3.43629e-08,-2.32445e-08,-1.81149e-08,-9.22424e-09,6.04333e-09,9.53594e-09,-1.31576e-08,-4.26408e-08,-3.02633e-08,6.46688e-08,2.66692e-08,-7.67748e-09,-3.97191e-08,6.21025e-09,1.08843e-08,-3.83749e-08,2.81586e-09,1.94076e-08)
RHS  = [33](-4.46725e-09,1.5924e-08,-3.14201e-08,-8.60418e-10,-9.12078e-09,3.0803e-08,-4.61002e-09,4.53993e-08,-5.11397e-09,-4.44036e-10,4.93753e-08,-9.23317e-09,-1.04446e-08,1.20752e-07,-1.66273e-08,-7.18424e-09,-2.10761e-07,-1.29859e-07,-3.70763e-09,1.08411e-07,1.32238e-07,2.9486e-08,-3.40867e-07,-2.25863e-07,1.50488e-08,1.29952e-07,-3.6999e-08,-3.95483e-09,2.2741e-08,5.52855e-08,-8.86186e-09,5.12781e-09,7.20181e-08)
 MESH MOVED 
CONVERGENCE CHECK:
 VELOC.: ratio = 0.0802191; exp.ratio = 0.01 abs = 3.41627e-09 exp.abs = 0.0001
 PRESS.: ratio = 3.02667e-08; exp.ratio = 0.01 abs = 9.71142e-09 exp.abs = 0.0001
*** CONVERGENCE IS ACHIEVED ***
ResidualBasedBlockBuilderAndSolver Clear Function called
Newton Raphson strategy Clear function used
Executing mesh solver
LINEAR SOLVER IS ------------------------------------------------------> MixedUP
STEP =  6
TIME =  0.6
Executing monolithic lagrangian solver
Setting up the dofs
setup_dofs_time : 6.4644e-05
0: setup_system_time : 3.993e-06

CurrentTime = 0.6
0: system_matrix_resize_time : 0.000117793
end of prediction
 MESH MOVED 
build time: 6.2206e-05
SuperLU solver finished.

system solve time: 0.000162441
Solution obtained = [33](-9.92264e-10,5.03168e-09,-4.7147e-09,-3.68874e-09,2.52151e-09,-6.74537e-10,1.09546e-08,5.60309e-09,-5.96606e-09,-2.75816e-09,8.26323e-11,-2.10704e-09,-3.01318e-08,8.86301e-09,-4.99464e-09,2.84815e-08,-1.25483e-08,-1.29043e-08,-5.06132e-09,1.95631e-09,5.40615e-09,-1.26657e-08,-2.67109e-08,-2.05853e-08,3.82952e-08,1.26504e-08,-4.92725e-09,-2.59248e-08,3.78073e-09,4.49209e-09,-2.17975e-08,1.691e-09,1.05282e-08)
RHS  = [33](-3.50191e-09,1.49922e-08,-1.70999e-08,-2.47373e-09,3.50112e-09,8.16076e-09,-4.62114e-09,2.65501e-08,-1.52957e-08,-1.5584e-09,1.95962e-08,-1.72992e-08,-4.85611e-09,5.7148e-08,-1.49554e-08,-3.09906e-09,-1.14695e-07,-8.93841e-08,-1.36067e-09,5.17651e-08,8.16816e-08,1.94826e-08,-2.10402e-07,-1.49328e-07,7.74322e-09,6.22898e-08,-1.79318e-08,-9.97275e-10,1.45049e-08,2.54217e-08,-4.75753e-09,5.5912e-09,3.85359e-08)
 MESH MOVED 
CONVERGENCE CHECK:
 VELOC.: ratio = 0.046449; exp.ratio = 0.01 abs = 2.06107e-09 exp.abs = 0.0001
 PRESS.: ratio = 1.93435e-08; exp.ratio = 0.01 abs = 6.20658e-09 exp.abs = 0.0001
*** CONVERGENCE IS ACHIEVED ***
ResidualBasedBlockBuilderAndSolver Clear Function called
Newton Raphson strategy Clear function used
Executing mesh solver
LINEAR SOLVER IS ------------------------------------------------------> MixedUP
STEP =  7
TIME =  0.7
Executing monolithic lagrangian solver
Setting up the dofs
setup_dofs_time : 4.425e-05
0: setup_system_time : 2.5574e-05

CurrentTime = 0.7
0: system_matrix_resize_time : 0.000106433
end of prediction
 MESH MOVED 
build time: 6.184e-05
SuperLU solver finished.

system solve time: 0.000146258
Solution obtained = [33](-6.0424e-10,3.92488e-09,-3.99156e-09,-5.24013e-09,2.23239e-09,-2.3344e-09,6.32926e-09,3.63904e-09,-5.93997e-09,-2.71303e-09,-8.62431e-10,-2.45651e-09,-1.83525e-08,3.66929e-09,-4.84355e-09,1.96656e-08,-6.80641e-09,-9.68304e-09,-2.87493e-09,-3.15449e-10,2.63374e-09,-8.2107e-09,-1.71299e-08,-1.45202e-08,2.2533e-08,5.6012e-09,-3.99845e-09,-1.58434e-08,2.02774e-09,1.05442e-09,-1.26116e-08,4.9343e-10,5.49598e-09)
RHS  = [33](-3.14639e-09,1.25748e-08,-1.17826e-08,-2.87407e-09,6.30155e-09,-1.68575e-09,-4.28074e-09,1.65791e-08,-1.7653e-08,-1.93731e-09,9.08682e-10,-2.31704e-08,-2.17601e-09,2.62249e-08,-1.47787e-08,-1.62103e-09,-6.19167e-08,-6.36737e-08,-9.36211e-11,1.67571e-08,4.63073e-08,1.37546e-08,-1.31799e-07,-1.01574e-07,4.19823e-09,2.95467e-08,-1.15083e-08,6.23971e-10,8.83043e-09,1.04919e-08,-2.44762e-09,3.35767e-09,2.09049e-08)
 MESH MOVED 
CONVERGENCE CHECK:
 VELOC.: ratio = 0.029498; exp.ratio = 0.01 abs = 1.3395e-09 exp.abs = 0.0001
 PRESS.: ratio = 1.19948e-08; exp.ratio = 0.01 abs = 3.84866e-09 exp.abs = 0.0001
*** CONVERGENCE IS ACHIEVED ***
ResidualBasedBlockBuilderAndSolver Clear Function called
Newton Raphson strategy Clear function used
Executing mesh solver
LINEAR SOLVER IS ------------------------------------------------------> MixedUP
STEP =  8
TIME =  0.7999999999999999
Executing monolithic lagrangian solver
Setting up the dofs
setup_dofs_time : 4.8378e-05
0: setup_system_time : 2.7089e-05

CurrentTime = 0.8
0: system_matrix_resize_time : 0.000105703
end of prediction
 MESH MOVED 
build time: 6.7352e-05
SuperLU solver finished.

system solve time: 0.000149346
Solution obtained = [33](-7.55512e-10,2.89694e-09,-3.76763e-09,-5.1172e-09,1.56434e-09,-2.98161e-09,3.54701e-09,2.38483e-09,-5.67037e-09,-2.33084e-09,-1.34386e-09,-2.67904e-09,-1.12604e-08,1.05812e-09,-4.57763e-09,1.28458e-08,-3.79769e-09,-7.70112e-09,-1.66487e-09,-1.48139e-09,7.83747e-10,-4.54393e-09,-1.13456e-08,-1.06696e-08,1.32822e-08,1.97067e-09,-3.70212e-09,-9.27123e-09,7.715e-10,-8.54906e-10,-7.45817e-09,-4.31079e-10,2.47732e-09)
RHS  = [33](-3.02196e-09,9.80874e-09,-9.97538e-09,-2.77915e-09,5.57901e-09,-5.83393e-09,-3.98721e-09,1.07676e-08,-1.75758e-08,-2.00677e-09,-9.48386e-09,-2.70134e-08,-8.48076e-10,1.08571e-08,-1.43316e-08,-1.14509e-09,-3.35848e-08,-4.77789e-08,6.36952e-10,-2.70202e-09,2.25597e-08,1.02658e-08,-8.4524e-08,-7.16469e-08,2.40726e-09,1.30824e-08,-9.33896e-09,1.55829e-09,4.73607e-09,2.46274e-09,-1.08007e-09,9.79758e-10,1.09129e-08)
 MESH MOVED 
CONVERGENCE CHECK:
 VELOC.: ratio = 0.0208824; exp.ratio = 0.01 abs = 9.61193e-10 exp.abs = 0.0001
 PRESS.: ratio = 7.37742e-09; exp.ratio = 0.01 abs = 2.36713e-09 exp.abs = 0.0001
*** CONVERGENCE IS ACHIEVED ***
ResidualBasedBlockBuilderAndSolver Clear Function called
Newton Raphson strategy Clear function used
Executing mesh solver
LINEAR SOLVER IS ------------------------------------------------------> MixedUP
STEP =  9
TIME =  0.8999999999999999
Executing monolithic lagrangian solver
Setting up the dofs
setup_dofs_time : 4.5109e-05
0: setup_system_time : 2.5544e-05

CurrentTime = 0.9
0: system_matrix_resize_time : 0.000107719
end of prediction
 MESH MOVED 
build time: 6.0447e-05
SuperLU solver finished.

system solve time: 0.000153702
Solution obtained = [33](-9.6542e-10,2.02958e-09,-3.69422e-09,-4.3995e-09,9.03e-10,-3.18605e-09,1.91651e-09,1.52179e-09,-5.35022e-09,-1.88874e-09,-1.56333e-09,-2.82086e-09,-7.01931e-09,-2.57201e-10,-4.26348e-09,8.27472e-09,-2.27254e-09,-6.46827e-09,-9.58973e-10,-2.02439e-09,-4.58291e-10,-2.20156e-09,-7.82862e-09,-8.18033e-09,7.90352e-09,8.21565e-11,-3.62623e-09,-5.20291e-09,-1.1052e-10,-1.92139e-09,-4.49284e-09,-1.05691e-09,5.87599e-10)
RHS  = [33](-2.96428e-09,7.23979e-09,-9.41575e-09,-2.52303e-09,3.90946e-09,-7.4514e-09,-3.79446e-09,7.05651e-09,-1.67781e-08,-1.96432e-09,-1.4778e-08,-2.94605e-08,-1.72331e-10,3.13089e-09,-1.35448e-08,-1.06827e-09,-1.87389e-08,-3.79995e-08,1.08465e-09,-1.26891e-08,6.71331e-09,8.05081e-09,-5.59825e-08,-5.2647e-08,1.48459e-09,4.60279e-09,-8.64683e-09,2.09993e-09,1.80195e-09,-1.99675e-09,-2.33299e-10,-8.55953e-10,4.91899e-09)
 MESH MOVED 
CONVERGENCE CHECK:
 VELOC.: ratio = 0.016568; exp.ratio = 0.01 abs = 7.68917e-10 exp.abs = 0.0001
 PRESS.: ratio = 4.57518e-09; exp.ratio = 0.01 abs = 1.468e-09 exp.abs = 0.0001
*** CONVERGENCE IS ACHIEVED ***
ResidualBasedBlockBuilderAndSolver Clear Function called
Newton Raphson strategy Clear function used
Executing mesh solver
LINEAR SOLVER IS ------------------------------------------------------> MixedUP
STEP =  10
TIME =  0.9999999999999999
Executing monolithic lagrangian solver
Setting up the dofs
setup_dofs_time : 6.3393e-05
0: setup_system_time : 2.6513e-05

CurrentTime = 1
0: system_matrix_resize_time : 0.000113629
end of prediction
 MESH MOVED 
build time: 6.131e-05
SuperLU solver finished.

system solve time: 0.000144479
Solution obtained = [33](-1.09311e-09,1.33553e-09,-3.64986e-09,-3.56948e-09,3.65369e-10,-3.2038e-09,9.61293e-10,8.96262e-10,-5.04448e-09,-1.49118e-09,-1.64269e-09,-2.91201e-09,-4.46465e-09,-9.13907e-10,-3.95265e-09,5.34582e-09,-1.53951e-09,-5.68252e-09,-5.29853e-10,-2.23463e-09,-1.29982e-09,-8.55704e-10,-5.66968e-09,-6.53723e-09,4.78819e-09,-8.95533e-10,-3.62064e-09,-2.75788e-09,-7.16793e-10,-2.50946e-09,-2.73053e-09,-1.44674e-09,-6.32605e-10)
RHS  = [33](-2.91485e-09,5.07216e-09,-9.23228e-09,-2.2478e-09,2.25671e-09,-7.96231e-09,-3.6785e-09,4.50285e-09,-1.58308e-08,-1.89021e-09,-1.71915e-08,-3.102e-08,1.79511e-10,-7.61034e-10,-1.26152e-08,-1.14547e-09,-1.12134e-08,-3.19163e-08,1.37077e-09,-1.73402e-08,-3.92557e-09,6.60087e-09,-3.86287e-08,-4.03641e-08,1.00772e-09,1.91888e-10,-8.46958e-09,2.40686e-09,-2.58135e-10,-4.48768e-09,3.11095e-10,-2.09861e-09,1.16674e-09)
 MESH MOVED 
CONVERGENCE CHECK:
 VELOC.: ratio = 0.0144126; exp.ratio = 0.01 abs = 6.72405e-10 exp.abs = 0.0001
 PRESS.: ratio = 2.89766e-09; exp.ratio = 0.01 abs = 9.29747e-10 exp.abs = 0.0001
*** CONVERGENCE IS ACHIEVED ***
ResidualBasedBlockBuilderAndSolver Clear Function called
Newton Raphson strategy Clear function used
Executing mesh solver
LINEAR SOLVER IS ------------------------------------------------------> MixedUP
STEP =  11
TIME =  1.0999999999999999
Executing monolithic lagrangian solver
Setting up the dofs
setup_dofs_time : 4.3823e-05
0: setup_system_time : 2.5879e-05

CurrentTime = 1.1
0: system_matrix_resize_time : 0.000110448
end of prediction
 MESH MOVED 
build time: 6.0334e-05
SuperLU solver finished.

system solve time: 0.000145091
Solution obtained = [33](-1.12681e-09,7.97558e-10,-3.60016e-09,-2.81703e-09,-3.53668e-11,-3.149e-09,3.97442e-10,4.2868e-10,-4.77289e-09,-1.16513e-09,-1.65109e-09,-2.97063e-09,-2.90337e-09,-1.23377e-09,-3.67154e-09,3.48848e-09,-1.22006e-09,-5.1632e-09,-2.61119e-10,-2.27619e-09,-1.87452e-09,-1.35928e-10,-4.32864e-09,-5.4287e-09,2.984e-09,-1.38975e-09,-3.62891e-09,-1.31908e-09,-1.12546e-09,-2.8235e-09,-1.64623e-09,-1.6717e-09,-1.43736e-09)
RHS  = [33](-2.85899e-09,3.33765e-09,-9.12145e-09,-2.00545e-09,9.131e-10,-8.00669e-09,-3.60867e-09,2.65196e-09,-1.49262e-08,-1.81425e-09,-1.80641e-08,-3.20224e-08,3.66452e-10,-2.70417e-09,-1.16955e-08,-1.27122e-09,-7.59637e-09,-2.80392e-08,1.55772e-09,-1.9141e-08,-1.11338e-08,5.62747e-09,-2.79758e-08,-3.22566e-08,7.63601e-10,-2.09164e-09,-8.45652e-09,2.57205e-09,-1.67417e-09,-5.8612e-09,6.7128e-10,-2.87266e-09,-1.2561e-09)
 MESH MOVED 
CONVERGENCE CHECK:
 VELOC.: ratio = 0.0132862; exp.ratio = 0.01 abs = 6.2205e-10 exp.abs = 0.0001
 PRESS.: ratio = 1.89556e-09; exp.ratio = 0.01 abs = 6.08214e-10 exp.abs = 0.0001
*** CONVERGENCE IS ACHIEVED ***
ResidualBasedBlockBuilderAndSolver Clear Function called
Newton Raphson strategy Clear function used
Executing mesh solver
ResidualBasedBlockBuilderAndSolver Clear Function called
Newton Raphson strategy Clear function used
Segmentation fault (core dumped)

however, the pressure and velocity and also the curvature will be undefined as

undefined

  1. Also, please note that if I change the followings (in line 208) "SurfaceTension_monolithic_solver"
   if(self.eul_model_part == 0):
        #marking the fluid
            (self.fluid_neigh_finder).Execute();
            (self.ulf_apply_bc_process).Execute();  
            self.Remesh()

by commenting the last line here "self.Remesh()", so I will get all values are zeros including curvatures and pressure and velocities.

Thanks and best regards,

Lap_young_lagr.txt SurfaceTension_monolithic_solver.txt mesh_solver.txt

elafnm commented 6 years ago

so we might think that we are having an issue with the Remesh, or I need to enable a specific flag, or correct my initializations, or add specific variables to the structural solver that I did not add,,, we are not very sure but we tried so many things,

again, thank you for you time and efforts, this is highly appreciated by all of us

with our best regards,

elafnm commented 6 years ago

@playpaolo one last thing please sorry about that but I just noticed that, in case if I use the structural mesh solver as attached, and then commented the "Remesh" so I will get zeros results for curvatures and pressure and velocity.... where if I dont comment the "Remesh" so I will get an error as earlier where the nodes are erased,

thanks and best regards,

"R mesh_solver.txt emesh"

philbucher commented 6 years ago

hi @elafnm try to follow what is done in the ale_navier_stokes_solver... classes. This is what we use and what works for us. The test example is not working at the moment and will be updated at some point.

elafnm commented 6 years ago

Thank you very much dear @philbucher, and as you could notice please from the attached document here that I am more or less following the same structure as needed (as I think so far) but instead of using "customsettings" so I am using/initializing the related settings directly (but I am not sure I am missing something or if the order is important). but the thing that the curvature is being calculated when we use it!

our question here please, do you think in our case here that this error

"Trigen PFEM Refining Mesher" : Trigen PFEM Refining Mesher
"Number of nodes after erasing" : Number of nodes after erasing
ThisModelPart.Nodes().size() : 0
Segmentation fault (core dumped)

is related to the structural_similarity solver only, or it may be due to other reasons; noting that this error will disappear when we comment the "Remesh" from the SurfaceTension_monolithic_solver but we will get zeros for the pressures and velocities (but not the curvature). in other words, is the "Remesh" function here is related to the structural_similarities solver itself; and in case if yes is there other reasons that I need to look for.

for our code here, one more thing please as it came in our mind now, do we need to define a specific variables for the structural_similarities that was not defined in the laplacian_solver!

best regards,

Thanks and best regards,

https://github.com/KratosMultiphysics/Kratos/files/1561414/mesh_solver.txt

philbucher commented 6 years ago

Hi @elafnm As far as I could see you are initializing the mesh solver correctly, also the variables are the same for the laplacian and the structural similarity. Still I would recommend to use the solver provided by the ALE app to be sure that it works (simplest would be to include it into your current mesh solver if you don't want to change other things) Unfortunately I cannot help you with the other errors, I have no knowledge abt pfem and remeshing. But to me it looks like there is sth wrong with the remeshing since the number of nodes should not be zero afterwards I guess

playpaolo commented 6 years ago

Hello @elafnm . If you comment Remesh function, you should not enter into Trigen PFEM Refining Mesher. You have to check, where else you are caling the mesher inside your script. It has nothing to do with structural solver (structural solver will never call Trigen PFEM mesher, which is a mesher programmed for Lagrangian fluids).

elafnm commented 6 years ago

Greetings dear Dr. Pavel and very good day to you,

yes, we observed that when we commented the Remesh function so we will not enter the Trigen PFEM Refining Mesher (as we are not receiving the ""Trigen PFEM Refining Mesher" KRATOS_WATCH message that is existing there)

what is interesting to us, and might lead to the solution of our concern,

  1. when we use the
self.Mesher = TriGenGLASSModeler() 

and

(self.Mesher).ReGenerateMeshGlass

we receive the following error, without "ThisModelPart.Nodes().size() : 0", such as

"Trigen GLASS Refining Mesher" : Trigen GLASS Refining Mesher
Segmentation fault (core dumped)
  1. However, when we use

    ReGenerateMesh

    and

    TriGenPFEMModeler()

    so we receive the following errors,

    "Trigen PFEM Refining Mesher" : Trigen PFEM Refining Mesher
    "Number of nodes after erasing" : Number of nodes after erasing
    ThisModelPart.Nodes().size() : 0
    Segmentation fault (core dumped)
  2. In "Lap_young_lagr.py", which is the python script that run the program,,,, and noting that lag_solveer is the SurfaceTension_monolithic_solver, so, when we comment both the "lag_solver.solve()" and "mesh_solver.solve",

if(step >= 3):
        print("Executing monolithic lagrangian solver")
        #lag_solver.Solve()
        print("Executing mesh solver")
        #mesh_solver.Solve()

we will get the exactly same result (including the correct results of the curvature and zeros values of pressure and velocity) exactly as if we comment the lag_solver.solve(), such that:

elaf@elaf-Lenovo-G40-80:~/Kratos/applications/ULFapplication/droplet_example$ python3 Lap_young_lagr.py
 |  /           |             
 ' /   __| _` | __|  _ \   __|
 . \  |   (   | |   (   |\__ \ 
_|\_\_|  \__,_|\__|\___/ ____/
           Multi-Physics 5.1.0-a7a6f73
Importing    KratosIncompressibleFluidApplication
Initializing KratosIncompressibleFluidApplication... 
Initializing KratosIncompressibleFluidApplication...Register completed 
Initializing KratosIncompressibleFluidApplication...variables succesfully registered 
Initializing KratosIncompressibleFluidApplication...elements succesfully registered 
Importing    KratosULFApplication
Initializing Kratos ULFApplication... 
Importing    KratosExternalSolversApplication
Initializing KratosExternalSolversApplication... 
Importing    KratosMeshingApplication
Initializing Kratos MeshingApplication... 
Importing    KratosStructuralApplication
Initializing KratosStructuralApplication... 
Importing    KratosFluidDynamicsApplication
Initializing KratosFluidDynamicsApplication... 
Importing    KratosALEApplication
KRATOS    ___   __   ____             
         / _ | / /  / __/             
        / __ |/ /__/ _/               
       /_/ |_/____/___/  application  
Initializing KratosALEApplication...  
  [Reading Nodes    : 11 nodes read]
  [Reading Elements : 11 elements read] [Type: SurfaceTension2D]
  [Total Lines Read : 72]
dofs for the SurfaceTension monolithic solver added correctly
variables for the mesh solver added correctly
Construction monolithic solver finished
after reading all the model contains:
-LagrangianPart- model part
    Buffer Size : 1
    Number of tables : 0
    Number of sub model parts : 0
    Current solution step index : 0

    Mesh 0 : 
        Number of Nodes      : 11
        Number of Properties : 1
        Number of Elements   : 11
        Number of Conditions : 0

finished moving the mesh
mesh solver created
"Trigen GLASS Refining Mesher" : Trigen GLASS Refining Mesher
"Number of nodes after erasing" : Number of nodes after erasing
ThisModelPart.Nodes().size() : 11
Constructing Delaunay triangulation by divide-and-conquer method.
Delaunay milliseconds:  0

Writing vertices.
Writing triangles.
Writing edges.
Writing neighbors.

Output milliseconds:  0
Total running milliseconds:  0

Statistics:

  Input vertices: 11

  Mesh vertices: 11
  Mesh triangles: 11
  Mesh edges: 21
  Mesh exterior boundary edges: 9

mesh generation time = 0.006834Reconstructing mesh.
Mesh reconstruction milliseconds:  0
Adding Steiner points to enforce quality.
Quality milliseconds:  0

Writing vertices.
Writing triangles.
Writing neighbors.

Output milliseconds:  0
Total running milliseconds:  0

Statistics:

  Input vertices: 11
  Input triangles: 11

  Mesh vertices: 11
  Mesh triangles: 11
  Mesh edges: 21
  Mesh exterior boundary edges: 9
  Mesh interior boundary edges: 0
  Mesh subsegments (constrained edges): 9

"Adaptive remeshing executed" : Adaptive remeshing executed
During refinement we added 0 nodes 
"Finished remeshing with Trigen_GLASS_Refine" : Finished remeshing with Trigen_GLASS_Refine
end of remesh function
lagrangian solver created
LINEAR SOLVER IS ------------------------------------------------------> MixedUP
STEP =  1
TIME =  0.1
LINEAR SOLVER IS ------------------------------------------------------> MixedUP
STEP =  2
TIME =  0.2
LINEAR SOLVER IS ------------------------------------------------------> MixedUP
STEP =  3
TIME =  0.30000000000000004
Executing monolithic lagrangian solver
Executing mesh solver
LINEAR SOLVER IS ------------------------------------------------------> MixedUP
STEP =  4
TIME =  0.4
Executing monolithic lagrangian solver
Executing mesh solver
LINEAR SOLVER IS ------------------------------------------------------> MixedUP
STEP =  5
TIME =  0.5
Executing monolithic lagrangian solver
Executing mesh solver
LINEAR SOLVER IS ------------------------------------------------------> MixedUP
STEP =  6
TIME =  0.6
Executing monolithic lagrangian solver
Executing mesh solver
LINEAR SOLVER IS ------------------------------------------------------> MixedUP
STEP =  7
TIME =  0.7
Executing monolithic lagrangian solver
Executing mesh solver
LINEAR SOLVER IS ------------------------------------------------------> MixedUP
STEP =  8
TIME =  0.7999999999999999
Executing monolithic lagrangian solver
Executing mesh solver
LINEAR SOLVER IS ------------------------------------------------------> MixedUP
STEP =  9
TIME =  0.8999999999999999
Executing monolithic lagrangian solver
Executing mesh solver
LINEAR SOLVER IS ------------------------------------------------------> MixedUP
STEP =  10
TIME =  0.9999999999999999
Executing monolithic lagrangian solver
Executing mesh solver
LINEAR SOLVER IS ------------------------------------------------------> MixedUP
STEP =  11
TIME =  1.0999999999999999
Executing monolithic lagrangian solver
Executing mesh solver
ResidualBasedBlockBuilderAndSolver Clear Function called
Newton Raphson strategy Clear function used

which means there is no difference if we call the mesh_solver or not,,,,

Accordingly please, is it because there is an issue in the Remesh function that should be solved first, or we need to look for other files.

SurfaceTension_monolithic_solver.txt

Thanks and best regards,

playpaolo commented 6 years ago

Hi @elafnm . You should not use TriGenGLASSModeler(), as this is a mesher meant for a particular problem of glass forming process. You should add the mesher that was previously developed by Alex for droplet problems. Give it a different name (TrigenDropletMesher or something like this).

The error you are sending here ("Trigen PFEM Refining Mesher" : Trigen PFEM Refining Mesher "Number of nodes after erasing" : Number of nodes after erasing ThisModelPart.Nodes().size() : 0 Segmentation fault (core dumped)

This appears because your model and elements become erased. If you want to check that the mesher works correctly, just do not solve anything. Simply execute the re-meshing function at every step. Once again, you should use Alex's mesher, not the TrigenGlass.

elafnm commented 6 years ago

Dears, @playpaolo and @philbucher

Greetings and very good day to you,

Thank you very much for you help and guidance, I would like to share with you the good news that we start getting some results, as we start getting correct values for the pressures, velocity and curvatures as you can see in the attached figures

03 vel 03 curv 03 pres

please note that based on your recommendations, Dr. Alex as well gave me the source of error and he corrected it such that, the following lines to be commented from the monolithic solver (inside "def Solve (self)" as shown in the SurfaceTension_monolithic_solver):

    #if self.divergence_clearance_steps > 0:
            #print("Calculating divergence-free initial condition")
            ## initialize with a Stokes solution step
            #try:
                #import KratosMultiphysics.ExternalSolversApplication as kes
                #smoother_type = kes.AMGCLSmoother.DAMPED_JACOBI
                #solver_type = kes.AMGCLIterativeSolverType.CG
                #gmres_size = 50
                #max_iter = 200
                #tol = 1e-6
                #verbosity = 0
                #stokes_linear_solver = kes.AMGCLSolver(
                    #smoother_type,
                    #solver_type,
                    #tol,
                    #max_iter,
                    #verbosity,
                    #gmres_size)
            #except:
                #pPrecond = DiagonalPreconditioner()
                #stokes_linear_solver = BICGSTABSolver(1e-6, 5000, pPrecond)
            #stokes_process = StokesInitializationProcess(
                #self.model_part,
                #stokes_linear_solver,
                #self.domain_size,
                #PATCH_INDEX)
            ## copy periodic conditions to Stokes problem
            #stokes_process.SetConditions(self.model_part.Conditions)
            ## execute Stokes process
            #stokes_process.Execute()
            #stokes_process = None

please note the two points below where we need your kind support, and after that I will update all our steps/files in github:

  1. Actually, I am not sure why we need to comment the above lines inside the solver, could you please advise why we need to comment the above lines (noting that it was not commented in the previous version of Kratos), also if this will affect the code results in future!

  2. Also, kindly we need one more and important advice please, such that, when we try to start running the code using an initial geometry other than a circular, we found that the mesh is not moving (i.e. the shape of the object will remain as started,,, for example if we start with a square shape so the final shape will be a square, where it should be converted from square to circle "droplet" as you fully aware)! so I am not sure which function is to be used, though I used mesh function inside the structural similarities solver (named "mesh_solver" as attached), and also tried to follow the P-Glass solver example......

SurfaceTension_monolithic_solver.txt mesh_solver.txt

Thanks and best regards,

elafnm commented 6 years ago

Greetings dear Dr. Pavel @playpaolo

we are almost there, we are having two issues so that this task would be completed,

  1. I noticed that when I increase the "Dt" to be "0.01", the solution will diverge!,,, noticing please that it is now working fine when "Dt" is "0.1"

  2. as indicated earlier, when I use square initial geometry, the geometry is not changing at all and I start getting strange outputs with final errors of

"Number of nodes after erasing" : Number of nodes after erasing
ThisModelPart.Nodes().size() : 36
Constructing Delaunay triangulation by divide-and-conquer method.

such that:

698503,1.39712e-06,-0.0352407,-0.0250772,5.66058e-07,0.0268351,-0.0420794,-3.02954e-07,0.0050896,-0.00714483,8.00237e-06,-0.00303091,0.0450014,2.35681e-05,-0.0823241,0.148591,-9.81186e-06,-0.00377935,0.0106172,5.21259e-06,-0.0168149,0.043644)
 MESH MOVED 
CONVERGENCE CHECK:
 VELOC.: ratio = 0.872922; exp.ratio = 0.01 abs = 0.00898582 exp.abs = 0.0001
 PRESS.: ratio = 1.03492; exp.ratio = 0.01 abs = 35.4841 exp.abs = 0.0001
build time: 0.000254323
SuperLU solver finished.

system solve time: 0.000599479
Solution obtained = [111](263.745,-0.0756086,0.148079,169.215,-0.0454854,0.0129219,165.831,-0.0512629,-0.0124563,106.048,-0.0332341,0.0179639,71.7069,0.023563,0.00647265,94.2707,-0.0191985,-0.0131497,92.2742,-0.0301264,0.0112563,75.3042,-0.0076771,0.0191995,68.1981,0.0156578,0.0155015,58.6141,0.0250438,-0.000399442,77.2263,0.000924176,-0.0236341,71.4625,-0.00116006,0.00581394,67.51,0.0122193,0.0179273,70.7367,0.00750271,0.0198703,126.776,0.0238312,0.0455132,63.1201,0.0165419,0.0110416,54.9878,0.0111137,0.00416332,360.074,0.0357675,0.0495515,86.4753,0.00380116,0.0440018,65.2111,0.0125543,0.0138831,120.87,-0.0143504,0.0596148,68.2819,0.0100579,0.0154868,76.4736,0.000630059,0.0269096,77.3883,-0.01882,0.0427351,808.732,0.314897,0.302132,50.8897,0.00317389,0.003367,281.788,-0.0704285,0.0423335,57.7157,0.00683648,0.00765338,64.237,0.00564781,0.00451357,72.9983,-0.0429282,0.0240201,61.6966,0.000419181,0.0111812,76.9617,-0.00749579,0.0195545,57.7807,0.00859562,0.00200275,65.1337,-0.0330243,0.0192752,54.8824,0.00361221,-0.00957839,21.0568,-0.000350107,0.00267467,-52.0991,-0.0106545,0.013284)
RHS  = [111](1.29087e-05,-0.429568,0.485355,-1.00084e-05,-1.5012,0.0135579,3.14466e-05,-0.517811,0.508593,-7.95567e-06,0.0059787,-0.0358963,1.12839e-06,0.0611094,0.0401304,-3.54853e-06,-0.0160752,0.108401,-1.60071e-05,0.0161426,-0.00396144,-7.92252e-06,0.000391835,-0.0147328,6.12395e-06,-0.000677056,-0.000122412,8.796e-07,-0.00920161,-0.0140047,-6.53514e-06,0.043151,-0.0402247,-9.77569e-06,-0.00678694,-0.0224348,9.11391e-09,-0.0011925,0.00133018,-2.30455e-06,0.00662244,-0.000128625,-4.11748e-06,-0.0277513,-0.000978945,3.63052e-06,-0.0074671,-0.00598554,6.3389e-07,-0.00484819,-0.00571623,-1.61966e-05,0.489291,2.17184,-2.82381e-06,-0.0102465,-0.00254064,-2.75766e-06,-0.000288766,-0.00301093,-9.09297e-06,0.0173569,-0.0453874,-2.86347e-06,-1.20726e-05,0.0108746,1.54256e-06,0.00129662,-0.00486318,-7.69563e-06,-0.00488488,-0.00239428,5.32975e-05,0.928506,1.04594,-1.20761e-06,0.028137,0.0433948,9.96568e-05,-0.00637271,1.05076,-6.53017e-07,-0.00494231,-0.00566876,1.17164e-05,0.0262358,-0.0382184,-8.28395e-06,0.00469681,-0.00996013,-1.8629e-06,0.0167953,0.0302595,2.45236e-06,-0.0290115,0.0338522,-2.63329e-07,0.0840027,-0.0508241,-8.1875e-06,-0.00476354,-0.00482439,-1.76229e-05,0.185268,-0.368033,3.07202e-05,0.026051,-0.0404022,-8.98699e-06,-0.0193698,0.0510896)
 MESH MOVED 
CONVERGENCE CHECK:
 VELOC.: ratio = 0.478602; exp.ratio = 0.01 abs = 0.00686186 exp.abs = 0.0001
 PRESS.: ratio = 0.506698; exp.ratio = 0.01 abs = 29.131 exp.abs = 0.0001
build time: 0.000253979
SuperLU solver finished.

system solve time: 0.000597081
Solution obtained = [111](-128.411,0.026199,-0.0542991,-91.7639,0.0282036,-0.00850112,-98.523,0.0374927,-0.001083,-60.704,0.0194985,-0.0118283,-42.6681,-0.011764,-0.00528599,-58.3963,0.0108776,0.00402111,-56.5827,0.0200401,-0.0125143,-42.3386,0.00718485,-0.012911,-39.2848,-0.0063505,-0.0104672,-32.3729,-0.0127932,-0.00072601,-42.7625,-0.00459835,0.0143819,-39.0679,0.00379667,-0.00419866,-37.7477,-0.00309447,-0.0105503,-37.6956,0.000326998,-0.0120509,-78.3497,-0.0117316,-0.0268242,-35.7341,-0.00751762,-0.00625137,-29.5959,-0.00597817,-0.00193319,-270.12,-0.026662,-0.00965232,-46.5544,0.00403554,-0.0267647,-37.7044,-0.00521337,-0.00707022,-71.8687,0.0127336,-0.0355401,-37.2448,-0.00293338,-0.0104275,-40.5756,0.00475067,-0.0156503,-38.8852,0.0164369,-0.0269566,-659.531,-0.243889,-0.25239,-25.7161,-0.00241281,-0.00192731,-207.463,0.0514735,-0.0256281,-31.9418,-0.00385727,-0.00430882,-37.9667,-0.00451992,-0.00347286,-34.9266,0.0269409,-0.0156458,-36.2858,-0.00064686,-0.0076788,-42.7209,0.00888144,-0.0136412,-32.8062,-0.00427816,-0.00352574,-30.9544,0.022899,-0.0143245,-29.4861,-0.00457713,0.00821106,-10.6903,-0.000393069,-0.000448099,29.95,0.00562965,-0.0022908)
RHS  = [111](-1.22884e-05,0.258411,-0.259365,6.2674e-06,1.0898,-0.122729,-2.93432e-05,0.43667,-0.383617,6.70572e-06,-0.00733484,0.0393046,-2.73772e-06,-0.0205792,-0.0397335,7.19251e-06,-0.0230244,-0.0904819,1.40971e-05,-0.00606359,-0.0021299,7.14064e-06,-0.000204674,0.0146892,-4.68781e-06,0.000374662,-0.0031889,1.14432e-06,0.0101993,0.00583168,2.18647e-05,-0.0372971,0.0167339,1.67338e-05,0.00882219,0.0356847,-4.62155e-07,0.00077439,-0.00107382,1.82642e-06,-0.00637585,0.00152356,1.55383e-05,0.0502544,0.0149769,-2.6669e-06,0.0039013,0.00597228,-6.99193e-08,0.00356708,0.00843287,0.000105107,-0.215145,0.0241651,8.41055e-06,0.0237721,0.00859275,-2.44072e-06,0.000804477,0.00987709,2.53596e-05,0.0197059,0.0741957,4.44509e-06,0.0039269,-0.0163775,1.21752e-06,0.00317029,0.0074942,1.48933e-05,0.00514271,0.00531045,-5.49727e-05,-1.44462,-1.74743,1.31319e-06,-0.0307042,-0.0480645,-8.62547e-05,-0.505011,-1.03781,-8.50167e-07,0.00379593,0.00764524,-9.68753e-06,-0.0250607,0.020577,2.53065e-05,-0.0506192,0.0454542,-2.09293e-06,-0.0248688,-0.0388202,9.37361e-07,0.0411945,-0.0522997,-7.81074e-07,-0.0341067,0.0265399,1.06249e-05,0.0314848,-0.0210339,1.90228e-05,-0.239767,0.442089,-8.73379e-06,-0.0163892,0.0126926,5.44084e-06,-0.0229249,0.0552008)
 MESH MOVED 
CONVERGENCE CHECK:
 VELOC.: ratio = 0.439012; exp.ratio = 0.01 abs = 0.00510133 exp.abs = 0.0001
 PRESS.: ratio = 0.531381; exp.ratio = 0.01 abs = 21.6435 exp.abs = 0.0001
build time: 0.000249587
SuperLU solver finished.

system solve time: 0.000597216
Solution obtained = [111](30.2601,0.00100154,0.00620767,33.5254,-0.0110934,0.00219139,39.8756,-0.0157766,0.00306516,29.4977,-0.00439156,0.00217632,26.4992,0.00775102,0.00183232,31.3795,-0.00464451,-0.00169548,29.8412,-0.0056213,0.00386455,25.2256,0.00155737,0.00374065,24.9146,0.00635363,0.00313476,21.9026,0.00942717,-0.000244028,25.8524,0.00422058,-0.0106773,23.8826,0.00415144,0.000381112,24.557,0.00618116,0.00426756,24.73,0.00553049,0.00606046,56.3548,0.0155853,0.0230951,23.414,0.00692883,0.0024226,20.2368,0.00415997,0.00112856,213.718,0.023542,0.0162234,32.0979,0.00314837,0.0210258,24.8917,0.00572669,0.00349732,52.7821,-0.00924318,0.0335416,26.001,0.00548507,0.00519766,28.0297,0.0011585,0.0116018,28.9851,-0.00925289,0.0236187,554.242,0.254254,0.212711,18.2234,0.000946665,0.00127397,167.926,-0.0500878,0.0226342,21.5016,0.00270038,0.00236001,25.1769,0.00459576,0.00256722,27.794,-0.0243004,0.0147105,23.8697,0.000616014,0.00414173,30.7781,-0.00315115,0.0117834,22.0427,0.00422808,-0.00012983,22.808,-0.0165607,0.0114036,18.5261,0.00550324,-0.00708401,3.72787,7.03321e-05,0.00131875,-30.073,-0.00845904,0.0073864)
RHS  = [111](2.94334e-06,-0.0416613,0.0424398,-1.16877e-06,-0.432908,0.021009,8.55217e-06,-0.155835,0.151738,-4.01408e-06,0.00476665,-0.019583,1.59513e-06,0.00780431,0.0222883,-2.2824e-06,-0.00386309,0.0613183,-6.53945e-06,0.000907999,-5.96162e-05,-2.72472e-06,-0.00143078,-0.00639421,2.70412e-06,-0.000152339,0.000456877,-5.42025e-09,-0.00276957,-0.00287083,-8.59341e-06,0.0151372,-0.030259,-6.77851e-06,-0.00546687,-0.0158352,-9.50358e-08,-0.000216115,0.00106239,-8.46014e-07,0.00349154,0.000568262,-7.50329e-06,-0.0203499,-0.0127843,1.49068e-06,-0.00251723,-0.00281844,1.43315e-08,-0.00167041,-0.0032312,-3.87124e-05,0.256883,0.58514,-3.6189e-06,-0.00955181,-0.00476177,2.8789e-07,-0.0018868,-0.00493579,-8.99817e-06,0.00110181,-0.0268779,-1.34189e-06,0.000766543,0.00797063,-9.71886e-08,-0.000269285,-0.0049522,-5.30864e-06,-0.00147589,-6.86177e-05,3.79008e-05,0.711387,0.750822,-5.31768e-07,0.0106198,0.018901,7.71384e-05,0.034318,0.644954,2.52246e-07,-0.00261781,-0.00387667,5.54586e-06,0.0155976,-0.0106041,-7.48753e-06,0.00308288,-0.0145914,9.69938e-07,0.0092755,0.01769,1.19204e-06,-0.0258181,0.0384511,1.47085e-06,0.0204956,-0.0214053,-6.40907e-06,-0.0198569,0.0139486,-1.61622e-05,0.165591,-0.281554,1.04849e-05,0.0169994,-0.00848978,-4.4952e-06,-0.00755459,0.00386629)
 MESH MOVED 
CONVERGENCE CHECK:
 VELOC.: ratio = 0.337789; exp.ratio = 0.01 abs = 0.00467696 exp.abs = 0.0001
 PRESS.: ratio = 0.325524; exp.ratio = 0.01 abs = 17.2885 exp.abs = 0.0001
build time: 0.000250127
SuperLU solver finished.

system solve time: 0.000617931
Solution obtained = [111](6.60084,-0.00952579,0.0113258,-8.94726,0.00113439,0.000301136,-13.2235,0.00279209,-5.67776e-05,-15.3636,-0.00439941,0.00239724,-19.2383,-0.0061646,-0.000164058,-18.019,-0.000248138,0.00306075,-16.9781,-0.00376149,0.00127861,-17.5354,-0.00781806,0.000230513,-18.4437,-0.00697077,-0.000285939,-17.1855,-0.0075609,0.000400512,-19.7537,-0.00774913,0.00831004,-17.619,-0.0115858,0.000577254,-18.9224,-0.00800123,-0.00229393,-19.3144,-0.00990958,-0.00491747,-50.6837,-0.0202308,-0.0244701,-18.0822,-0.00677849,-0.00125696,-16.0889,-0.00359,-0.000764215,-197.331,-0.0228134,-0.0188114,-27.5606,-0.00910983,-0.0216872,-19.4252,-0.00564326,-0.00284282,-49.7384,0.00114926,-0.034519,-19.8916,-0.00571038,-0.00583479,-22.5962,-0.00480592,-0.0124198,-25.0547,0.00414722,-0.0243287,-505.992,-0.22453,-0.190472,-14.4927,-0.00090436,-0.000833486,-160.66,0.0386069,-0.0294103,-16.9829,-0.002428,-0.00195315,-21.0805,-0.00413869,-0.00492464,-25.1014,0.0184297,-0.016239,-18.9636,-0.000495283,-0.00386154,-25.8713,0.000737029,-0.0126039,-17.5689,-0.00292691,-0.00291975,-19.2957,0.01357,-0.0123034,-15.854,-0.00397393,0.00399967,-6.74637,4.40811e-05,-0.00145567,13.5243,0.00614509,-0.00199231)
RHS  = [111](-2.0112e-07,-0.0278224,0.0351446,-7.83984e-07,0.0962433,-0.00852744,-8.55594e-07,0.0273761,-0.0227371,2.49955e-06,-0.0049845,0.00806055,-8.34324e-07,-0.000467422,-0.0116341,7.38163e-07,0.00268166,-0.0238216,2.58352e-06,0.00224617,-0.00167921,1.27818e-06,0.000967854,0.00291661,-9.6327e-07,0.000332443,-0.000409238,3.72833e-07,0.00351195,9.23142e-05,1.03046e-05,-0.00495475,0.0211153,5.91417e-06,0.0050761,0.0134292,-2.14381e-07,0.00058371,-0.000128005,3.91411e-07,-0.00155399,0.000516793,9.882e-06,0.0276428,0.00706416,-8.02562e-07,0.000918884,0.00186786,1.61915e-08,0.000963016,0.00303619,9.72636e-05,-0.236206,-0.411162,5.88112e-06,0.0137067,0.00677373,-1.43455e-06,0.000883022,0.00466504,1.79175e-05,0.0144684,0.0443653,2.31037e-06,0.00262708,-0.00565151,1.22293e-06,0.00138708,0.00484543,8.26571e-06,0.0042943,0.00545783,-4.18433e-05,-1.18238,-1.27114,3.83673e-07,-0.0103643,-0.0164726,-8.56968e-05,-0.538911,-0.995966,-5.23056e-07,0.00174773,0.00299813,-5.00179e-06,-0.0128737,0.00323849,1.62225e-05,-0.0261866,0.0329071,-1.5326e-06,-0.00755171,-0.0146627,-6.06522e-07,0.0246659,-0.035255,1.77481e-06,0.00553546,-0.00335182,6.51396e-06,0.020543,-0.013486,1.34549e-05,-0.146255,0.24013,-5.67125e-06,-0.010807,0.00135844,2.86071e-06,0.00219002,0.0112361)
 MESH MOVED 
CONVERGENCE CHECK:
 VELOC.: ratio = 0.349519; exp.ratio = 0.01 abs = 0.00418328 exp.abs = 0.0001
 PRESS.: ratio = 0.368538; exp.ratio = 0.01 abs = 15.6835 exp.abs = 0.0001
build time: 0.000252005
SuperLU solver finished.

system solve time: 0.000595842
Solution obtained = [111](-11.8964,0.00940727,-0.0122028,1.96437,0.00356995,-0.00109136,4.03757,0.003257,-0.00222205,9.80446,0.00796934,-0.00418052,15.6978,0.00543858,-0.000651563,12.115,0.00225882,-0.00348143,11.2068,0.00772951,-0.00356384,14.0946,0.0101508,-0.00235091,15.3342,0.00704751,-0.00102337,14.4801,0.00664647,-0.000577658,16.9332,0.00846323,-0.00715271,14.7873,0.0138485,-0.00141603,16.1884,0.00855082,0.000593229,16.8978,0.0110231,0.00286341,45.9616,0.0198826,0.0241917,15.1756,0.0066952,0.000461583,13.4163,0.00326185,0.000666118,172.121,0.0209729,0.022418,24.686,0.00997858,0.0200263,16.1805,0.00589487,0.00166812,44.8511,-0.000107681,0.0332711,17.14,0.0063379,0.00402186,20.1582,0.00628819,0.0106226,22.6726,-0.00248117,0.0229713,429.336,0.19941,0.158711,11.9143,0.000804182,0.000912328,143.121,-0.0331291,0.0291281,14.0579,0.00219683,0.00155878,18.0138,0.00499454,0.00370086,22.9671,-0.0159093,0.016452,15.7571,0.000367273,0.0029748,23.1868,0.000980361,0.0105705,14.6753,0.00322826,0.00139545,17.7994,-0.0117136,0.0127809,13.3601,0.00460846,-0.00433482,3.8927,8.83656e-05,0.0013184,-17.1262,-0.00734093,0.00407495)
RHS  = [111](-4.59673e-07,0.0405102,-0.0469187,4.64124e-07,0.0777962,-0.00226401,-2.14271e-06,0.0278175,-0.0257601,-2.65587e-06,0.00535591,-0.0028505,3.67499e-07,-0.00188809,0.00399352,2.29211e-07,-0.000868398,0.0102032,-1.37871e-06,-0.00139543,0.00257396,-7.50999e-07,-0.000141136,-0.00168101,2.41792e-07,-0.000935536,0.000619814,-4.92148e-07,-0.00231702,0.00108573,-3.16532e-06,0.0194101,-0.0200306,-2.40516e-06,-0.000570723,-0.00772352,4.46763e-07,-0.00109335,-0.000693485,3.40534e-07,-7.92383e-05,-0.00164046,-2.5117e-06,-0.0183898,0.00104711,5.29743e-07,-0.000366692,-0.00147437,2.33564e-08,-0.000742226,-0.00262105,-3.53437e-05,0.237916,0.76097,-3.60299e-06,-0.0110063,-0.00466989,8.45961e-07,-0.000544311,-0.00466187,-1.06453e-05,-0.00452987,-0.0274168,-2.24413e-06,-0.00379978,0.00333005,-8.31276e-07,0.00038119,-0.00376879,-5.84015e-06,-0.00390847,-0.00255636,3.13922e-05,0.592454,0.613264,-3.04405e-07,0.0101024,0.0155015,7.14696e-05,0.178142,0.672561,5.27208e-07,-0.00167361,-0.00261486,4.61383e-06,0.0148876,-0.00258517,-7.8549e-06,0.00885539,-0.00805474,1.46884e-06,0.00324329,0.015035,1.53975e-06,-0.0192841,0.0242158,-2.24489e-06,-0.00253718,0.00249224,-4.83948e-06,-0.0205011,0.0209956,-1.09355e-05,0.122773,-0.206471,7.64122e-06,0.0122748,-0.00379076,-3.01102e-06,-0.0100488,0.00469566)
 MESH MOVED 
CONVERGENCE CHECK:
 VELOC.: ratio = 0.270101; exp.ratio = 0.01 abs = 0.00366552 exp.abs = 0.0001
 PRESS.: ratio = 0.260939; exp.ratio = 0.01 abs = 13.4194 exp.abs = 0.0001
build time: 0.000251411
SuperLU solver finished.

system solve time: 0.000597244
Solution obtained = [111](6.88192,-0.00589013,0.00716591,-1.39292,-0.00391346,0.000945985,-2.17804,-0.00407604,0.00283905,-6.91949,-0.00728264,0.00341214,-11.7839,-0.00420369,0.000644544,-8.71892,-0.00248805,0.00309765,-7.91492,-0.00731958,0.00315909,-10.5784,-0.00873146,0.0019837,-11.5815,-0.00559367,0.000896677,-10.9659,-0.00507455,0.000365679,-13.0009,-0.00808208,0.00556203,-11.1924,-0.0119487,0.00103156,-12.3459,-0.00673834,-0.000311659,-12.8356,-0.00884614,-0.0022876,-37.3767,-0.0163341,-0.0197647,-11.558,-0.00523692,-0.000262872,-10.1877,-0.00254099,-0.000432906,-146.096,-0.017758,-0.0151797,-19.009,-0.00802029,-0.0163969,-12.4501,-0.00450122,-0.0011254,-36.6772,-0.00104362,-0.0275499,-12.894,-0.00482045,-0.00335888,-15.2665,-0.00491526,-0.00868007,-17.3038,0.00188275,-0.0192883,-368.5,-0.16498,-0.134707,-8.90629,-0.000678695,-0.000597945,-123.093,0.0256538,-0.0259432,-10.7533,-0.0017166,-0.00120462,-14.1584,-0.00433477,-0.00354616,-17.7199,0.0121658,-0.0142853,-12.3216,-0.000321234,-0.00260144,-18.0144,-0.000639579,-0.00894386,-11.1974,-0.00242899,-0.00181879,-13.4575,0.00979237,-0.0115473,-10.1467,-0.00401988,0.00356715,-3.24171,-0.000145376,-0.00101896,11.9137,0.00589929,-0.00211343)
RHS  = [111](3.62852e-07,-0.0256834,0.0288906,5.35707e-07,-0.101924,0.00502238,2.08201e-06,-0.0309252,0.0280674,2.56059e-06,-0.00565136,0.000693318,2.62972e-08,0.00188754,-0.000722149,-4.06511e-07,0.000941681,-0.00452212,9.24428e-07,0.00111346,-0.00254163,6.50967e-07,-0.00048949,0.000829655,1.93254e-07,0.00135446,-0.000471621,5.90567e-07,0.00217579,-0.00169873,4.82192e-06,-0.0125467,0.0145738,2.71829e-06,0.00135504,0.00683289,-3.2695e-07,0.00105434,0.000958175,-7.2298e-08,0.000648707,0.00206112,4.54691e-06,0.0245542,-0.00202945,-3.65429e-07,1.13974e-05,0.00119847,-8.97712e-09,0.000546485,0.00246978,6.37418e-05,-0.186418,-0.361218,5.94075e-06,0.0136853,0.00699925,-1.28625e-06,0.000532847,0.00487401,1.60063e-05,0.0127803,0.0342231,2.39218e-06,0.00410019,-0.00235966,1.6151e-06,0.000846597,0.00444848,7.62356e-06,0.00363555,0.00446051,-3.10409e-05,-0.775586,-0.821846,2.71597e-07,-0.00931232,-0.0136412,-6.94062e-05,-0.399587,-0.744849,-6.29444e-07,0.00132436,0.00235597,-4.04721e-06,-0.014006,0.000102571,1.30178e-05,-0.0219544,0.0221755,-1.77174e-06,-0.00335623,-0.0146103,-4.84696e-07,0.0189831,-0.023354,2.25808e-06,0.00848671,-0.00672716,4.75403e-06,0.0230023,-0.0234859,9.69028e-06,-0.118893,0.200382,-4.36918e-06,-0.0103023,6.90256e-05,2.06722e-06,0.0048839,0.00790097)
 MESH MOVED 
CONVERGENCE CHECK:
 VELOC.: ratio = 0.251005; exp.ratio = 0.01 abs = 0.00305588 exp.abs = 0.0001
 PRESS.: ratio = 0.261341; exp.ratio = 0.01 abs = 11.4535 exp.abs = 0.0001
build time: 0.000258574
SuperLU solver finished.

system solve time: 0.000592541
Solution obtained = [111](-0.275758,0.00302459,-0.00241606,4.13978,0.0027025,-0.000581747,4.42931,0.0029923,-0.00302278,7.53433,0.00552763,-0.00268145,11.0848,0.0038535,-0.00058634,8.4855,0.00182053,-0.00302164,7.87775,0.00567808,-0.00280596,10.2239,0.0072542,-0.00150537,10.8829,0.00500904,-0.000608494,10.2767,0.00478732,-0.000356877,11.919,0.00624287,-0.00498333,10.6342,0.0100012,-0.000834676,11.6048,0.00605182,0.000475414,12.1758,0.00768717,0.00216859,32.5041,0.0141484,0.0173979,10.8119,0.00481558,0.000370774,9.66098,0.00234557,0.000434843,122.242,0.0153241,0.0162051,17.3923,0.00700087,0.0144683,11.628,0.00411322,0.00117269,32.3514,0.00038209,0.0250357,12.2343,0.00444187,0.00292655,14.3322,0.00441348,0.00782764,16.3293,-0.00175511,0.0175108,305.48,0.146685,0.111126,8.62447,0.000571498,0.000505436,104.557,-0.0228272,0.0228356,10.1669,0.00155583,0.00113117,13.0553,0.00379925,0.00332957,17.0385,-0.0114976,0.0131244,11.5019,0.000243683,0.00234942,16.7614,0.000701985,0.00808116,10.5718,0.00226572,0.00151997,13.1233,-0.00906282,0.0107572,9.57668,0.00350608,-0.00306111,3.21984,6.79001e-05,0.00108792,-10.8705,-0.00552324,0.00236676)
RHS  = [111](-4.00275e-08,0.010919,-0.0118938,-8.66848e-07,0.0671219,-0.003613,-1.20254e-06,0.0193485,-0.0168949,-2.12636e-06,0.00450311,-0.000389192,9.31036e-09,-0.0021035,-5.55754e-05,3.96808e-07,0.000502078,0.00328906,-8.86918e-07,-0.000294336,0.00199429,-3.87047e-07,0.000531689,-0.000684512,-1.19819e-07,-0.00112396,0.000417833,-4.44112e-07,-0.00137294,0.0012898,-2.29342e-06,0.0146072,-0.0131499,-1.28349e-06,1.06178e-06,-0.00484173,3.1031e-07,-0.000765261,-0.000733647,4.12541e-07,-0.000544528,-0.0013135,-2.2076e-06,-0.0149807,0.000534855,2.74107e-07,7.46019e-05,-0.000932503,1.02145e-08,-0.000403531,-0.00185938,-3.14737e-05,0.167363,0.514683,-3.31279e-06,-0.00922945,-0.00451001,8.90598e-07,-0.000530827,-0.00372615,-8.92102e-06,-0.00561189,-0.0196224,-1.72722e-06,-0.00316784,0.00124201,-9.71096e-07,3.68422e-05,-0.0029712,-4.54035e-06,-0.00275091,-0.00172293,2.29878e-05,0.452191,0.457783,-1.986e-07,0.00679577,0.0103311,5.53315e-05,0.175721,0.518772,4.74046e-07,-0.00108253,-0.00178681,3.34778e-06,0.0118441,0.000621545,-6.29519e-06,0.00777595,-0.00534937,1.41238e-06,0.00182482,0.0117699,1.00287e-06,-0.0147588,0.0182106,-1.8448e-06,-0.00764584,0.00543886,-3.37087e-06,-0.0196313,0.0218582,-8.21642e-06,0.0953011,-0.160874,4.41464e-06,0.0097761,-0.000367815,-1.91501e-06,-0.00786508,-0.000709894)
 MESH MOVED 
CONVERGENCE CHECK:
 VELOC.: ratio = 0.197825; exp.ratio = 0.01 abs = 0.00264962 exp.abs = 0.0001
 PRESS.: ratio = 0.190531; exp.ratio = 0.01 abs = 9.56844 exp.abs = 0.0001
build time: 0.000251253
SuperLU solver finished.

system solve time: 0.000597701
Solution obtained = [111](-3.674,-0.00157773,0.000127461,-5.88018,-0.0016231,0.000276401,-6.0887,-0.00171393,0.00267325,-7.73039,-0.00411876,0.00186609,-10.0893,-0.00350024,0.00037651,-8.39662,-0.00128925,0.00273841,-7.86562,-0.00429244,0.00207451,-9.44801,-0.00587032,0.000901335,-9.87222,-0.00431234,0.000221312,-9.21019,-0.00423867,0.00025348,-10.9908,-0.00542577,0.00442945,-9.74823,-0.0082048,0.000571564,-10.4524,-0.00509145,-0.000681777,-10.9419,-0.00640955,-0.00208503,-28.1893,-0.0118319,-0.0144762,-9.73485,-0.00415216,-0.000495056,-8.64035,-0.00208316,-0.000415901,-105.215,-0.0130667,-0.0122569,-15.35,-0.00593745,-0.0122928,-10.4391,-0.00349261,-0.00117449,-28.5476,-0.00114751,-0.0212445,-10.863,-0.00372693,-0.00270254,-12.7109,-0.00368183,-0.0067682,-14.384,0.00135508,-0.0150149,-261.486,-0.120733,-0.0934971,-7.68386,-0.000558003,-0.000456651,-91.3946,0.0179365,-0.0205858,-9.10306,-0.00137396,-0.00106034,-11.65,-0.00332726,-0.00294216,-15.1035,0.00930453,-0.0114084,-10.3032,-0.000198879,-0.002168,-14.8096,-0.00052066,-0.00698029,-9.33003,-0.0019243,-0.00150738,-11.6386,0.00782198,-0.00944499,-8.51026,-0.00309224,0.00275258,-2.9849,-7.31133e-05,-0.000906873,9.2389,0.00478914,-0.00188047)
RHS  = [111](-2.96633e-07,-0.00189268,0.00220574,8.48059e-07,-0.0333783,0.00120098,2.83323e-07,-0.00668267,0.00566909,1.86934e-06,-0.00389438,0.000847455,8.97364e-09,0.000604428,-0.00035831,-2.16199e-07,-0.000279497,-0.00386658,9.38507e-07,0.000136025,-0.00174829,5.34327e-07,-0.000515488,0.000794178,5.81171e-08,0.00108,-0.000381699,4.04586e-07,0.00159827,-0.0010886,3.02191e-06,-0.0105966,0.0109804,1.82761e-06,0.00082044,0.00481856,-2.34885e-07,0.000717384,0.000668692,-9.05917e-08,0.000462091,0.001398,3.62128e-06,0.0172334,-0.00103992,-2.78313e-07,1.13542e-05,0.000888513,-1.49693e-08,0.000436787,0.00178899,4.37319e-05,-0.141338,-0.31926,4.1511e-06,0.00959204,0.00514673,-8.5251e-07,0.000415163,0.00337888,1.08492e-05,0.00878286,0.0222864,1.70436e-06,0.00291178,-0.00104357,1.19071e-06,0.000531291,0.00306438,5.23219e-06,0.00270544,0.00278168,-2.20467e-05,-0.522428,-0.540285,2.10644e-07,-0.0067363,-0.010007,-5.25806e-05,-0.286589,-0.543066,-4.13962e-07,0.000989697,0.00165636,-3.18844e-06,-0.0107914,-0.000311368,8.64042e-06,-0.0148834,0.0134625,-1.25964e-06,-0.00207488,-0.0108272,-4.7208e-07,0.0141888,-0.0175525,1.97881e-06,0.00788623,-0.00624129,3.3368e-06,0.0183444,-0.0197103,7.6322e-06,-0.0901716,0.153255,-4.04408e-06,-0.00872061,0.000308967,1.70756e-06,0.00635165,0.00276475)
 MESH MOVED 
CONVERGENCE CHECK:
 VELOC.: ratio = 0.178521; exp.ratio = 0.01 abs = 0.00220199 exp.abs = 0.0001
 PRESS.: ratio = 0.184639; exp.ratio = 0.01 abs = 8.2299 exp.abs = 0.0001
build time: 0.00026614
SuperLU solver finished.

system solve time: 0.000598698
Solution obtained = [111](4.57855,0.00106571,0.000485506,6.02582,0.000994468,-0.000133843,6.29384,0.00093419,-0.00216156,7.22168,0.00315198,-0.00147898,9.0214,0.00308041,-0.000273499,7.69431,0.000877741,-0.00227542,7.24679,0.00324345,-0.0016202,8.45999,0.00478821,-0.000699483,8.81255,0.00370424,-0.000126619,8.19558,0.00375711,-0.000231416,9.6066,0.00426188,-0.00383855,8.63767,0.00667724,-0.000505034,9.30572,0.00437533,0.000620606,9.729,0.00541789,0.00180133,23.9792,0.00990842,0.0124702,8.6781,0.00363268,0.000443787,7.69274,0.00183322,0.000366283,87.2586,0.0110338,0.0119262,13.461,0.0049506,0.0106074,9.3073,0.00309362,0.00104796,24.4698,0.000574799,0.0186374,9.73978,0.00330573,0.00232989,11.3151,0.00316489,0.00587668,12.7734,-0.00129445,0.0131831,215.229,0.103981,0.0765503,6.85257,0.000478507,0.00040426,76.444,-0.0155072,0.017629,8.11137,0.00121814,0.000940449,10.367,0.0029465,0.00256473,13.5171,-0.00831005,0.0101183,9.17406,0.000191219,0.00191355,13.1651,0.000456941,0.00612583,8.40843,0.00175684,0.00126604,10.4879,-0.00694219,0.00846505,7.60298,0.00273009,-0.00240696,2.64266,7.06994e-05,0.000810511,-8.35982,-0.00426749,0.00170283)
RHS  = [111](3.91043e-07,-0.000986305,0.000879319,-7.52727e-07,0.014845,-8.90168e-05,9.4313e-08,0.000578376,0.000151697,-1.62437e-06,0.00320623,-0.00121413,5.30859e-08,-0.000426617,0.000794263,1.31044e-07,0.000731055,0.00466938,-9.65571e-07,6.96819e-05,0.00145502,-4.99114e-07,0.000464868,-0.000856651,4.70742e-08,-0.00087824,0.000370199,-3.31766e-07,-0.00125431,0.000795078,-1.75354e-06,0.0115866,-0.0100494,-1.20574e-06,-0.000227786,-0.00397282,2.26069e-07,-0.000560626,-0.000510195,2.03738e-07,-0.000223424,-0.00100162,-2.00526e-06,-0.0117279,0.000395918,2.73141e-07,-5.93338e-05,-0.000812963,2.05763e-08,-0.000399344,-0.00154815,-2.48754e-05,0.120412,0.367789,-2.54116e-06,-0.00687903,-0.00342277,7.02416e-07,-0.000337521,-0.00284449,-6.78111e-06,-0.0051757,-0.0140598,-1.34561e-06,-0.00238423,0.000942957,-7.54675e-07,3.28688e-06,-0.00226146,-3.50722e-06,-0.00213728,-0.00124984,1.67992e-05,0.334139,0.335045,-1.77295e-07,0.00579118,0.00880065,4.17795e-05,0.154081,0.395141,3.50468e-07,-0.000858636,-0.00144061,2.76481e-06,0.00937788,0.000388193,-4.89734e-06,0.00744711,-0.00345544,1.05498e-06,0.00190131,0.00967169,7.36427e-07,-0.0115816,0.0143251,-1.43288e-06,-0.00597371,0.00427036,-2.57502e-06,-0.0158122,0.0181233,-6.47744e-06,0.0754409,-0.128589,3.37618e-06,0.00780462,-0.000292714,-1.48807e-06,-0.00569155,-0.00213853)
 MESH MOVED 
CONVERGENCE CHECK:
 VELOC.: ratio = 0.14127; exp.ratio = 0.01 abs = 0.00186809 exp.abs = 0.0001
 PRESS.: ratio = 0.138387; exp.ratio = 0.01 abs = 6.81735 exp.abs = 0.0001
build time: 0.000253345
SuperLU solver finished.

system solve time: 0.000601265
Solution obtained = [111](-3.97973,-0.00094266,-0.000381301,-5.29942,-0.000692932,8.87901e-05,-5.62424,-0.00056926,0.001724,-6.26388,-0.00257013,0.00116374,-7.69188,-0.00262906,0.000191899,-6.7304,-0.000682737,0.00190301,-6.34142,-0.00262753,0.00126086,-7.2204,-0.00396479,0.00051484,-7.49886,-0.00311618,5.58183e-05,-6.94938,-0.00317204,0.000178009,-8.25471,-0.00368476,0.00322796,-7.3622,-0.00551699,0.000409353,-7.89972,-0.00365242,-0.000556139,-8.24079,-0.00451625,-0.00152022,-20.0872,-0.00818817,-0.0101735,-7.36631,-0.00304883,-0.000398245,-6.50076,-0.0015496,-0.00031529,-73.4688,-0.0092267,-0.0090524,-11.3285,-0.00416108,-0.00875727,-7.90152,-0.00258204,-0.00088312,-20.7838,-0.00094098,-0.0154711,-8.22958,-0.00276547,-0.00195089,-9.54114,-0.00264437,-0.00486792,-10.747,0.000952292,-0.0110052,-180.936,-0.0847758,-0.0636281,-5.76621,-0.000416399,-0.000349365,-64.9771,0.0122126,-0.0152301,-6.86254,-0.00102514,-0.000800492,-8.7548,-0.00255732,-0.00212547,-11.4206,0.00664774,-0.00850235,-7.77882,-0.000160075,-0.00163027,-11.1217,-0.000386858,-0.0051401,-7.03007,-0.00148496,-0.00105228,-8.83542,0.00577568,-0.00713794,-6.34193,-0.00243459,0.00218329,-2.07455,-7.37529e-05,-0.000665407,7.42187,0.00373347,-0.00154271)
RHS  = [111](-3.45694e-07,0.00109749,-0.000949147,6.36464e-07,-0.00707363,-0.00017872,-1.75521e-07,0.00158941,-0.00195138,1.4078e-06,-0.00278698,0.00122477,-4.18469e-08,5.58481e-05,-0.000987669,-6.26295e-08,-0.000331998,-0.00446853,8.47663e-07,5.29791e-05,-0.0011989,4.79891e-07,-0.000383686,0.000748218,-4.33139e-08,0.000754026,-0.000290372,2.88732e-07,0.00123523,-0.00065934,2.03768e-06,-0.0087874,0.00792016,1.39869e-06,0.000633905,0.00375859,-1.66311e-07,0.00049585,0.000422775,-5.80329e-08,0.000163147,0.000958206,2.75543e-06,0.012197,-0.000356116,-2.39054e-07,7.90303e-05,0.000704416,-9.78352e-09,0.000366252,0.00136278,2.92095e-05,-0.100496,-0.245483,2.79242e-06,0.00671251,0.00349226,-6.28733e-07,0.000316384,0.00252211,7.26486e-06,0.00613067,0.0144542,1.20742e-06,0.0020419,-0.000802859,8.14806e-07,0.000311323,0.00220504,3.63709e-06,0.00194215,0.00168156,-1.53246e-05,-0.346412,-0.353194,1.67671e-07,-0.00510261,-0.00769729,-3.77591e-05,-0.196767,-0.380268,-3.01009e-07,0.000773174,0.00128039,-2.44158e-06,-0.00825356,-0.000193542,5.73999e-06,-0.0102106,0.00783519,-9.2919e-07,-0.00170679,-0.00836825,-4.04049e-07,0.0107553,-0.0135495,1.3931e-06,0.00564316,-0.00433383,2.42495e-06,0.0141741,-0.015758,5.86769e-06,-0.0689234,0.117688,-3.13705e-06,-0.00694805,0.000266536,1.33197e-06,0.00502513,0.00216428)
 MESH MOVED 
CONVERGENCE CHECK:
 VELOC.: ratio = 0.123046; exp.ratio = 0.01 abs = 0.00153513 exp.abs = 0.0001
 PRESS.: ratio = 0.126836; exp.ratio = 0.01 abs = 5.74106 exp.abs = 0.0001
build time: 0.00227137
SuperLU solver finished.

system solve time: 0.000596354
Solution obtained = [111](3.04464,0.000908078,0.000117186,4.33734,0.000562533,-8.11837e-05,4.65962,0.000441824,-0.00138539,5.22189,0.00214314,-0.00101471,6.47952,0.0022024,-0.000166494,5.61392,0.000542789,-0.00154904,5.292,0.00215841,-0.00105966,6.05651,0.00331175,-0.00047499,6.31687,0.00261735,-8.17218e-05,5.87213,0.00267971,-0.000160346,6.85846,0.00295021,-0.00268152,6.15941,0.00457366,-0.000357801,6.66363,0.00308983,0.000433317,6.94383,0.00380703,0.0012578,16.66,0.00683811,0.00862315,6.22386,0.00258148,0.000307712,5.5,0.00130632,0.000256767,60.2357,0.00767776,0.00836739,9.51819,0.00348511,0.00740365,6.68987,0.00220791,0.000734219,17.3251,0.000595167,0.013222,6.98676,0.00237662,0.00163872,8.06976,0.00225739,0.0041302,9.11242,-0.000829769,0.0094067,147.827,0.0717408,0.0519612,4.88249,0.000341909,0.000288897,53.5255,-0.0103643,0.0127422,5.80948,0.000872014,0.000671687,7.44449,0.00219212,0.00185007,9.73098,-0.00571661,0.0073038,6.59251,0.000148035,0.00138232,9.45505,0.000350536,0.00442538,6.00971,0.00128062,0.00090904,7.53593,-0.00492602,0.00616398,5.38228,0.0020896,-0.00183096,1.78817,6.3557e-05,0.000582135,-6.2209,-0.00320395,0.00126429)
RHS  = [111](2.78399e-07,-0.000334836,0.000120439,-5.11349e-07,0.00511293,0.000200014,1.41228e-07,-0.00132899,0.00165316,-1.18471e-06,0.00231322,-0.00110662,5.80853e-08,-0.000159233,0.00091781,5.78322e-08,0.000442391,0.00395251,-7.15433e-07,-1.8025e-05,0.00100295,-3.92084e-07,0.000321095,-0.000646977,5.24195e-08,-0.0006029,0.000251723,-2.37377e-07,-0.000955663,0.000539327,-1.28551e-06,0.00834299,-0.00691754,-9.48664e-07,-0.00026685,-0.00293273,1.50527e-07,-0.000389137,-0.000337959,1.12131e-07,-7.65687e-05,-0.000703821,-1.70483e-06,-0.00862696,6.8208e-05,2.07702e-07,-6.69412e-05,-0.000603208,1.21426e-08,-0.000301471,-0.00114225,-1.8617e-05,0.0837421,0.252743,-1.85261e-06,-0.00494341,-0.00246975,5.40188e-07,-0.000261771,-0.00208673,-4.86458e-06,-0.00412239,-0.00968614,-9.63229e-07,-0.00168069,0.000671621,-5.63022e-07,-2.14542e-05,-0.00168928,-2.55131e-06,-0.00154301,-0.000860701,1.18114e-05,0.238493,0.237724,-1.33373e-07,0.00423408,0.00646992,2.99732e-05,0.1206,0.285098,2.57178e-07,-0.000639701,-0.00106976,2.05087e-06,0.00691877,0.000425224,-3.60111e-06,0.00596648,-0.00246674,7.84203e-07,0.00149083,0.00714681,5.29321e-07,-0.00873844,0.0110809,-1.04138e-06,-0.00490065,0.00343272,-1.90285e-06,-0.0119327,0.0138334,-4.88787e-06,0.0569728,-0.0969331,2.40964e-06,0.00590727,1.15045e-05,-1.08985e-06,-0.00420042,-0.00216788)
 MESH MOVED 
CONVERGENCE CHECK:
 VELOC.: ratio = 0.0982191; exp.ratio = 0.01 abs = 0.00128588 exp.abs = 0.0001
 PRESS.: ratio = 0.0969447; exp.ratio = 0.01 abs = 4.70431 exp.abs = 0.0001
build time: 0.000271331
SuperLU solver finished.

system solve time: 0.000547723
Solution obtained = [111](-2.25298,-0.000856206,7.54966e-05,-3.4816,-0.00050467,8.16855e-05,-3.77007,-0.000403063,0.00114149,-4.29641,-0.0018395,0.00085521,-5.37255,-0.00183464,0.000137545,-4.66592,-0.000474858,0.00129445,-4.39386,-0.00185012,0.000888812,-5.01682,-0.00278934,0.000405833,-5.23522,-0.00218488,7.4236e-05,-4.86398,-0.00221832,0.00012885,-5.73691,-0.00254245,0.00221346,-5.11342,-0.00383188,0.000308741,-5.52392,-0.00257665,-0.000348425,-5.7541,-0.00318412,-0.00102201,-13.7932,-0.00566129,-0.00703699,-5.15407,-0.00214483,-0.000253976,-4.54366,-0.00108416,-0.00021564,-50.1575,-0.00636528,-0.00649186,-7.87692,-0.00293988,-0.00607322,-5.53929,-0.00183027,-0.000594498,-14.4742,-0.000756798,-0.0108834,-5.77562,-0.00198078,-0.00133255,-6.67153,-0.00189587,-0.00338649,-7.53634,0.000590978,-0.00776484,-122.934,-0.058239,-0.0428789,-4.02141,-0.000288449,-0.000244783,-44.8226,0.00820063,-0.0107854,-4.80007,-0.000720346,-0.000555674,-6.15386,-0.00187061,-0.00151721,-8.06909,0.00456082,-0.00604806,-5.45379,-0.000119,-0.00114256,-7.83729,-0.000316032,-0.0036655,-4.91783,-0.00106845,-0.000728475,-6.22701,0.00402878,-0.00510645,-4.39305,-0.00181808,0.00160521,-1.36782,-5.82527e-05,-0.000481798,5.40947,0.00276598,-0.0011569)
RHS  = [111](-2.12242e-07,-0.000281118,0.000539408,4.12737e-07,-0.00532148,-9.16406e-05,-7.7979e-08,0.000707785,-0.000949805,9.98042e-07,-0.00199014,0.000906248,-3.85594e-08,7.88704e-05,-0.000801113,-4.27499e-08,-0.000214978,-0.00324333,5.78006e-07,8.5603e-05,-0.000827136,3.32032e-07,-0.000266199,0.000515797,-2.95689e-08,0.000508161,-0.000198114,2.02711e-07,0.00087036,-0.000464527,1.29463e-06,-0.00652033,0.00544391,9.41274e-07,0.000409328,0.0025969,-1.16622e-07,0.000341878,0.000286279,-5.0225e-08,8.16788e-05,0.000646675,1.92391e-06,0.00831924,-0.000165964,-1.69117e-07,5.67255e-05,0.000498522,-5.53195e-09,0.000258098,0.00096411,1.92765e-05,-0.0698447,-0.180976,1.86334e-06,0.00458013,0.00235314,-4.56715e-07,0.000231963,0.00178533,4.7924e-06,0.00418876,0.00936588,8.36648e-07,0.00142648,-0.000510905,5.62787e-07,0.000173882,0.00154971,2.45987e-06,0.00135971,0.00104813,-1.04044e-05,-0.22876,-0.23108,1.18295e-07,-0.00358518,-0.00544055,-2.61779e-05,-0.132223,-0.259917,-2.15074e-07,0.00055631,0.000911511,-1.76338e-06,-0.00595247,-0.000328802,3.77566e-06,-0.0068152,0.00457662,-6.69194e-07,-0.00119119,-0.00598135,-3.3799e-07,0.00777875,-0.00999173,9.94346e-07,0.00453372,-0.00339051,1.71113e-06,0.0103034,-0.011695,4.29543e-06,-0.0499287,0.0848923,-2.23919e-06,-0.00515756,2.27788e-05,9.59651e-07,0.00390175,0.00147662)
 MESH MOVED 
CONVERGENCE CHECK:
 VELOC.: ratio = 0.0835429; exp.ratio = 0.01 abs = 0.00105107 exp.abs = 0.0001
 PRESS.: ratio = 0.0854811; exp.ratio = 0.01 abs = 3.91448 exp.abs = 0.0001
build time: 0.000259022
SuperLU solver finished.

system solve time: 0.000542264
Solution obtained = [111](1.69067,0.000754137,-0.000155249,2.76406,0.000451174,-7.73999e-05,3.00238,0.00037353,-0.000938325,3.4803,0.00154861,-0.00073824,4.41738,0.00150643,-0.000122616,3.78357,0.000400402,-0.0010519,3.56048,0.00154716,-0.000752476,4.10987,0.0023206,-0.000367948,4.30693,0.00180535,-8.6917e-05,4.01361,0.00183187,-0.000111232,4.67721,0.00205486,-0.0018084,4.18647,0.00317121,-0.000260289,4.55312,0.00214159,0.000263376,4.73934,0.00264607,0.000832731,11.312,0.00468307,0.00588465,4.25292,0.00177944,0.000191746,3.75397,0.000895256,0.000171761,40.8945,0.00524326,0.00574364,6.48905,0.00243098,0.0050587,4.5791,0.00152863,0.000482773,11.8899,0.000523469,0.00912166,4.78011,0.00166035,0.00110287,5.51248,0.00158684,0.00282511,6.24338,-0.000504905,0.00650769,100.062,0.0485858,0.0349335,3.32265,0.000234457,0.000197181,36.6238,-0.0068628,0.00889555,3.96773,0.000599278,0.000456988,5.11774,0.00157162,0.00129927,6.7029,-0.00383411,0.00508666,4.51534,0.00010539,0.000951812,6.51271,0.000274079,0.00309107,4.09719,0.000894321,0.000629969,5.1728,-0.00336545,0.00431082,3.64336,0.0015272,-0.00132157,1.15967,4.94629e-05,0.000409934,-4.40078,-0.00231519,0.000912471)
RHS  = [111](1.65986e-07,0.000581354,-0.000824823,-3.37977e-07,0.00560721,7.55153e-06,3.49348e-08,-8.20971e-05,0.000340589,-8.32653e-07,0.00165117,-0.000737004,3.80692e-08,-0.000147531,0.000634462,4.74026e-08,0.000266406,0.00264271,-4.71426e-07,-5.33806e-05,0.000695315,-2.65879e-07,0.000228196,-0.000423229,2.4183e-08,-0.000415967,0.00016885,-1.67936e-07,-0.0006773,0.000394806,-8.7304e-07,0.00584017,-0.00461505,-6.61657e-07,-0.000197988,-0.00201695,1.03396e-07,-0.000272641,-0.000236533,7.41538e-08,-5.35188e-05,-0.000496439,-1.27212e-06,-0.00612528,5.97782e-05,1.41304e-07,-3.97144e-05,-0.000415996,6.9833e-09,-0.000207619,-0.000799253,-1.32652e-05,0.057387,0.171374,-1.31948e-06,-0.003482,-0.00174726,3.92274e-07,-0.000186094,-0.00146919,-3.41482e-06,-0.00303617,-0.0066566,-6.76843e-07,-0.00118573,0.000407823,-4.14022e-07,-2.86322e-05,-0.00120919,-1.80324e-06,-0.00108531,-0.000614245,8.12231e-06,0.165879,0.164972,-9.35405e-08,0.00295255,0.00450912,2.08296e-05,0.0886732,0.199303,1.8288e-07,-0.000450598,-0.000749803,1.46242e-06,0.00492754,0.00045521,-2.5676e-06,0.00444489,-0.001812,5.61839e-07,0.00101979,0.00503076,3.75186e-07,-0.00629766,0.00811306,-7.64785e-07,-0.00398119,0.00279844,-1.35618e-06,-0.00855826,0.00999833,-3.51973e-06,0.0409362,-0.0693897,1.67933e-06,0.00427936,0.000167102,-7.65096e-07,-0.00314159,-0.00162478)
 MESH MOVED 
CONVERGENCE CHECK:
 VELOC.: ratio = 0.0670007; exp.ratio = 0.01 abs = 0.00087094 exp.abs = 0.0001
 PRESS.: ratio = 0.0664513; exp.ratio = 0.01 abs = 3.19026 exp.abs = 0.0001
build time: 0.000253144
SuperLU solver finished.

system solve time: 0.000541795
Solution obtained = [111](-1.33194,-0.000636116,0.000153118,-2.24216,-0.000392058,6.90409e-05,-2.43605,-0.000333766,0.00078315,-2.85254,-0.00130184,0.000611559,-3.63208,-0.00124286,0.000102359,-3.11474,-0.000343344,0.000876778,-2.93006,-0.00130412,0.000628769,-3.38102,-0.00192987,0.000306457,-3.54074,-0.00149256,7.31189e-05,-3.29789,-0.00150565,8.97805e-05,-3.8734,-0.00173656,0.00148256,-3.44995,-0.00263027,0.000218219,-3.74454,-0.00176897,-0.000212888,-3.89872,-0.00218771,-0.000676107,-9.30253,-0.00385002,-0.00478931,-3.49342,-0.00146623,-0.000158702,-3.07975,-0.000736828,-0.000143312,-33.7633,-0.00431372,-0.00451236,-5.33122,-0.00202211,-0.0041296,-3.76018,-0.00125644,-0.000390541,-9.83095,-0.000553277,-0.00745974,-3.92326,-0.00137003,-0.000890202,-4.52428,-0.00131381,-0.00230535,-5.12577,0.000371139,-0.00533109,-82.5338,-0.0393742,-0.0286709,-2.72185,-0.000194797,-0.000164364,-30.3361,0.00546958,-0.00741031,-3.25481,-0.000490787,-0.000375172,-4.19629,-0.0013168,-0.00106056,-5.51058,0.00307338,-0.00417128,-3.70543,-8.34253e-05,-0.000779331,-5.35247,-0.000236885,-0.00253847,-3.33569,-0.00073877,-0.000501218,-4.24361,0.00274016,-0.00353566,-2.95898,-0.00129609,0.00112798,-0.894672,-4.23864e-05,-0.000339184,3.75106,0.00196192,-0.000816523)
RHS  = [111](-1.29167e-07,-0.000590633,0.000796958,2.80888e-07,-0.00527802,4.94486e-05,-1.13245e-08,-0.000147108,-6.66128e-05,6.89301e-07,-0.00138988,0.000580858,-2.43001e-08,0.000103697,-0.000507829,-3.84404e-08,-0.000156677,-0.00210566,3.76866e-07,6.8505e-05,-0.000567878,2.17782e-07,-0.000190371,0.000332322,-1.07092e-08,0.000347061,-0.000132773,1.40429e-07,0.000588132,-0.000332778,8.15588e-07,-0.00461609,0.00364191,6.08283e-07,0.000244416,0.00172153,-8.07773e-08,0.000233347,0.000198828,-4.26482e-08,5.95419e-05,0.00043752,1.28249e-06,0.0055835,-0.000112816,-1.12857e-07,3.10054e-05,0.000338109,-3.46942e-09,0.000173184,0.000659639,1.264e-05,-0.0475354,-0.127925,1.24185e-06,0.00309124,0.00158521,-3.22122e-07,0.000160888,0.00122806,3.16004e-06,0.0028201,0.00610428,5.7215e-07,0.000988086,-0.000293042,3.87154e-07,9.93298e-05,0.00106188,1.64251e-06,0.000927182,0.000666303,-6.96714e-06,-0.150591,-0.151261,8.0156e-08,-0.00244314,-0.00371374,-1.77425e-05,-0.0876358,-0.174702,-1.50089e-07,0.000382036,0.000623514,-1.23127e-06,-0.00416029,-0.000372759,2.47598e-06,-0.00449209,0.00271307,-4.68982e-07,-0.00078932,-0.00414072,-2.60397e-07,0.00542956,-0.00705577,6.96534e-07,0.00351987,-0.00258561,1.1756e-06,0.00721631,-0.00830382,3.0161e-06,-0.034854,0.0590442,-1.52442e-06,-0.00366616,-0.000111493,6.60156e-07,0.00287642,0.00102435)
 MESH MOVED 
CONVERGENCE CHECK:
 VELOC.: ratio = 0.0560625; exp.ratio = 0.01 abs = 0.000709458 exp.abs = 0.0001
 PRESS.: ratio = 0.0570115; exp.ratio = 0.01 abs = 2.63234 exp.abs = 0.0001
build time: 0.000298385
SuperLU solver finished.

system solve time: 0.000542288
Solution obtained = [111](1.08844,0.00051834,-0.000124488,1.82338,0.000327796,-5.74663e-05,1.97789,0.000282545,-0.000644058,2.32251,0.00106994,-0.000509119,2.97265,0.0010157,-8.66582e-05,2.5314,0.000281907,-0.000712749,2.38075,0.00106889,-0.00051941,2.76255,0.00158278,-0.000259926,2.89884,0.00122227,-6.71249e-05,2.70434,0.00123473,-7.50573e-05,3.15139,0.00140081,-0.00120821,2.81628,0.0021533,-0.000177777,3.06884,0.00145273,0.000167752,3.19323,0.00179502,0.000553889,7.59752,0.00315709,0.00396221,2.86532,0.00120443,0.000124309,2.52827,0.000604224,0.000114759,27.4632,0.00353116,0.00387223,4.36569,0.00165283,0.00340797,3.08772,0.00103582,0.000319276,8.0312,0.000398023,0.00617549,3.22256,0.00113106,0.000734613,3.71205,0.00108137,0.00190596,4.21185,-0.00031821,0.00441384,67.0732,0.0325385,0.023328,2.23478,0.000158518,0.000131923,24.6981,-0.00453732,0.00606249,2.673,0.000404543,0.000307745,3.46157,0.0010899,0.000894513,4.53387,-0.002555,0.00346044,3.0464,7.16076e-05,0.000645012,4.40906,0.000196008,0.0021122,2.7548,0.000609217,0.000429874,3.49278,-0.00226707,0.00294092,2.43795,0.00107195,-0.00092094,0.756184,3.52253e-05,0.000283478,-3.02336,-0.00161756,0.000639431)
RHS  = [111](1.07069e-07,0.000497667,-0.000663867,-2.32762e-07,0.00459105,-4.92541e-05,6.30697e-09,0.000225061,-3.21075e-05,-5.69298e-07,0.00114099,-0.000473626,2.27454e-08,-0.000115596,0.000401532,3.65297e-08,0.000177606,0.00171492,-3.0975e-07,-4.20309e-05,0.000472368,-1.75944e-07,0.00016124,-0.000274067,9.70407e-09,-0.000284687,0.000112539,-1.15556e-07,-0.000464349,0.00027785,-5.84411e-07,0.0039861,-0.00304368,-4.46956e-07,-0.000136829,-0.00135536,6.98298e-08,-0.00018642,-0.000163156,4.97231e-08,-4.24459e-05,-0.000340506,-9.02557e-07,-0.00423367,5.45999e-05,9.3785e-08,-2.20694e-05,-0.000279927,4.24827e-09,-0.000139862,-0.000543795,-9.1799e-06,0.0387786,0.114653,-9.17805e-07,-0.00239631,-0.00121182,2.72738e-07,-0.000127894,-0.00100366,-2.34699e-06,-0.00212915,-0.0045239,-4.6453e-07,-0.000816048,0.000232119,-2.9459e-07,-2.9067e-05,-0.000836602,-1.24175e-06,-0.000742856,-0.000431766,5.49976e-06,0.113266,0.112589,-6.38882e-08,0.0020054,0.00306027,1.41757e-05,0.0624922,0.136246,1.25625e-07,-0.000307833,-0.000509557,1.0141e-06,0.00341304,0.000397009,-1.78137e-06,0.00315055,-0.001317,3.88983e-07,0.000673093,0.00344371,2.58442e-07,-0.00439017,0.00571417,-5.45135e-07,-0.00302106,0.00213152,-9.38424e-07,-0.00593245,0.00695458,-2.45413e-06,0.0284399,-0.0480954,1.15383e-06,0.00300566,0.000190577,-5.24738e-07,-0.00228901,-0.0011061)
 MESH MOVED 
CONVERGENCE CHECK:
 VELOC.: ratio = 0.0451168; exp.ratio = 0.01 abs = 0.000583611 exp.abs = 0.0001
 PRESS.: ratio = 0.0449193; exp.ratio = 0.01 abs = 2.1409 exp.abs = 0.0001
build time: 0.000248309
SuperLU solver finished.

system solve time: 0.000549866
Solution obtained = [111](-0.906653,-0.000419884,9.11975e-05,-1.50437,-0.000269241,4.6969e-05,-1.62981,-0.000233104,0.000532435,-1.91153,-0.000880054,0.000414251,-2.43995,-0.000834966,7.04548e-05,-2.08562,-0.000233224,0.000589693,-1.96196,-0.000881289,0.000426404,-2.27011,-0.00130008,0.000210394,-2.37878,-0.00100408,5.26142e-05,-2.21719,-0.00101232,6.06073e-05,-2.59916,-0.00116472,0.000989178,-2.31585,-0.00176726,0.000146317,-2.51796,-0.00119172,-0.00013844,-2.62065,-0.00147151,-0.000451433,-6.22549,-0.002581,-0.00321879,-2.3488,-0.000987692,-0.000104064,-2.07068,-0.000495556,-9.55425e-05,-22.5514,-0.00289098,-0.00307033,-3.57721,-0.00136018,-0.00277527,-2.52989,-0.000847692,-0.000259941,-6.60244,-0.000378499,-0.00503271,-2.64016,-0.000927598,-0.000593364,-3.04018,-0.000886365,-0.00155214,-3.44857,0.000243291,-0.00360103,-55.0375,-0.0263686,-0.0190805,-1.82905,-0.000130812,-0.000109419,-20.3187,0.00364018,-0.00500023,-2.1889,-0.000330436,-0.000252268,-2.83129,-0.000902384,-0.000727086,-3.71423,0.00205873,-0.00282328,-2.49431,-5.68323e-05,-0.000526536,-3.61152,-0.000163826,-0.00172616,-2.24363,-0.000500876,-0.000341772,-2.8585,0.00184424,-0.00239928,-1.98145,-0.000895021,0.000773174,-0.591656,-2.93853e-05,-0.000233335,2.54505,0.00135164,-0.000559083)
RHS  = [111](-8.73205e-08,-0.000375579,0.000506504,1.93096e-07,-0.00376584,4.67924e-05,-4.93779e-09,-0.000169056,1.60593e-05,4.67041e-07,-0.000944582,0.000382373,-1.58043e-08,7.998e-05,-0.000327171,-2.8201e-08,-0.000119939,-0.00138958,2.50884e-07,4.20982e-05,-0.0003832,1.44289e-07,-0.000132721,0.000219445,-5.00316e-09,0.000234801,-8.94027e-05,9.51836e-08,0.000394132,-0.000227905,5.23297e-07,-0.00317552,0.0024232,3.9624e-07,0.000150625,0.00114019,-5.49882e-08,0.000156399,0.000134712,-3.18632e-08,4.10617e-05,0.000291129,8.47743e-07,0.00371193,-7.06422e-05,-7.54458e-08,1.8389e-05,0.000227404,-2.44475e-09,0.000116127,0.000445229,8.28306e-06,-0.0319217,-0.0879414,8.21963e-07,0.00206241,0.0010585,-2.20947e-07,0.000108143,0.000828059,2.07791e-06,0.00187771,0.0039891,3.86081e-07,0.000670861,-0.000168299,2.61765e-07,5.89327e-05,0.00071402,1.08775e-06,0.000622569,0.000427228,-4.6329e-06,-0.0990677,-0.099179,5.38763e-08,-0.00164561,-0.00250459,-1.18764e-05,-0.0577005,-0.116339,-1.01997e-07,0.00025752,0.000419676,-8.43447e-07,-0.00284389,-0.000318228,1.62153e-06,-0.00294838,0.00164438,-3.19935e-07,-0.000525072,-0.00281527,-1.89113e-07,0.0037074,-0.0048543,4.76232e-07,0.00256713,-0.00186232,7.95147e-07,0.00492653,-0.00571206,2.06737e-06,-0.0237959,0.0402322,-1.0215e-06,-0.00253485,-0.000133639,4.45936e-07,0.00203062,0.000713855)
 MESH MOVED 
CONVERGENCE CHECK:
 VELOC.: ratio = 0.0373595; exp.ratio = 0.01 abs = 0.000474658 exp.abs = 0.0001
 PRESS.: ratio = 0.0378459; exp.ratio = 0.01 abs = 1.75733 exp.abs = 0.0001
***************************************************
******* ATTENTION: max iterations exceeded ********
***************************************************
ResidualBasedBlockBuilderAndSolver Clear Function called
Newton Raphson strategy Clear function used
 MESH MOVED 
"Trigen PFEM Refining Mesher" : Trigen PFEM Refining Mesher
"Number of nodes after erasing" : Number of nodes after erasing
ThisModelPart.Nodes().size() : 37
Constructing Delaunay triangulation by divide-and-conquer method.
Delaunay milliseconds:  0

Writing vertices.
Writing triangles.
Writing edges.
Writing neighbors.

Output milliseconds:  0
Total running milliseconds:  0

Statistics:

  Input vertices: 37

  Mesh vertices: 37
  Mesh triangles: 66
  Mesh edges: 102
  Mesh exterior boundary edges: 6

mesh generation time = 0.00019"ln367" : ln367
el_number : 66
"ln420" : ln420
Reconstructing mesh.
Mesh reconstruction milliseconds:  0
Adding Steiner points to enforce quality.
Quality milliseconds:  0

Writing vertices.
Writing triangles.
Writing neighbors.

Output milliseconds:  0
Total running milliseconds:  0

Statistics:

  Input vertices: 37
  Input triangles: 57

  Mesh vertices: 37
  Mesh triangles: 57
  Mesh edges: 92
  Mesh exterior boundary edges: 13
  Mesh interior boundary edges: 0
  Mesh subsegments (constrained edges): 13

"Adaptive remeshing executed" : Adaptive remeshing executed
"ln449" : ln449
During refinement we added 0 nodes 
"ln749" : ln749
"ln752" : ln752
"ln754" : ln754
"Finished remeshing with Trigen_PFEM_Refine" : Finished remeshing with Trigen_PFEM_Refine
end of remesh function
Executing mesh solver
LINEAR SOLVER IS ------------------------------------------------------> MixedUP
STEP =  7
TIME =  0.07
Executing monolithic lagrangian solver
 MESH MOVED 
Setting up the dofs
setup_dofs_time : 0.000138157
0: setup_system_time : 4.724e-06

CurrentTime = 0.07
0: system_matrix_resize_time : 0.000283314
end of prediction
 MESH MOVED 
build time: 0.000278447
SuperLU solver finished.

system solve time: 0.000555808
Solution obtained = [108](-0.00016095,9.41171,-9.06395,6.44953e-05,0.941151,-0.431282,-0.000152072,1.53153,-1.0314,7.77648e-05,-0.170982,0.074921,0.000466138,-7.05331,7.93868,0.000161555,-0.644075,-0.935019,6.98247e-05,-0.13189,-0.00695627,5.50024e-05,-0.0791405,0.0591543,-1.39338e-05,0.0453108,-0.0394366,1.99841e-05,-0.27583,-0.316948,0.00100429,2.24727,2.58222,2.70502e-05,-0.0326441,0.0511666,-4.78857e-07,-0.00407652,-0.00512323,7.47016e-06,-0.0474428,-0.000299387,5.78651e-06,0.045986,-0.0674412,-2.60944e-05,0.00281814,-0.0161326,-1.93828e-06,-0.0258442,0.0183727,-1.31186e-05,0.271878,0.264695,1.573e-05,0.0624606,-0.00712013,-7.35684e-05,-0.144501,0.257157,5.69119e-05,-0.0478248,0.0729166,-nan,-nan,-nan,3.85235e-06,0.00501436,-0.0571896,5.8206e-05,0.0293807,0.00542608,-0.000387103,-8.58353,-9.36054,-5.71234e-06,0.323951,-0.585497,-0.000131252,-1.39362,-1.36754,5.91297e-06,-0.661384,-0.162028,-nan,-nan,-nan,4.0394e-05,-0.126345,0.00536412,-0.000496515,0.202027,0.584512,-3.68504e-05,0.93403,-2.99677,-nan,-nan,-nan,-0.000691033,0.699183,0.121499,0.000505373,-1.60534,4.36043,0.000307297,-0.464699,0.533239)
RHS  = [108](-0.00016095,9.41171,-9.06395,6.44953e-05,0.941151,-0.431282,-0.000152072,1.53153,-1.0314,7.77648e-05,-0.170982,0.074921,0.000466138,-7.05331,7.93868,0.000161555,-0.644075,-0.935019,6.98247e-05,-0.13189,-0.00695627,5.50024e-05,-0.0791405,0.0591543,-1.39338e-05,0.0453108,-0.0394366,1.99841e-05,-0.27583,-0.316948,0.00100429,2.24727,2.58222,2.70502e-05,-0.0326441,0.0511666,-4.78857e-07,-0.00407652,-0.00512323,7.47016e-06,-0.0474428,-0.000299387,5.78651e-06,0.045986,-0.0674412,-2.60944e-05,0.00281814,-0.0161326,-1.93828e-06,-0.0258442,0.0183727,-1.31186e-05,0.271878,0.264695,1.573e-05,0.0624606,-0.00712013,-7.35684e-05,-0.144501,0.257157,5.69119e-05,-0.0478248,0.0729166,-nan,-nan,-nan,3.85235e-06,0.00501436,-0.0571896,5.8206e-05,0.0293807,0.00542608,-0.000387103,-8.58353,-9.36054,-5.71234e-06,0.323951,-0.585497,-0.000131252,-1.39362,-1.36754,5.91297e-06,-0.661384,-0.162028,-nan,-nan,-nan,4.0394e-05,-0.126345,0.00536412,-0.000496515,0.202027,0.584512,-3.68504e-05,0.93403,-2.99677,-nan,-nan,-nan,-0.000691033,0.699183,0.121499,0.000505373,-1.60534,4.36043,0.000307297,-0.464699,0.533239)
 MESH MOVED 
CONVERGENCE CHECK:
 VELOC.: ratio = -nan; exp.ratio = 0.01 abs = -nan exp.abs = 0.0001
 PRESS.: ratio = -nan; exp.ratio = 0.01 abs = -nan exp.abs = 0.0001
build time: 0.000263662
SuperLU solver finished.

system solve time: 0.000493153
Solution obtained = [108](-0.025839,19.3513,-9.00728,-0.076947,-2.4726,-1.35925,0.0113651,-32.2212,3.89304,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,0.000138448,-0.369835,0.137379,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,8.26767e-05,-0.452813,-0.425952,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-0.0507143,7.90372,-9.2804,-nan,-nan,-nan,0.0514238,-16.2623,-5.91526,-nan,-nan,-nan,-nan,-nan,-nan,0.00034041,-5.34443,-2.45833,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan)
RHS  = [108](-0.025839,19.3513,-9.00728,-0.076947,-2.4726,-1.35925,0.0113651,-32.2212,3.89304,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,0.000138448,-0.369835,0.137379,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,8.26767e-05,-0.452813,-0.425952,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-0.0507143,7.90372,-9.2804,-nan,-nan,-nan,0.0514238,-16.2623,-5.91526,-nan,-nan,-nan,-nan,-nan,-nan,0.00034041,-5.34443,-2.45833,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan)
 MESH MOVED 
CONVERGENCE CHECK:
 VELOC.: ratio = -nan; exp.ratio = 0.01 abs = -nan exp.abs = 0.0001
 PRESS.: ratio = -nan; exp.ratio = 0.01 abs = -nan exp.abs = 0.0001
build time: 0.000272427
SuperLU solver finished.

system solve time: 0.000867133
Solution obtained = [108](-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan)
RHS  = [108](-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan)
 MESH MOVED 
CONVERGENCE CHECK:
 VELOC.: ratio = -nan; exp.ratio = 0.01 abs = -nan exp.abs = 0.0001
 PRESS.: ratio = -nan; exp.ratio = 0.01 abs = -nan exp.abs = 0.0001
build time: 0.000267071
SuperLU solver finished.

system solve time: 0.000460969
Solution obtained = [108](nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan)
RHS  = [108](nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan)
 MESH MOVED 
CONVERGENCE CHECK:
 VELOC.: ratio = -nan; exp.ratio = 0.01 abs = -nan exp.abs = 0.0001
 PRESS.: ratio = -nan; exp.ratio = 0.01 abs = -nan exp.abs = 0.0001
build time: 0.000264752
SuperLU solver finished.

system solve time: 0.00158831
Solution obtained = [108](nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan)
RHS  = [108](nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan)
 MESH MOVED 
CONVERGENCE CHECK:
 VELOC.: ratio = -nan; exp.ratio = 0.01 abs = -nan exp.abs = 0.0001
 PRESS.: ratio = -nan; exp.ratio = 0.01 abs = -nan exp.abs = 0.0001
build time: 0.000290304
SuperLU solver finished.

system solve time: 0.000472099
Solution obtained = [108](nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan)
RHS  = [108](nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan)
 MESH MOVED 
CONVERGENCE CHECK:
 VELOC.: ratio = -nan; exp.ratio = 0.01 abs = -nan exp.abs = 0.0001
 PRESS.: ratio = -nan; exp.ratio = 0.01 abs = -nan exp.abs = 0.0001
build time: 0.000273816
SuperLU solver finished.

system solve time: 0.000462274
Solution obtained = [108](nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan)
RHS  = [108](nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan)
 MESH MOVED 
CONVERGENCE CHECK:
 VELOC.: ratio = -nan; exp.ratio = 0.01 abs = -nan exp.abs = 0.0001
 PRESS.: ratio = -nan; exp.ratio = 0.01 abs = -nan exp.abs = 0.0001
build time: 0.000267073
SuperLU solver finished.

system solve time: 0.000458126
Solution obtained = [108](nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan)
RHS  = [108](nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan)
 MESH MOVED 
CONVERGENCE CHECK:
 VELOC.: ratio = -nan; exp.ratio = 0.01 abs = -nan exp.abs = 0.0001
 PRESS.: ratio = -nan; exp.ratio = 0.01 abs = -nan exp.abs = 0.0001
build time: 0.000275353
SuperLU solver finished.

system solve time: 0.000458715
Solution obtained = [108](nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan)
RHS  = [108](nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan)
 MESH MOVED 
CONVERGENCE CHECK:
 VELOC.: ratio = -nan; exp.ratio = 0.01 abs = -nan exp.abs = 0.0001
 PRESS.: ratio = -nan; exp.ratio = 0.01 abs = -nan exp.abs = 0.0001
build time: 0.000269246
SuperLU solver finished.

system solve time: 0.00045779
Solution obtained = [108](nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan)
RHS  = [108](nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan)
 MESH MOVED 
CONVERGENCE CHECK:
 VELOC.: ratio = -nan; exp.ratio = 0.01 abs = -nan exp.abs = 0.0001
 PRESS.: ratio = -nan; exp.ratio = 0.01 abs = -nan exp.abs = 0.0001
build time: 0.000267417
SuperLU solver finished.

system solve time: 0.000565359
Solution obtained = [108](nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan)
RHS  = [108](nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan)
 MESH MOVED 
CONVERGENCE CHECK:
 VELOC.: ratio = -nan; exp.ratio = 0.01 abs = -nan exp.abs = 0.0001
 PRESS.: ratio = -nan; exp.ratio = 0.01 abs = -nan exp.abs = 0.0001
build time: 0.000276567
SuperLU solver finished.

system solve time: 0.000478094
Solution obtained = [108](nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan)
RHS  = [108](nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan)
 MESH MOVED 
CONVERGENCE CHECK:
 VELOC.: ratio = -nan; exp.ratio = 0.01 abs = -nan exp.abs = 0.0001
 PRESS.: ratio = -nan; exp.ratio = 0.01 abs = -nan exp.abs = 0.0001
build time: 0.000267941
SuperLU solver finished.

system solve time: 0.000460128
Solution obtained = [108](nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan)
RHS  = [108](nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan)
 MESH MOVED 
CONVERGENCE CHECK:
 VELOC.: ratio = -nan; exp.ratio = 0.01 abs = -nan exp.abs = 0.0001
 PRESS.: ratio = -nan; exp.ratio = 0.01 abs = -nan exp.abs = 0.0001
build time: 0.000262247
SuperLU solver finished.

system solve time: 0.000456443
Solution obtained = [108](nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan)
RHS  = [108](nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan)
 MESH MOVED 
CONVERGENCE CHECK:
 VELOC.: ratio = -nan; exp.ratio = 0.01 abs = -nan exp.abs = 0.0001
 PRESS.: ratio = -nan; exp.ratio = 0.01 abs = -nan exp.abs = 0.0001
build time: 0.000266369
SuperLU solver finished.

system solve time: 0.000456738
Solution obtained = [108](nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan)
RHS  = [108](nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan)
 MESH MOVED 
CONVERGENCE CHECK:
 VELOC.: ratio = -nan; exp.ratio = 0.01 abs = -nan exp.abs = 0.0001
 PRESS.: ratio = -nan; exp.ratio = 0.01 abs = -nan exp.abs = 0.0001
build time: 0.000271707
SuperLU solver finished.

system solve time: 0.000457875
Solution obtained = [108](nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan)
RHS  = [108](nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan)
 MESH MOVED 
CONVERGENCE CHECK:
 VELOC.: ratio = -nan; exp.ratio = 0.01 abs = -nan exp.abs = 0.0001
 PRESS.: ratio = -nan; exp.ratio = 0.01 abs = -nan exp.abs = 0.0001
build time: 0.000280112
SuperLU solver finished.

system solve time: 0.000457959
Solution obtained = [108](nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan)
RHS  = [108](nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan)
 MESH MOVED 
CONVERGENCE CHECK:
 VELOC.: ratio = -nan; exp.ratio = 0.01 abs = -nan exp.abs = 0.0001
 PRESS.: ratio = -nan; exp.ratio = 0.01 abs = -nan exp.abs = 0.0001
build time: 0.000269484
SuperLU solver finished.

system solve time: 0.000454693
Solution obtained = [108](nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan)
RHS  = [108](nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan)
 MESH MOVED 
CONVERGENCE CHECK:
 VELOC.: ratio = -nan; exp.ratio = 0.01 abs = -nan exp.abs = 0.0001
 PRESS.: ratio = -nan; exp.ratio = 0.01 abs = -nan exp.abs = 0.0001
build time: 0.000312971
SuperLU solver finished.

system solve time: 0.000466891
Solution obtained = [108](nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan)
RHS  = [108](nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan)
 MESH MOVED 
CONVERGENCE CHECK:
 VELOC.: ratio = -nan; exp.ratio = 0.01 abs = -nan exp.abs = 0.0001
 PRESS.: ratio = -nan; exp.ratio = 0.01 abs = -nan exp.abs = 0.0001
build time: 0.000266562
SuperLU solver finished.

system solve time: 0.000458376
Solution obtained = [108](nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan)
RHS  = [108](nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,-nan,nan,-nan,-nan,-nan,-nan,-nan)
 MESH MOVED 
CONVERGENCE CHECK:
 VELOC.: ratio = -nan; exp.ratio = 0.01 abs = -nan exp.abs = 0.0001
 PRESS.: ratio = -nan; exp.ratio = 0.01 abs = -nan exp.abs = 0.0001
***************************************************
******* ATTENTION: max iterations exceeded ********
***************************************************
ResidualBasedBlockBuilderAndSolver Clear Function called
Newton Raphson strategy Clear function used
 MESH MOVED 
"Trigen PFEM Refining Mesher" : Trigen PFEM Refining Mesher
"Number of nodes after erasing" : Number of nodes after erasing
ThisModelPart.Nodes().size() : 36
Constructing Delaunay triangulation by divide-and-conquer method.

please note that I uploaded all my work so far on my branch on github, we will highly appreciate your valuable guidance and feedback please,

Thanks and best regards

elafnm commented 6 years ago

dears, @playpaolo and @philbucher

greetings and very good day to you,

just to inform you please that it works now even when starting with different configuration,

it worked when I commented the following line from the "Lap_young_lagr.py" solver :

" #mesh_solver.Solve() "

I will further expand the code with more files for more testing, so please if you have any comments or guidance so far let me know so I can follow it as recommended,

Thanks and best regards,

it works

elafnm commented 6 years ago

@playpaolo Greetings dear Dr. Pavel,

as of now, the first stage of transferring the code (which is the droplet in Lagrangian domain) to the latest version of kratos is almost ready, and as advised by Dr. Alex that I need to ask you for a pull request please, but before that we need your support please in the following issues (and where I will highlight the main concerns using bold-text where we need your appreciated guidance please):

  1. as indicated in my comment above, the code is working when we commented the following line from the "Lap_young_lagr.py" solver :
" #mesh_solver.Solve() "

and we get the following results as an example, initial square shape final result converged

noting that when used the previous version (that Dr.Alex was using for developing his code) we got exactly the same solution as of that if have not commented the mesh_solver. Even for the previous version, we always will got the exact solution wither or not we use the mesh_solver.

so our question here,

do we really need to use the mesh solver (thought we tried to use it but could not success; and beside, the code is working fine now without it),

noting that (as explained earlier) we are solving\computing for the mesh velocity from the actual velocity value from the solution itself, utilizing the following two files:

kratos\applications\FluidDynamicsApplication\custom_strategies\strategies\residualbased_predictorcorrector_velocity_bossak_scheme_turbulent.h:

if((itNode)->FastGetSolutionStepValue(IS_LAGRANGIAN_INLET) == 0.0)
{
    noalias(itNode->FastGetSolutionStepValue(MESH_VELOCITY)) = itNode->FastGetSolutionStepValue(VELOCITY);
    UpdateDisplacement(CurrentDisplacement, OldDisplacement, OldVelocity, OldAcceleration, CurrentAcceleration);
}
else
{
    itNode->FastGetSolutionStepValue(MESH_VELOCITY_X) = 0.0;
    itNode->FastGetSolutionStepValue(MESH_VELOCITY_Y) = 0.0;
    itNode->FastGetSolutionStepValue(DISPLACEMENT_X) = 0.0;
    itNode->FastGetSolutionStepValue(DISPLACEMENT_Y) = 0.0;
}

and trigen refine (as I added a file called "trigen_droplet_refine.h") based on your recommendation

  1. the second issue that I need your advice please, as I mentioned earlier in one of my previous comments that we are commenting the following inside the SurfaceTension_monolithic_solver.py,
 #if self.divergence_clearance_steps > 0:
            #print("Calculating divergence-free initial condition")
            ## initialize with a Stokes solution step
            #try:
                #import KratosMultiphysics.ExternalSolversApplication as kes
                #smoother_type = kes.AMGCLSmoother.DAMPED_JACOBI
                #solver_type = kes.AMGCLIterativeSolverType.CG
                #gmres_size = 50
                #max_iter = 200
                #tol = 1e-6
                #verbosity = 0
                #stokes_linear_solver = kes.AMGCLSolver(
                    #smoother_type,
                    #solver_type,
                    #tol,
                    #max_iter,
                    #verbosity,
                    #gmres_size)
            #except:
                #pPrecond = DiagonalPreconditioner()
                #stokes_linear_solver = BICGSTABSolver(1e-6, 5000, pPrecond)
            #stokes_process = StokesInitializationProcess(
                #self.model_part,
                #stokes_linear_solver,
                #self.domain_size,
                #PATCH_INDEX)
            ## copy periodic conditions to Stokes problem
            #stokes_process.SetConditions(self.model_part.Conditions)
            ## execute Stokes process
            #stokes_process.Execute()
            #stokes_process = None

            #for node in self.model_part.Nodes:
                #node.SetSolutionStepValue(PRESSURE, 0, 0.0)
                #node.SetSolutionStepValue(ACCELERATION_X, 0, 0.0)
                #node.SetSolutionStepValue(ACCELERATION_Y, 0, 0.0)
                #node.SetSolutionStepValue(ACCELERATION_Z, 0, 0.0)

            #self.divergence_clearance_steps = 0
            #print("Finished divergence clearance")

noting that if I did not comment the above lines I will get the earlier errors as:

"Trigen PFEM Refining Mesher" : Trigen PFEM Refining Mesher
"Number of nodes after erasing" : Number of nodes after erasing
ThisModelPart.Nodes().size() : 0
Segmentation fault (core dumped)

so my second question please does this have any affect on any results,

3. Do you think that after we can proceed with our first pull request,

Thanks and regards,

philbucher commented 6 years ago

closing since the PR #1410 is in progress

@elafnm Please reopen if necessary