I have tested the case, with minimal modifications. Here is the sif file for reference:raback wrote: I just put a new case on the svn: MortarPoisson2D. That might give you a clue of the possibilities.
Code: Select all
! Test case for 2D nonconforming mortar elements Header CHECK KEYWORDS Warn Mesh DB "." "pieces" Include Path "" Results Directory "" End Simulation Max Output Level = 4 Coordinate System = Cartesian Coordinate Mapping(3) = 1 2 3 Simulation Type = Steady State Steady State Max Iterations = 1 Output Intervals = 1 Output Intervals = 0 Post File = mortar.ep ! Output File = case.result Simulation Timing = Logical True End Constants Gravity(4) = 0 -1 0 9.82 Stefan Boltzmann = 5.67e-08 Permittivity of Vacuum = 8.8542e-12 Boltzmann Constant = 1.3807e-23 Unit Charge = 1.602e-19 End Body 1 Target Bodies(1) = 1 Name = "Body" Equation = 1 Material = 1 Body Force = 1 End Solver 1 Equation = Heat Equation Procedure = "HeatSolve" "HeatSolver" Variable = -dofs 1 Temperature Exec Solver = Always Stabilize = True Bubbles = False Lumped Mass Matrix = False Optimize Bandwidth = True Steady State Convergence Tolerance = 1.0e-5 Nonlinear System Convergence Tolerance = 1.0e-7 Nonlinear System Max Iterations = 100 Nonlinear System Newton After Iterations = 3 Nonlinear System Newton After Tolerance = 1.0e-3 Nonlinear System Relaxation Factor = 1.0 Linear System Solver = Iterative Linear System Iterative Method = BiCGStabl Linear System Max Iterations = 5000 Linear System Convergence Tolerance = 1.0e-8 Linear System Preconditioning = ILU0 Linear System ILUT Tolerance = 1.0e-3 Linear System Abort Not Converged = False Linear System Residual Output = 20 Linear System Precondition Recompute = 1 Optimize Bandwidth = False Apply Mortar BCs = Logical True Export Lagrange Multiplier = Logical True ! No Explicit Constrained Matrix = Logical True Linear System Timing = Logical True Solver Timing = Logical True Linear System Timing Cumulative = Logical True Solver Timing Cumulative = Logical True End Solver 2 ! Settings mainly for timing and verification Exec Solver = never Equation = SaveScalars Procedure = "SaveData" "SaveScalars" Filename = scalars.dat Variable 1 = Temperature Operator 1 = dofs Operator 2 = partitions Operator 3 = min Operator 4 = max Operator 5 = norm Operator 6 = cpu time Operator 7 = wall time ! File Append = Logical True ! Reduce just to one file when parallel Parallel Reduce = Logical True Default Parallel Operator = String max Parallel Operator 1 = String sum End Solver 3 Exec Solver = after simulation Equation = VtuOutput Procedure = "ResultOutputSolve" "ResultOutputSolver" Output File Name = case Vtu Format = Logical True Single Precision = Logical True End Equation 1 Name = "Heat" Active Solvers(1) = 1 End Material 1 Name = "Ideal" Heat Conductivity = 1 Heat Capacity = 1 Density = 1 End Body Force 1 Name = "Heating" Heat Source = 1.0 Mesh Translate 1 = -4.0 End Boundary Condition 1 Target Boundaries(5) = 1 4 5 9 10 Name = "Cold" Temperature = 0 End Boundary Condition 2 Target Boundaries(3) = 3 7 11 Name = "Adiabatic" End Boundary Condition 3 Target Boundaries(1) = 2 Name = "Mortar Left Master" Mortar BC = Integer 4 End Boundary Condition 4 Target Boundaries(1) = 8 Name = "Mortar Left Target" End Boundary Condition 5 Target Boundaries(1) = 6 Name = "Mortar Right Master" Mortar BC = Integer 6 End Boundary Condition 6 Target Boundaries(1) = 12 Name = "Mortar Right Target" End $fprintf( stderr, "TEST CASE 1\n")$ RUN $fprintf( stderr,"END TEST CASE 1: Target NRM=0.45853175\n");
I must say I do not fully understand what the case is supposed to do.
As far as I understand, we have a body with two duplicated internal boundaries which is supposed to be heated by a volumetric heat source. I don't understand what the "Mesh translate" in the Body Force is supposed to do.
In the temperature distribution, I see that only the segment in the middle gets heated. Is that the expected result?
Thank you for some additional explanations...