61 lines
2.6 KiB
C#
61 lines
2.6 KiB
C#
|
|
using System;
|
|||
|
|
using System.Collections.Generic;
|
|||
|
|
using System.Linq;
|
|||
|
|
using System.Text;
|
|||
|
|
using System.Threading.Tasks;
|
|||
|
|
using CaeModel;
|
|||
|
|
using CaeMesh;
|
|||
|
|
using CaeGlobals;
|
|||
|
|
|
|||
|
|
namespace FileInOut.Output.Calculix
|
|||
|
|
{
|
|||
|
|
[Serializable]
|
|||
|
|
internal class CalContactPair : CalculixKeyword
|
|||
|
|
{
|
|||
|
|
// Variables
|
|||
|
|
private ContactPair _contactPair;
|
|||
|
|
|
|||
|
|
|
|||
|
|
// Properties
|
|||
|
|
|
|||
|
|
|
|||
|
|
// Constructor
|
|||
|
|
public CalContactPair(ContactPair contactPair)
|
|||
|
|
{
|
|||
|
|
_contactPair = contactPair;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
// Methods
|
|||
|
|
public override string GetKeywordString()
|
|||
|
|
{
|
|||
|
|
//*CONTACT PAIR, INTERACTION=INTERACTION-1, TYPE=NODE TO SURFACE, SMALL SLIDING, ADJUST=0.001
|
|||
|
|
//slaveSurfaceName, masterSurfaceName
|
|||
|
|
StringBuilder sb = new StringBuilder();
|
|||
|
|
//
|
|||
|
|
sb.AppendFormat("*Contact pair, Interaction={0}, Type=", _contactPair.SurfaceInteractionName );
|
|||
|
|
if (_contactPair.Method == ContactPairMethod.NodeToSurface) sb.Append("Node to surface");
|
|||
|
|
else if (_contactPair.Method == ContactPairMethod.SurfaceToSurface) sb.Append("Surface to surface");
|
|||
|
|
else if (_contactPair.Method == ContactPairMethod.Mortar) sb.Append("Mortar");
|
|||
|
|
else if (_contactPair.Method == ContactPairMethod.Massless) sb.Append("Massless");
|
|||
|
|
else throw new CaeException("The contact type " + _contactPair.Method + " is not supported.");
|
|||
|
|
//
|
|||
|
|
if (_contactPair.Method == ContactPairMethod.NodeToSurface && _contactPair.SmallSliding) sb.Append(", Small sliding");
|
|||
|
|
//
|
|||
|
|
if (_contactPair.Adjust)
|
|||
|
|
{
|
|||
|
|
sb.AppendFormat(", Adjust=");
|
|||
|
|
if (double.IsNaN(_contactPair.AdjustmentSize)) sb.Append("0");
|
|||
|
|
else sb.AppendFormat("{0}", _contactPair.AdjustmentSize.ToCalculiX16String());
|
|||
|
|
}
|
|||
|
|
//
|
|||
|
|
sb.AppendLine();
|
|||
|
|
return sb.ToString();
|
|||
|
|
}
|
|||
|
|
public override string GetDataString()
|
|||
|
|
{
|
|||
|
|
return string.Format("{0}, {1}{2}", _contactPair.SlaveRegionName, _contactPair.MasterRegionName, Environment.NewLine);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|