Results published: Kikker, Kummer, Oberlack: A fully coupled high-order discontinuous Galerkin solver for viscoelastic fluid flow, see also at tubiblio.
This example can be found in the source code repository as as ConfinedCylinder_ConvergenceStudy.ipynb
.
One can directly load this into Jupyter to interactively work with the following code examples.
Note: First, BoSSS has to be loaded into the Jupyter kernel. Note:
In the following line, the reference to BoSSSpad.dll
is required.
One must either set #r "BoSSSpad.dll"
to something which is appropirate for the current computer
(e.g. C:\Program Files (x86)\FDY\BoSSS\bin\Release\net5.0\BoSSSpad.dll
if working with the binary distribution),
or, if one is working with the source code, one must compile BoSSSpad
and put it side-by-side to this worksheet file
(from the original location in the repository, one can use the scripts getbossspad.sh
, resp. getbossspad.bat
).
#r "BoSSSpad.dll"
using System;
using System.Collections.Generic;
using System.Linq;
using ilPSP;
using ilPSP.Utils;
using BoSSS.Platform;
using BoSSS.Foundation;
using BoSSS.Foundation.XDG;
using BoSSS.Foundation.Grid;
using BoSSS.Foundation.Grid.Classic;
using BoSSS.Foundation.IO;
using BoSSS.Solution;
using BoSSS.Solution.Control;
using BoSSS.Solution.GridImport;
using BoSSS.Solution.Statistic;
using BoSSS.Solution.Utils;
using BoSSS.Solution.AdvancedSolvers;
using BoSSS.Solution.Gnuplot;
using BoSSS.Application.BoSSSpad;
using BoSSS.Application.XNSE_Solver;
using static BoSSS.Application.BoSSSpad.BoSSSshell;
Init();
Loading the Rheology
namespace:
using BoSSS.Application.Rheology;
Initialization of the Workflow management; there ConfinedCylinder_ConvergenceStudy
is the project name which is used for all comutations (aka. sessions):
BoSSSshell.WorkflowMgm.Init("ConfinedCylinder_ConvergenceStudy");
Project name is set to 'ConfinedCylinder_ConvergenceStudy'. Default Execution queue is chosen for the database. Creating database '\\fdygitrunner\ValidationTests\databases\ConfinedCylinder_ConvergenceStudy'.
Overview on the available Execution Queues (aka. Batch Processors, aka. Batch System); these e.g. Linux HPC clusters on which compute jobs can be executed.
These queues are specified globally (i.e. for all projects for the current user on current machine)
in the file ~/.BoSSS/etc/BatchProcessorConfig.json
.
If ~/.BoSSS/etc/BatchProcessorConfig.json
is missing or un-readable, a default list of execution queues is defined (containing only the MiniBatchProcessor
for executing on the current machine.
ExecutionQueues
index | RuntimeLocation | DeploymentBaseDirectory | DeployRuntime | Name | DotnetRuntime | Username | ServerName | ComputeNodes | DefaultJobPriority | SingleNode | AllowedDatabasesPaths |
---|---|---|---|---|---|---|---|---|---|---|---|
0 | win\amd64 | \\fdygitrunner\BoSSStests | True | MSHPC-Gitrunner-HighPrio | dotnet | FDY\jenkinsci | DC2 | [ fdygitrunner ] | Highest | True | [ \\fdygitrunner\BoSSStests, \\fdygitrunner\ValidationTests\databases ] |
1 | win\amd64 | \\fdygitrunner\BoSSStests | False | MSHPC-Gitrunner-DefaultTest | dotnet | FDY\jenkinsci | DC2 | [ hpccluster, hpccluster2, hpcluster3, hpccluster4, fdygitrunner ] | Normal | True | [ \\fdygitrunner\BoSSStests, \\fdygitrunner\ValidationTests\databases ] |
2 | win\amd64 | \\fdygitrunner\ValidationTests\deploy | True | MSHPC-AllNodes | dotnet | FDY\jenkinsci | DC2 | [ hpccluster, hpccluster2, hpcluster3, hpccluster4, fdygitrunner ] | Normal | True | [ \\fdygitrunner\ValidationTests\databases ] |
3 | win\amd64 | \\fdygitrunner\BoSSStests | True | MSHPC-AllNodes-test | dotnet | FDY\jenkinsci | DC2 | [ hpccluster, hpccluster2, hpcluster3, hpccluster4, fdygitrunner ] | Normal | True | [ \\fdygitrunner\BoSSStests ] |
4 | win\amd64 | \\fdygitrunner\ValidationTests\deploy | True | MSHPC-FastNodes | dotnet | FDY\jenkinsci | DC2 | [ hpcluster3, hpccluster4 ] | Normal | True | [ \\fdygitrunner\ValidationTests\databases ] |
For this example (which is part of the BoSSS validation tests), a default queue is selected to run all jobs in the convergence study. The default queue is defined by the following settings:
~/.BoSSS/etc/BatchProcessorConfig.json
file, in the DefaultQueueIndex
entry.
If no such entry is present, the default queue is queue no. 0.The default queue for each project can be overridden in the file ~/.BoSSS/etc/DefaultQueuesProjectOverride.txt
.
Note: by intention, there is no means of overriding the default queue from within the worksheet. This is, because worksheets should ideally be independent from the current machine. It is, however, possible to specify a queue for each job indipendently dureing the job activation (see below).
GetDefaultQueue()
RuntimeLocation | DeploymentBaseDirectory | DeployRuntime | Name | DotnetRuntime | Username | ServerName | ComputeNodes | DefaultJobPriority | SingleNode | AllowedDatabasesPaths |
---|---|---|---|---|---|---|---|---|---|---|
win\amd64 | \\fdygitrunner\ValidationTests\deploy | True | MSHPC-AllNodes | dotnet | FDY\jenkinsci | DC2 | [ hpccluster, hpccluster2, hpcluster3, hpccluster4, fdygitrunner ] | Normal | True | [ \\fdygitrunner\ValidationTests\databases ] |
int[] pOrder = new int[] {1, 2, 3, 4};
int numberGrids = 4;
double[] WeissenbergS = new double[] { 0.0, 0.2 };
IGridInfo[] grids = new IGridInfo[numberGrids];
//GridCommons grid;
// Function to specify the boundary condition in dependence of the position X:
Func<double[], string> edgeTagFunc = delegate (double[] X) {
double x = X[0];
double y = X[1];
// if (!C.FixedStreamwisePeriodicBC)
// {
if (Math.Abs(x - (-15)) < 1.0e-10)
return "Velocity_inlet";
if (Math.Abs(x - (+15)) < 1.0e-10)
return "Pressure_Outlet";
// }
// if (Math.Abs(y - (-2)) < 1.0e-10)
// return "Freeslip";
if (Math.Abs(y - (0)) < 1.0e-10)
return "Freeslip";
if (Math.Abs(y - (+2)) < 1.0e-10)
return "Wall_top";
// if (-1.0 < y && y < 1.0 && -1.0 < x && x < 1.0)
// return "Wall_cylinder";
if (0.0 < y && y < 1.0 && -1.0 < x && x < 1.0)
return "Wall_cylinder";
throw new ArgumentOutOfRangeException("at x = " + x + "and y = " +y);
};
for (int k = 0; k < numberGrids; k++) { // loop over mesh resolutions...
// import grid from Gmsh file:
grids[k] = BoSSSshell.WorkflowMgm.ImportGrid(@"mesh_karman_OriginalBox_MEDIUM_" + k + "_half.msh",
EdgeTagFunc:edgeTagFunc);
}
Grid Edge Tags changed. Grid Edge Tags changed. Grid Edge Tags changed. Grid Edge Tags changed.
grids
#0: { Guid = d59cc672-dbce-4c0b-ab86-916efb8d52e7; Name = ; Cell Count = 320; Dim = 2 } #1: { Guid = feea0f85-24d9-43d0-ab72-bc547bf277f3; Name = ; Cell Count = 1208; Dim = 2 } #2: { Guid = 6ab8f3fc-21ee-495f-949e-6b9064230ad9; Name = ; Cell Count = 4252; Dim = 2 } #3: { Guid = 083a8a91-df9b-46f6-bea1-4c1aac45bf8a; Name = ; Cell Count = 14712; Dim = 2 }
using BoSSS.Solution.AdvancedSolvers;
// Code for Initial conditions
class MyInitCode {
static string nl = System.Environment.NewLine;
public static string InitCode(double Reynolds, double Weissenberg, double beta) =>
"static class InitialValues { " + nl +
" " + nl +
" static double u0 = 1.5; // 0.375;// 0.66;// 3 / 2; " + nl +
" static double h = 4; " + nl +
$" public static double beta = {beta}; " + nl +
$" static double Reynolds = {Reynolds}; " + nl +
$" static double Weissenberg = {Weissenberg}; " + nl +
" " + nl +
" public static double VelocityXfunction(double[] X) { " + nl +
" return u0 * (1 - (X[1] * X[1])/h); " + nl +
" } " + nl +
" " + nl +
" public static double VelocityYfunction(double[] X) { " + nl +
" return 0.0; " + nl +
" } " + nl +
" " + nl +
" public static double Pressurefunction(double[] X) { " + nl +
" return u0 * 0.5 * Reynolds * (35 - X[0]); " + nl +
" } " + nl +
" " + nl +
" public static double StressXXfunction_wi02(double[] X) { " + nl +
" const double Weissenberg = 0.2; " + nl +
" return 2 * Weissenberg * (1 - beta) * u0 * (-2 / h) * X[1] * u0 * (-2 / h) * X[1]; " + nl +
" } " + nl +
" " + nl +
" public static double StressXXfunction_wi00(double[] X) { " + nl +
" const double Weissenberg = 0.0; " + nl +
" return 2 * Weissenberg * (1 - beta) * u0 * (-2 / h) * X[1] * u0 * (-2 / h) * X[1]; " + nl +
" } " + nl +
" " + nl +
" public static double StressXYfunction(double[] X) { " + nl +
" return (1 - beta) * u0 * (-2 / h) * X[1]; " + nl +
" } " + nl +
" " + nl +
" public static double StressYYfunction(double[] X) { " + nl +
" return 0.0; " + nl +
" } " + nl +
"} " + nl;
}
//MyInitCode.InitCode(1,2)
List<RheologyControl> Controls = new List<RheologyControl>();
Controls.Clear();
double _beta = 0.59;
double _Reynolds = 1.0;
foreach(double Weissenberg in WeissenbergS) { // loop over different Weissenberg numbers...
foreach(int degree in pOrder) { // loop over polynomial orders...
int elemInd = 0;
foreach(var grd in grids) { // loop over grid resolutions...
//Database
RheologyControl C = new RheologyControl();
C.savetodb = true;
C.SetGrid(grd);
C.TracingNamespaces = "BoSSS,ilPSP";
//SolverChooser
C.NonLinearSolver.MaxSolverIterations = 100;
C.NonLinearSolver.MinSolverIterations = 3;
C.NonLinearSolver.ConvergenceCriterion = 0.0; // as accurate as possible, until no further reduction can be achieved.
C.NonLinearSolver.SolverCode = NonLinearSolverCode.Newton;
C.LinearSolver = LinearSolverCode.direct_pardiso.GetConfig();
//Timestepping
C.TimesteppingMode = AppControl._TimesteppingMode.Steady;
C.Timestepper_Scheme = RheologyControl.TimesteppingScheme.ImplicitEuler;
C.ObjectiveParam = 1.0;
//Configuration Shock capturing and body forces
//C.UsePerssonSensor = false;
//C.SensorLimit = 1e-4;
C.AdaptiveMeshRefinement = false;
C.RefinementLevel = 10;
//C.UseArtificialDiffusion = false;
C.Bodyforces = true;
//Physical parameters
C.beta = _beta;
C.Reynolds = _Reynolds;
C.Weissenberg = Weissenberg; //aim Weissenberg number!
C.RaiseWeissenberg = Weissenberg > 0.0;
//Penalties
C.ViscousPenaltyScaling = 1;
C.Penalty2 = 1;
C.Penalty1[0] = 0.0;
C.Penalty1[1] = 0.0;
C.PresPenalty2 = 1;
C.PresPenalty1[0] = 0.0;
C.PresPenalty1[1] = 0.0;
C.alpha = 1;
C.StressPenalty = 1.0;
//Create Fields
C.SetDGdegree(degree);
//Set initial values
C.InitialValues.Add("VelocityX", new Formula("InitialValues.VelocityXfunction", false, MyInitCode.InitCode(1, Weissenberg, _beta)));
C.InitialValues.Add("VelocityY", new Formula("InitialValues.VelocityYfunction", false, MyInitCode.InitCode(1, Weissenberg, _beta)));
if(Weissenberg == 0.0)
C.InitialValues.Add("StressXX", new Formula("InitialValues.StressXXfunction_wi00", false, MyInitCode.InitCode(1, Weissenberg, _beta)));
else if(Weissenberg == 0.2)
C.InitialValues.Add("StressXX", new Formula("InitialValues.StressXXfunction_wi02", false, MyInitCode.InitCode(1, Weissenberg, _beta)));
else
throw new NotImplementedException("Missing Weissenberg = " + Weissenberg);
C.InitialValues.Add("StressXY", new Formula("InitialValues.StressXYfunction", false, MyInitCode.InitCode(1, Weissenberg, _beta)));
C.InitialValues.Add("StressYY", new Formula("InitialValues.StressYYfunction", false, MyInitCode.InitCode(1, Weissenberg, _beta)));
//Set Boundary Conditions
//C.AddBoundaryValue("Wall_top", "VelocityX", Wall);
//C.AddBoundaryValue("Wall_top", "VelocityY", Wall);
//C.AddBoundaryValue("Wall_cylinder", "VelocityX", Wall);
//C.AddBoundaryValue("Wall_cylinder", "VelocityY", Wall);
C.AddBoundaryValue("Velocity_inlet", "VelocityX", new Formula("InitialValues.VelocityXfunction", false, MyInitCode.InitCode(1, Weissenberg, _beta)));
C.AddBoundaryValue("Velocity_inlet", "VelocityY", new Formula("InitialValues.VelocityYfunction", false, MyInitCode.InitCode(1, Weissenberg, _beta)));
if(Weissenberg == 0.0)
C.AddBoundaryValue("Velocity_inlet", "StressXX", new Formula("InitialValues.StressXXfunction_wi00", false, MyInitCode.InitCode(1, Weissenberg, _beta)));
else if(Weissenberg == 0.2)
C.AddBoundaryValue("Velocity_inlet", "StressXX", new Formula("InitialValues.StressXXfunction_wi02", false, MyInitCode.InitCode(1, Weissenberg, _beta)));
else
throw new NotImplementedException("Missing Weissenberg = " + Weissenberg);
C.AddBoundaryValue("Velocity_inlet", "StressXY", new Formula("InitialValues.StressXYfunction", false, MyInitCode.InitCode(1, Weissenberg, _beta)));
C.AddBoundaryValue("Velocity_inlet", "StressYY", new Formula("InitialValues.StressYYfunction", false, MyInitCode.InitCode(1, Weissenberg, _beta)));
//Save Session and next...
C.SessionName = $"ConfinedCylinder_ConvergenceStudy_p{degree}_meshNo{elemInd}_Wi{Weissenberg}_half";
Controls.Add(C);
Console.WriteLine("Created control: " + C.SessionName);
elemInd++;
}
}
}
Created control: ConfinedCylinder_ConvergenceStudy_p1_meshNo0_Wi0_half Created control: ConfinedCylinder_ConvergenceStudy_p1_meshNo1_Wi0_half Created control: ConfinedCylinder_ConvergenceStudy_p1_meshNo2_Wi0_half Created control: ConfinedCylinder_ConvergenceStudy_p1_meshNo3_Wi0_half Created control: ConfinedCylinder_ConvergenceStudy_p2_meshNo0_Wi0_half Created control: ConfinedCylinder_ConvergenceStudy_p2_meshNo1_Wi0_half Created control: ConfinedCylinder_ConvergenceStudy_p2_meshNo2_Wi0_half Created control: ConfinedCylinder_ConvergenceStudy_p2_meshNo3_Wi0_half Created control: ConfinedCylinder_ConvergenceStudy_p3_meshNo0_Wi0_half Created control: ConfinedCylinder_ConvergenceStudy_p3_meshNo1_Wi0_half Created control: ConfinedCylinder_ConvergenceStudy_p3_meshNo2_Wi0_half Created control: ConfinedCylinder_ConvergenceStudy_p3_meshNo3_Wi0_half Created control: ConfinedCylinder_ConvergenceStudy_p4_meshNo0_Wi0_half Created control: ConfinedCylinder_ConvergenceStudy_p4_meshNo1_Wi0_half Created control: ConfinedCylinder_ConvergenceStudy_p4_meshNo2_Wi0_half Created control: ConfinedCylinder_ConvergenceStudy_p4_meshNo3_Wi0_half Created control: ConfinedCylinder_ConvergenceStudy_p1_meshNo0_Wi0.2_half Created control: ConfinedCylinder_ConvergenceStudy_p1_meshNo1_Wi0.2_half Created control: ConfinedCylinder_ConvergenceStudy_p1_meshNo2_Wi0.2_half Created control: ConfinedCylinder_ConvergenceStudy_p1_meshNo3_Wi0.2_half Created control: ConfinedCylinder_ConvergenceStudy_p2_meshNo0_Wi0.2_half Created control: ConfinedCylinder_ConvergenceStudy_p2_meshNo1_Wi0.2_half Created control: ConfinedCylinder_ConvergenceStudy_p2_meshNo2_Wi0.2_half Created control: ConfinedCylinder_ConvergenceStudy_p2_meshNo3_Wi0.2_half Created control: ConfinedCylinder_ConvergenceStudy_p3_meshNo0_Wi0.2_half Created control: ConfinedCylinder_ConvergenceStudy_p3_meshNo1_Wi0.2_half Created control: ConfinedCylinder_ConvergenceStudy_p3_meshNo2_Wi0.2_half Created control: ConfinedCylinder_ConvergenceStudy_p3_meshNo3_Wi0.2_half Created control: ConfinedCylinder_ConvergenceStudy_p4_meshNo0_Wi0.2_half Created control: ConfinedCylinder_ConvergenceStudy_p4_meshNo1_Wi0.2_half Created control: ConfinedCylinder_ConvergenceStudy_p4_meshNo2_Wi0.2_half Created control: ConfinedCylinder_ConvergenceStudy_p4_meshNo3_Wi0.2_half
Controls.Count
foreach(var ctrl in Controls) {
var oneJob = ctrl.CreateJob();
oneJob.NumberOfMPIProcs = 1;
oneJob.Activate();
}
Deployments so far (0): ; Success: 0 job submit count: 0
unable to determine job status - unknown
Deploying job ConfinedCylinder_ConvergenceStudy_p1_meshNo0_Wi0_half ... Deploying executables and additional files ... Deployment directory: \\fdygitrunner\ValidationTests\deploy\ConfinedCylinder_ConvergenceStudy-RheologySolver2023Nov24_191557.828283 copied 42 files. written file: control.obj copied 'win\amd64' runtime. deployment finished. Deployments so far (0): ; Success: 0 job submit count: 0
unable to determine job status - unknown
Deploying job ConfinedCylinder_ConvergenceStudy_p1_meshNo1_Wi0_half ... Deploying executables and additional files ... Deployment directory: \\fdygitrunner\ValidationTests\deploy\ConfinedCylinder_ConvergenceStudy-RheologySolver2023Nov24_191619.536454 copied 42 files. written file: control.obj copied 'win\amd64' runtime. deployment finished. Deployments so far (0): ; Success: 0 job submit count: 0
unable to determine job status - unknown
Deploying job ConfinedCylinder_ConvergenceStudy_p1_meshNo2_Wi0_half ... Deploying executables and additional files ... Deployment directory: \\fdygitrunner\ValidationTests\deploy\ConfinedCylinder_ConvergenceStudy-RheologySolver2023Nov24_191641.615819 copied 42 files. written file: control.obj copied 'win\amd64' runtime. deployment finished. Deployments so far (0): ; Success: 0 job submit count: 0
unable to determine job status - unknown
Deploying job ConfinedCylinder_ConvergenceStudy_p1_meshNo3_Wi0_half ... Deploying executables and additional files ... Deployment directory: \\fdygitrunner\ValidationTests\deploy\ConfinedCylinder_ConvergenceStudy-RheologySolver2023Nov24_191706.217798 copied 42 files. written file: control.obj copied 'win\amd64' runtime. deployment finished. Deployments so far (0): ; Success: 0 job submit count: 0
unable to determine job status - unknown
Deploying job ConfinedCylinder_ConvergenceStudy_p2_meshNo0_Wi0_half ... Deploying executables and additional files ... Deployment directory: \\fdygitrunner\ValidationTests\deploy\ConfinedCylinder_ConvergenceStudy-RheologySolver2023Nov24_191731.353077 copied 42 files. written file: control.obj copied 'win\amd64' runtime. deployment finished. Deployments so far (0): ; Success: 0 job submit count: 0
unable to determine job status - unknown
Deploying job ConfinedCylinder_ConvergenceStudy_p2_meshNo1_Wi0_half ... Deploying executables and additional files ... Deployment directory: \\fdygitrunner\ValidationTests\deploy\ConfinedCylinder_ConvergenceStudy-RheologySolver2023Nov24_191758.262604 copied 42 files. written file: control.obj copied 'win\amd64' runtime. deployment finished. Deployments so far (0): ; Success: 0 job submit count: 0
unable to determine job status - unknown
Deploying job ConfinedCylinder_ConvergenceStudy_p2_meshNo2_Wi0_half ... Deploying executables and additional files ... Deployment directory: \\fdygitrunner\ValidationTests\deploy\ConfinedCylinder_ConvergenceStudy-RheologySolver2023Nov24_191825.312132 copied 42 files. written file: control.obj copied 'win\amd64' runtime. deployment finished. Deployments so far (0): ; Success: 0 job submit count: 0
unable to determine job status - unknown
Deploying job ConfinedCylinder_ConvergenceStudy_p2_meshNo3_Wi0_half ... Deploying executables and additional files ... Deployment directory: \\fdygitrunner\ValidationTests\deploy\ConfinedCylinder_ConvergenceStudy-RheologySolver2023Nov24_191857.203750 copied 42 files. written file: control.obj copied 'win\amd64' runtime. deployment finished. Deployments so far (0): ; Success: 0 job submit count: 0
unable to determine job status - unknown
Deploying job ConfinedCylinder_ConvergenceStudy_p3_meshNo0_Wi0_half ... Deploying executables and additional files ... Deployment directory: \\fdygitrunner\ValidationTests\deploy\ConfinedCylinder_ConvergenceStudy-RheologySolver2023Nov24_191941.117418 copied 42 files. written file: control.obj copied 'win\amd64' runtime. deployment finished. Deployments so far (0): ; Success: 0 job submit count: 0
unable to determine job status - unknown
Deploying job ConfinedCylinder_ConvergenceStudy_p3_meshNo1_Wi0_half ... Deploying executables and additional files ... Deployment directory: \\fdygitrunner\ValidationTests\deploy\ConfinedCylinder_ConvergenceStudy-RheologySolver2023Nov24_192029.121603 copied 42 files. written file: control.obj copied 'win\amd64' runtime. deployment finished. Deployments so far (0): ; Success: 0 job submit count: 0
unable to determine job status - unknown
Deploying job ConfinedCylinder_ConvergenceStudy_p3_meshNo2_Wi0_half ... Deploying executables and additional files ... Deployment directory: \\fdygitrunner\ValidationTests\deploy\ConfinedCylinder_ConvergenceStudy-RheologySolver2023Nov24_192113.267311 copied 42 files. written file: control.obj copied 'win\amd64' runtime. deployment finished. Deployments so far (0): ; Success: 0 job submit count: 0
unable to determine job status - unknown
Deploying job ConfinedCylinder_ConvergenceStudy_p3_meshNo3_Wi0_half ... Deploying executables and additional files ... Deployment directory: \\fdygitrunner\ValidationTests\deploy\ConfinedCylinder_ConvergenceStudy-RheologySolver2023Nov24_192155.590107 copied 42 files. written file: control.obj copied 'win\amd64' runtime. deployment finished. Deployments so far (0): ; Success: 0 job submit count: 0
unable to determine job status - unknown
Deploying job ConfinedCylinder_ConvergenceStudy_p4_meshNo0_Wi0_half ... Deploying executables and additional files ... Deployment directory: \\fdygitrunner\ValidationTests\deploy\ConfinedCylinder_ConvergenceStudy-RheologySolver2023Nov24_192240.854729 copied 42 files. written file: control.obj copied 'win\amd64' runtime. deployment finished. Warning: Object reference not set to an instance of an object. reading session 910cd344-d5b8-46ef-9d66-9f4e026b61db. Deployments so far (0): ; Success: 0 job submit count: 0
unable to determine job status - unknown
Deploying job ConfinedCylinder_ConvergenceStudy_p4_meshNo1_Wi0_half ... Deploying executables and additional files ... Deployment directory: \\fdygitrunner\ValidationTests\deploy\ConfinedCylinder_ConvergenceStudy-RheologySolver2023Nov24_192328.837605 copied 42 files. written file: control.obj copied 'win\amd64' runtime. deployment finished. Deployments so far (0): ; Success: 0 job submit count: 0
unable to determine job status - unknown
Deploying job ConfinedCylinder_ConvergenceStudy_p4_meshNo2_Wi0_half ... Deploying executables and additional files ... Deployment directory: \\fdygitrunner\ValidationTests\deploy\ConfinedCylinder_ConvergenceStudy-RheologySolver2023Nov24_192416.149090 copied 42 files. written file: control.obj copied 'win\amd64' runtime. deployment finished. Deployments so far (0): ; Success: 0 job submit count: 0
unable to determine job status - unknown
Deploying job ConfinedCylinder_ConvergenceStudy_p4_meshNo3_Wi0_half ... Deploying executables and additional files ... Deployment directory: \\fdygitrunner\ValidationTests\deploy\ConfinedCylinder_ConvergenceStudy-RheologySolver2023Nov24_192507.859692 copied 42 files. written file: control.obj copied 'win\amd64' runtime. deployment finished. Deployments so far (0): ; Success: 0 job submit count: 0
unable to determine job status - unknown
Deploying job ConfinedCylinder_ConvergenceStudy_p1_meshNo0_Wi0.2_half ... Deploying executables and additional files ... Deployment directory: \\fdygitrunner\ValidationTests\deploy\ConfinedCylinder_ConvergenceStudy-RheologySolver2023Nov24_192555.175921 copied 42 files. written file: control.obj copied 'win\amd64' runtime. deployment finished. Deployments so far (0): ; Success: 0 job submit count: 0
unable to determine job status - unknown
Deploying job ConfinedCylinder_ConvergenceStudy_p1_meshNo1_Wi0.2_half ... Deploying executables and additional files ... Deployment directory: \\fdygitrunner\ValidationTests\deploy\ConfinedCylinder_ConvergenceStudy-RheologySolver2023Nov24_192644.992137 copied 42 files. written file: control.obj copied 'win\amd64' runtime. deployment finished. Deployments so far (0): ; Success: 0 job submit count: 0
unable to determine job status - unknown
Deploying job ConfinedCylinder_ConvergenceStudy_p1_meshNo2_Wi0.2_half ... Deploying executables and additional files ... Deployment directory: \\fdygitrunner\ValidationTests\deploy\ConfinedCylinder_ConvergenceStudy-RheologySolver2023Nov24_192738.666083 copied 42 files. written file: control.obj copied 'win\amd64' runtime. deployment finished. Deployments so far (0): ; Success: 0 job submit count: 0
unable to determine job status - unknown
Deploying job ConfinedCylinder_ConvergenceStudy_p1_meshNo3_Wi0.2_half ... Deploying executables and additional files ... Deployment directory: \\fdygitrunner\ValidationTests\deploy\ConfinedCylinder_ConvergenceStudy-RheologySolver2023Nov24_192832.702103 copied 42 files. written file: control.obj copied 'win\amd64' runtime. deployment finished. Deployments so far (0): ; Success: 0 job submit count: 0
unable to determine job status - unknown
Deploying job ConfinedCylinder_ConvergenceStudy_p2_meshNo0_Wi0.2_half ... Deploying executables and additional files ... Deployment directory: \\fdygitrunner\ValidationTests\deploy\ConfinedCylinder_ConvergenceStudy-RheologySolver2023Nov24_192928.930354 copied 42 files. written file: control.obj copied 'win\amd64' runtime. deployment finished. Deployments so far (0): ; Success: 0 job submit count: 0
unable to determine job status - unknown
Deploying job ConfinedCylinder_ConvergenceStudy_p2_meshNo1_Wi0.2_half ... Deploying executables and additional files ... Deployment directory: \\fdygitrunner\ValidationTests\deploy\ConfinedCylinder_ConvergenceStudy-RheologySolver2023Nov24_193039.487600 copied 42 files. written file: control.obj copied 'win\amd64' runtime. deployment finished. Deployments so far (0): ; Success: 0 job submit count: 0
unable to determine job status - unknown
Deploying job ConfinedCylinder_ConvergenceStudy_p2_meshNo2_Wi0.2_half ... Deploying executables and additional files ... Deployment directory: \\fdygitrunner\ValidationTests\deploy\ConfinedCylinder_ConvergenceStudy-RheologySolver2023Nov24_193145.592062 copied 42 files. written file: control.obj copied 'win\amd64' runtime. deployment finished. Deployments so far (0): ; Success: 0 job submit count: 0
unable to determine job status - unknown
Deploying job ConfinedCylinder_ConvergenceStudy_p2_meshNo3_Wi0.2_half ... Deploying executables and additional files ... Deployment directory: \\fdygitrunner\ValidationTests\deploy\ConfinedCylinder_ConvergenceStudy-RheologySolver2023Nov24_193245.893570 copied 42 files. written file: control.obj copied 'win\amd64' runtime. deployment finished. Deployments so far (0): ; Success: 0 job submit count: 0
unable to determine job status - unknown
Deploying job ConfinedCylinder_ConvergenceStudy_p3_meshNo0_Wi0.2_half ... Deploying executables and additional files ... Deployment directory: \\fdygitrunner\ValidationTests\deploy\ConfinedCylinder_ConvergenceStudy-RheologySolver2023Nov24_193346.155745 copied 42 files. written file: control.obj copied 'win\amd64' runtime. deployment finished. Deployments so far (0): ; Success: 0 job submit count: 0
unable to determine job status - unknown
Deploying job ConfinedCylinder_ConvergenceStudy_p3_meshNo1_Wi0.2_half ... Deploying executables and additional files ... Deployment directory: \\fdygitrunner\ValidationTests\deploy\ConfinedCylinder_ConvergenceStudy-RheologySolver2023Nov24_193455.721034 copied 42 files. written file: control.obj copied 'win\amd64' runtime. deployment finished. Deployments so far (0): ; Success: 0 job submit count: 0
unable to determine job status - unknown
Deploying job ConfinedCylinder_ConvergenceStudy_p3_meshNo2_Wi0.2_half ... Deploying executables and additional files ... Deployment directory: \\fdygitrunner\ValidationTests\deploy\ConfinedCylinder_ConvergenceStudy-RheologySolver2023Nov24_193606.195130 copied 42 files. written file: control.obj copied 'win\amd64' runtime. deployment finished. Deployments so far (0): ; Success: 0 job submit count: 0
unable to determine job status - unknown
Deploying job ConfinedCylinder_ConvergenceStudy_p3_meshNo3_Wi0.2_half ... Deploying executables and additional files ... Deployment directory: \\fdygitrunner\ValidationTests\deploy\ConfinedCylinder_ConvergenceStudy-RheologySolver2023Nov24_193717.025565 copied 42 files. written file: control.obj copied 'win\amd64' runtime. deployment finished. Deployments so far (0): ; Success: 0 job submit count: 0
unable to determine job status - unknown
Deploying job ConfinedCylinder_ConvergenceStudy_p4_meshNo0_Wi0.2_half ... Deploying executables and additional files ... Deployment directory: \\fdygitrunner\ValidationTests\deploy\ConfinedCylinder_ConvergenceStudy-RheologySolver2023Nov24_193825.032222 copied 42 files. written file: control.obj copied 'win\amd64' runtime. deployment finished. Deployments so far (0): ; Success: 0 job submit count: 0
unable to determine job status - unknown
Deploying job ConfinedCylinder_ConvergenceStudy_p4_meshNo1_Wi0.2_half ... Deploying executables and additional files ... Deployment directory: \\fdygitrunner\ValidationTests\deploy\ConfinedCylinder_ConvergenceStudy-RheologySolver2023Nov24_193930.421002 copied 42 files. written file: control.obj copied 'win\amd64' runtime. deployment finished. Deployments so far (0): ; Success: 0 job submit count: 0
unable to determine job status - unknown
Deploying job ConfinedCylinder_ConvergenceStudy_p4_meshNo2_Wi0.2_half ... Deploying executables and additional files ... Deployment directory: \\fdygitrunner\ValidationTests\deploy\ConfinedCylinder_ConvergenceStudy-RheologySolver2023Nov24_194039.600689 copied 42 files. written file: control.obj copied 'win\amd64' runtime. deployment finished. Deployments so far (0): ; Success: 0 job submit count: 0
unable to determine job status - unknown
Deploying job ConfinedCylinder_ConvergenceStudy_p4_meshNo3_Wi0.2_half ... Deploying executables and additional files ... Deployment directory: \\fdygitrunner\ValidationTests\deploy\ConfinedCylinder_ConvergenceStudy-RheologySolver2023Nov24_194152.212812 copied 42 files. written file: control.obj copied 'win\amd64' runtime. deployment finished.
// wait for all jobs to finish (up to 5 days, check every 5 minutes)
BoSSSshell.WorkflowMgm.BlockUntilAllJobsTerminate(TimeOutSeconds:(3600*24*5), PollingIntervallSeconds:(60*5));
All jobs finished.
// detect failed Jobs in the job management
var suspects = BoSSSshell.WorkflowMgm.AllJobs.Select(kv => kv.Value)
.Where(job => job.LatestSession == null
|| job.LatestSession.Tags.Contains(SessionInfo.NOT_TERMINATED_TAG)
|| job.LatestSession.Tags.Contains(SessionInfo.SOLVER_ERROR)).ToArray();
suspects
NUnit.Framework.Assert.IsTrue(suspects.Count() <= 0, $"{suspects.Count()} Failed Jobs of {BoSSSshell.WorkflowMgm.AllJobs.Count()} in total.");
BoSSSshell.WorkflowMgm.AllJobs.First().Value.Stdout
Session ID: c4b2913d-2c30-44d2-b05a-6c1f2ed4ad7e, DB path: '\\fdygitrunner\ValidationTests\databases\ConfinedCylinder_ConvergenceStudy' Session directory '\\fdygitrunner\ValidationTests\databases\ConfinedCylinder_ConvergenceStudy\sessions\c4b2913d-2c30-44d2-b05a-6c1f2ed4ad7e'. Grid repartitioning method: METIS Grid repartitioning options: Number of cell Weights: 0 configuring Weissenberg number: 0e+00 setting Weissenberg Number to 0 Total number of cells: 320 Total number of DOFs: 5120 Instationary solve, timestep #1.0, dt = 1.7976931348623158E+304 ... #Line, #Time, #Iter L2Norm momX L2Norm momY L2Norm div L2Norm constitutiveXXL2Norm constitutiveXYL2Norm constitutiveYYL2Norm Total 1, 1, 1 1.760013E+001 6.422016E-004 4.332954E+000 3.619040E+000 1.597650E+000 0.000000E+000 1.855233E+001 2, 1, 2 3.173730E-001 1.040766E-001 1.288501E-014 1.052796E-014 1.204796E-014 3.446416E-015 3.340024E-001 3, 1, 3 1.405125E-004 1.001591E-004 2.704445E-015 1.135527E-014 1.267794E-014 4.117791E-015 1.725561E-004 4, 1, 4 3.801542E-011 1.907686E-011 2.417078E-015 9.543402E-015 1.272619E-014 3.931556E-015 4.253351E-011 5, 1, 5 4.366416E-014 4.924896E-014 2.302722E-015 9.977532E-015 1.216806E-014 3.695906E-015 6.781293E-014 6, 1, 6 4.273099E-014 4.615138E-014 2.508681E-015 9.498336E-015 1.161180E-014 3.437218E-015 6.480006E-014 7, 1, 7 3.892808E-014 4.233794E-014 2.142375E-015 9.521696E-015 1.108655E-014 3.516770E-015 5.948469E-014 Duration of this timestep: 00:00:14.6930691 Removing tag: NotTerminated
BoSSSshell.WorkflowMgm.AllJobs.First().Value.Stderr
Mismatch between operator linearization and evaluation: Operator matrix-Jacobian distance: 1.5493361132798489, relative: 3672597.7001511143 (comparison value 4.218638249476928E-07)