Hello everyone!
I am getting the compliance matrix for a given set of points that are in the surface of my solid body. I apply a unit normal load (pointing towards the solid) to a point on that surface and then save the displacement on the points that I need... I perform a scanning type simulation for all the points which is at time very time consuming... A long long time ago I remembering reading on this forums that it was possible to obtain the compliance matrix for unit loads as long as these were normal to the surface...
Is it possible to do this and save only the bits and bobs of the compliance matrix that correspond to the points that I need? (This would make my life so much easier right now!)
Please find below an example of the kind of .sif files that I am using!
Best regards,
P. Marques
.sif file:
Header
CHECK KEYWORDS Warn
Mesh DB "C:\Share\DISTCARGA\LINEAR_TETRA_FEM_ELMER\gears_3D_good_or_bad_fixed_Latest\ELMERFEM\mesh"
Include Path ""
Results Directory ""
End
Simulation
Max Output Level = 3
Coordinate System = "Cartesian 3D"
Coordinate Mapping(3) = 1 2 3
Simulation Type = scanning
Steady State Max Iterations = 1
Timestep Intervals = 1189
Timestep Sizes = 1
Output Intervals = 1
Solver Input File = "case.sif"
!Output File = "case.dat"
!Post File = "case.ep"
End
Body 1
Target Bodies(1) = 1
Name = "Tooth"
Equation = 1
Material = 1
End
Material 1
Name = "Steel"
Youngs Modulus = 206.8e9
Poisson Ratio = 0.3
Density = 7800
End
Equation 1
Name = "Elasticity"
Active Solvers(1) = 1
Stress Analysis = Logical False
Plane Stress = Logical False
End
Solver 1
Exec Solver = String "Always"
!Linear elasticity Solver specific options
Equation = String "Linear elasticity"
Variable DOFs = Integer 3
Variable = String "Displacement"
Procedure = File "StressSolve" "StressSolver"
Eigen Analysis = Logical False
Displace Mesh = Logical True
Calculate Strains = Logical False
Calculate Stresses = Logical False
Calculate Principal = Logical False
Calculate Pangle = Logical False
Model Lumping = Logical False
Constant Bulk System = Logical True
Update Transient System = Logical False
! Solving the Linear Simultaneous
Linear System Solver = String "Iterative"
!Linear System Iterative Method = String "BiCGStab"
Linear System Iterative Method = String "BiCGStabl"
BiCGstabl polynomial degree = Integer 2
Linear System Preconditioning = String "ILU1"
Linear System Convergence Tolerance = Real 1.0e-8
Linear System Max Iterations = Integer 3000
Linear System Abort Not Converged = Logical False
Linear System Residual Output = Integer 1
Linear System Precondition Recompute = Integer 1
Optimize Bandwidth = Logical True
End
Solver 2
Procedure = "SaveData" "SaveScalars"
Exec solver = after timestep
FileName = "disp.dat"
Output Directory = "C:\Share\DISTCARGA\LINEAR_TETRA_FEM_ELMER\gears_3D_good_or_bad_fixed_Latest\ELMERFEM\mesh"
Save Coordinates(1189,3)=
-2.230978e-03 1.075297e-01 0
-2.174514e-03 1.077270e-01 0
-2.300120e-03 1.076914e-01 6.700634e-04
(other points...)
Exact Coordinates = False
Variable 1 = Time
Variable 2 = displacement 1
Variable 3 = displacement 2
Variable 4 = displacement 3
End
Boundary Condition 1
Name = "Fixed"
Target Boundaries(1) = 1
Displacement 1 = 0
Displacement 2 = 0
Displacement 3 = 0
End
Boundary Condition 2
Name = "Force Unit"
Target Coordinates(1,3) = Real
-2.230978e-03 1.075297e-01 0
Displacement 1 Load = Variable time
Real
1 -9.491153e-01
2 0
3 0
4 0
5 0
(other points...)
end
Displacement 2 Load = Variable time
Real
1 2.693581e-01
2 0
3 0
4 0
5 0
(other points...)
end
Displacement 3 Load = Variable time
Real
1 -1.631759e-01
2 0
3 0
4 0
5 0
(other points...)
end
Boundary Condition 3 (etc)
Name = "Force Unit"
Target Coordinates(1,3) = Real
-2.174514e-03 1.077270e-01 0
etc etc till all points are done
end
compliance matrix for a set of points normal to the surface
-
- Posts: 6
- Joined: 06 Jan 2014, 21:30
- Antispam: Yes