Commit 80a9070d authored by John Tourtellott's avatar John Tourtellott

Add python writer for ThermoElastic

* Had to split TEM3P materials and analyses attributes into separate
  thermal and elastic versions, since we can have both in the same simulation
* Also renamed "tem3p-structure" --> "tem3p-elastic"
* Added test case RfGunCoupler
parent 3e32d59e
...@@ -112,10 +112,11 @@ def ExportCMB(spec): ...@@ -112,10 +112,11 @@ def ExportCMB(spec):
't3p': 'T3P Analysis', 't3p': 'T3P Analysis',
'track3p': 'Track3P Analysis', 'track3p': 'Track3P Analysis',
'tem3p-eigen': 'TEM3P Eigenmode', 'tem3p-eigen': 'TEM3P Eigenmode',
'tem3p-structure': 'TEM3P Elastic', 'tem3p-elastic': 'TEM3P Elastic',
'tem3p-harmonic': 'TEM3P Harmonic Response', 'tem3p-harmonic': 'TEM3P Harmonic Response',
'tem3p-thermal-linear': 'TEM3P Thermal Linear', 'tem3p-thermal-linear': 'TEM3P Thermal Linear',
'tem3p-thermal-nonlinear': 'TEM3P Thermal Nonlinear' 'tem3p-thermal-nonlinear': 'TEM3P Thermal Nonlinear',
'tem3p-thermo-elastic': 'TEMP3P ThermoElastic'
} }
# Loop over all solvers and write corresponding files # Loop over all solvers and write corresponding files
...@@ -127,7 +128,7 @@ def ExportCMB(spec): ...@@ -127,7 +128,7 @@ def ExportCMB(spec):
# Get full analysis name # Get full analysis name
analysis = analysis_lookup.get(solver) analysis = analysis_lookup.get(solver)
if not analysis: if not analysis:
msg = 'The ACE3P analysis is not specified, solver %s' % solver msg = 'The ACE3P analysis is not specified, solver %s ' % solver
scope.logger.addError(msg) scope.logger.addError(msg)
raise Exception(msg) raise Exception(msg)
print 'Writing %s' % analysis print 'Writing %s' % analysis
...@@ -138,14 +139,7 @@ def ExportCMB(spec): ...@@ -138,14 +139,7 @@ def ExportCMB(spec):
print 'Using categories: %s' % scope.categories print 'Using categories: %s' % scope.categories
# Initialize output file # Initialize output file
extension_lookup = { file_ext = 'tem3p' if solver.startswith('tem3p') else solver
'tem3p-eigen': 'tem3p',
'tem3p-structure': 'tem3p',
'tem3p-harmonic': 'tem3p',
'tem3p-thermal-linear': 'tem3p',
'tem3p-thermal-nonlinear': 'tem3p'
}
file_ext = extension_lookup.get(solver, solver)
filename = '%s.%s' % (scope.output_file_prefix, file_ext) filename = '%s.%s' % (scope.output_file_prefix, file_ext)
output_path = os.path.join(scope.output_folder, filename) output_path = os.path.join(scope.output_folder, filename)
print 'Output file %s' % output_path print 'Output file %s' % output_path
......
...@@ -75,6 +75,13 @@ ...@@ -75,6 +75,13 @@
<Item>OutputFilePrefix</Item> <Item>OutputFilePrefix</Item>
</Items> </Items>
</Structure> </Structure>
<Structure>
<Value Enum="Track3P">track3p</Value>
<Items>
<Item>OutputFolder</Item>
<Item>OutputFilePrefix</Item>
</Items>
</Structure>
<Structure> <Structure>
<Value Enum="TEM3P Eigenmode">tem3p-eigen</Value> <Value Enum="TEM3P Eigenmode">tem3p-eigen</Value>
<Items> <Items>
...@@ -111,7 +118,7 @@ ...@@ -111,7 +118,7 @@
</Items> </Items>
</Structure> </Structure>
<Structure> <Structure>
<Value Enum="Track3P">track3p</Value> <Value Enum="TEM3P ThermoElastic">tem3p-thermo-elastic</Value>
<Items> <Items>
<Item>OutputFolder</Item> <Item>OutputFolder</Item>
<Item>OutputFilePrefix</Item> <Item>OutputFilePrefix</Item>
......
...@@ -116,16 +116,16 @@ ...@@ -116,16 +116,16 @@
<View Type="Group" Title="TEM3P Harmonic Response" TabPosition="North" TabIcons="false"> <View Type="Group" Title="TEM3P Harmonic Response" TabPosition="North" TabIcons="false">
<Views> <Views>
<View Title="TEM3P Mechanical BC" /> <View Title="TEM3P Mechanical BC" />
<View Title="TEM3P Material" /> <View Title="TEM3P Elastic Material" />
<View Title="TEM3P Analysis"/> <View Title="TEM3P Elastic Analysis"/>
</Views> </Views>
</View> </View>
<View Type="Group" Title="TEM3P Eigenmode" TabPosition="North" TabIcons="false"> <View Type="Group" Title="TEM3P Eigenmode" TabPosition="North" TabIcons="false">
<Views> <Views>
<View Title="TEM3P Mechanical BC" /> <View Title="TEM3P Mechanical BC" />
<View Title="TEM3P Material" /> <View Title="TEM3P Elastic Material" />
<View Title="TEM3P Analysis"/> <View Title="TEM3P Elastic Analysis"/>
<View Title="Mesh Output" /> <View Title="Mesh Output" />
</Views> </Views>
</View> </View>
...@@ -133,8 +133,8 @@ ...@@ -133,8 +133,8 @@
<View Type="Group" Title="TEM3P Elastic" TabPosition="North" TabIcons="false"> <View Type="Group" Title="TEM3P Elastic" TabPosition="North" TabIcons="false">
<Views> <Views>
<View Title="TEM3P Mechanical BC" /> <View Title="TEM3P Mechanical BC" />
<View Title="TEM3P Material" /> <View Title="TEM3P Elastic Material" />
<View Title="TEM3P Analysis"/> <View Title="TEM3P Elastic Analysis"/>
<View Title="Mesh Output" /> <View Title="Mesh Output" />
</Views> </Views>
</View> </View>
...@@ -142,8 +142,8 @@ ...@@ -142,8 +142,8 @@
<View Type="Group" Title="TEM3P Thermal Linear" TabPosition="North" TabIcons="false"> <View Type="Group" Title="TEM3P Thermal Linear" TabPosition="North" TabIcons="false">
<Views> <Views>
<View Title="TEM3P Thermal BC" /> <View Title="TEM3P Thermal BC" />
<View Title="TEM3P Material" /> <View Title="TEM3P Thermal Material" />
<View Title="TEM3P Analysis"/> <View Title="TEM3P Thermal Analysis"/>
<View Title="Thermal Shells" /> <View Title="Thermal Shells" />
<View Title="Heat Sources" /> <View Title="Heat Sources" />
</Views> </Views>
...@@ -152,8 +152,8 @@ ...@@ -152,8 +152,8 @@
<View Type="Group" Title="TEM3P Thermal Nonlinear" TabPosition="North" TabIcons="false"> <View Type="Group" Title="TEM3P Thermal Nonlinear" TabPosition="North" TabIcons="false">
<Views> <Views>
<View Title="TEM3P Thermal BC" /> <View Title="TEM3P Thermal BC" />
<View Title="TEM3P Material" /> <View Title="TEM3P Thermal Material" />
<View Title="TEM3P Analysis"/> <View Title="TEM3P Thermal Analysis"/>
<View Title="Thermal Shells" /> <View Title="Thermal Shells" />
<View Title="Heat Sources" /> <View Title="Heat Sources" />
</Views> </Views>
......
...@@ -126,7 +126,7 @@ SMTK_AttributeSystem(Version="2") ...@@ -126,7 +126,7 @@ SMTK_AttributeSystem(Version="2")
BriefDescription The coordinates of the end point of the path BriefDescription The coordinates of the end point of the path
Categories #[Cat TEM3P-Harmonic] #[Cat TEM3P-Static] #[Cat TEM3P-ThermoElastic] Categories #[Cat TEM3P-Harmonic] #[Cat TEM3P-Static] #[Cat TEM3P-ThermoElastic]
ComponentLabels #[Label x] #[Label y] #[Label z] ComponentLabels #[Label x] #[Label y] #[Label z]
DefaultValue 1,1,1 DefaultValue 0,0,1
// (LFDetuningMethod) // (LFDetuningMethod)
DiscreteInfo DiscreteInfo
...@@ -274,7 +274,7 @@ SMTK_AttributeSystem(Version="2") ...@@ -274,7 +274,7 @@ SMTK_AttributeSystem(Version="2")
Double(Name="EndPoint" Label="End Point" NumberOfRequiredValues="3" Units="m" Version="0") Double(Name="EndPoint" Label="End Point" NumberOfRequiredValues="3" Units="m" Version="0")
BriefDescription The coordinates of the end point for gradient integration BriefDescription The coordinates of the end point for gradient integration
Categories #[Cat TEM3P-Linear-Thermal] #[Cat TEM3P-Nonlinear-Thermal] #[Cat TEM3P-ThermoElastic] Categories #[Cat TEM3P-Linear-Thermal] #[Cat TEM3P-Nonlinear-Thermal] #[Cat TEM3P-ThermoElastic]
DefaultValue 1,1,1 DefaultValue 0,0,1
Double(Name="TargetPowerLoss" Label="Target Power Loss" Units="W" Version="0") Double(Name="TargetPowerLoss" Label="Target Power Loss" Units="W" Version="0")
BriefDescription Total power loss on metallic surface BriefDescription Total power loss on metallic surface
Categories #[Cat TEM3P-Linear-Thermal] #[Cat TEM3P-Nonlinear-Thermal] #[Cat TEM3P-ThermoElastic] Categories #[Cat TEM3P-Linear-Thermal] #[Cat TEM3P-Nonlinear-Thermal] #[Cat TEM3P-ThermoElastic]
......
...@@ -9,13 +9,13 @@ SMTK_AttributeSystem(Version="2") ...@@ -9,13 +9,13 @@ SMTK_AttributeSystem(Version="2")
Cat TEM3P-ThermoElastic Cat TEM3P-ThermoElastic
Definitions Definitions
// Volume material properties //- Thermal and Elastic materials are completely distinct, so they can be used
AttDef(Type="TEM3PMaterial" Label="Material" BaseType="" Abstract="true" Version="0") concurrently in ThermoElastic analyses
AttDef(Type="TEM3PElasticMaterial" Label="Material" BaseType="" Unique="true" Version="0")
AssociationsDef(Name="TEM3PMaterialAssociations" Version="0" AssociationsDef(Name="TEM3PMaterialAssociations" Version="0"
NumberOfRequiredValues="0" Extensible="true") NumberOfRequiredValues="0" Extensible="true")
MembershipMask volume MembershipMask volume
AttDef(Type="TEM3PElasticMaterial" Label="Material" BaseType="TEM3PMaterial" Unique="true" Version="0")
ItemDefinitions ItemDefinitions
String(Name="Material" Label="Material" Version="0") String(Name="Material" Label="Material" Version="0")
Categories #[Cat TEM3P-Eigen] #[Cat TEM3P-Harmonic] #[Cat TEM3P-Static] #[Cat TEM3P-ThermoElastic] Categories #[Cat TEM3P-Eigen] #[Cat TEM3P-Harmonic] #[Cat TEM3P-Static] #[Cat TEM3P-ThermoElastic]
...@@ -53,7 +53,10 @@ SMTK_AttributeSystem(Version="2") ...@@ -53,7 +53,10 @@ SMTK_AttributeSystem(Version="2")
Item ElasticAlpha Item ElasticAlpha
Item Density Item Density
AttDef(Type="TEM3PThermalMaterial" Label="Material" BaseType="TEM3PMaterial" Unique="true" Version="0") AttDef(Type="TEM3PThermalMaterial" Label="Material" BaseType="" Unique="true" Version="0")
AssociationsDef(Name="TEM3PMaterialAssociations" Version="0"
NumberOfRequiredValues="0" Extensible="true")
MembershipMask volume
ItemDefinitions ItemDefinitions
String(Name="NonlinearMaterial" Label="Material" Version="0") String(Name="NonlinearMaterial" Label="Material" Version="0")
Categories #[Cat TEM3P-Nonlinear-Thermal] #[Cat TEM3P-ThermoElastic] Categories #[Cat TEM3P-Nonlinear-Thermal] #[Cat TEM3P-ThermoElastic]
......
...@@ -38,7 +38,7 @@ SMTK_AttributeSystem(Version="2") ...@@ -38,7 +38,7 @@ SMTK_AttributeSystem(Version="2")
Items Items
Item LocalDirectory Item LocalDirectory
Double(Name="MeshDeformedScale" Label="Mesh Deformed Scale" Version="0") Double(Name="MeshDeformScale" Label="Mesh Deform Scale" Version="0")
BriefDescription Deformation scale factor BriefDescription Deformation scale factor
Categories #[Cat TEM3P-Eigen] #[Cat TEM3P-Static] #[Cat TEM3P-ThermoElastic] Categories #[Cat TEM3P-Eigen] #[Cat TEM3P-Static] #[Cat TEM3P-ThermoElastic]
DefaultValue 1.0 DefaultValue 1.0
......
...@@ -22,8 +22,10 @@ SMTK_AttributeSystem(Version="2") ...@@ -22,8 +22,10 @@ SMTK_AttributeSystem(Version="2")
// Views // Views
// View(Title="TEM3P Mechanical BC")/ // View(Title="TEM3P Mechanical BC")/
// View(Title="TEM3P Thermal BC")/ // View(Title="TEM3P Thermal BC")/
// View(Title="TEM3P Material")/ // View(Title="TEM3P Elastic Material")/
// View(Title="TEM3P Analysis")/ // View(Title="TEM3P Thermal Material")/
// View(Title="TEM3P Elastic Analysis")/
// View(Title="TEM3P Thermal Analysis")/
// View(Title="TEM3P Mesh Output")/ // View(Title="TEM3P Mesh Output")/
// View(Title="TEM3P Thermal Shells")/ // View(Title="TEM3P Thermal Shells")/
// View(Title="Heat Sources") // View(Title="Heat Sources")
...@@ -37,18 +39,31 @@ SMTK_AttributeSystem(Version="2") ...@@ -37,18 +39,31 @@ SMTK_AttributeSystem(Version="2")
AttributeTypes AttributeTypes
Att(Type="TEM3PThermalBC") Att(Type="TEM3PThermalBC")
View(Type="Attribute" Title="TEM3P Material" Label="Materials") View(Type="Attribute" Title="TEM3P Elastic Material" Label="Materials")
AttributeTypes AttributeTypes
Att(Type="TEM3PMaterial") Att(Type="TEM3PElasticMaterial")
View(Type="Instanced" Name="TEM3P Analysis" Label="Analysis") View(Type="Attribute" Title="TEM3P Thermal Material" Label="Materials")
AttributeTypes
Att(Type="TEM3PThermalMaterial")
// Need separate elastic and thermal analysis attributes (for ThermoElastic)
View(Type="Instanced" Name="TEM3P Elastic Analysis" Label="Analysis")
InstancedAttributes
Att(Name="ElasticOrderAtt" Type="Order")/
Att(Name="ElasticEigenSolverAtt" Type="EigenSolver")/
Att(Name="ElasticLinearSolverAtt" Type="TEM3PLinearSolver")/
Att(Name="ElasticHarmonicAnalysisAtt" Type="HarmonicAnalysis")/
Att(Name="ElasticNonlinearSolverAtt" Type="NonlinearSolver")/
Att(Name="ElasticPicardSolverAtt" Type="PicardSolver")/
View(Type="Instanced" Name="TEM3P Thermal Analysis" Label="Analysis")
InstancedAttributes InstancedAttributes
Att(Name="OrderAtt" Type="Order")/ Att(Name="ThermalOrderAtt" Type="Order")/
Att(Name="EigenSolverAtt" Type="EigenSolver")/ Att(Name="ThermalEigenSolverAtt" Type="EigenSolver")/
Att(Name="TEM3PLinearSolverAtt" Type="TEM3PLinearSolver")/ Att(Name="ThermalLinearSolverAtt" Type="TEM3PLinearSolver")/
Att(Name="HarmonicAnalysisAtt" Type="HarmonicAnalysis")/ Att(Name="ThermalHarmonicAnalysisAtt" Type="HarmonicAnalysis")/
Att(Name="NonlinearSolverAtt" Type="NonlinearSolver")/ Att(Name="ThermalNonlinearSolverAtt" Type="NonlinearSolver")/
Att(Name="PicardSolverAtt" Type="PicardSolver")/ Att(Name="ThermalPicardSolverAtt" Type="PicardSolver")/
View(Type="Instanced" Title="Mesh Output") View(Type="Instanced" Title="Mesh Output")
InstancedAttributes InstancedAttributes
......
...@@ -245,7 +245,7 @@ ...@@ -245,7 +245,7 @@
<Label>y</Label> <Label>y</Label>
<Label>z</Label> <Label>z</Label>
</ComponentLabels> </ComponentLabels>
<DefaultValue>1,1,1</DefaultValue> <DefaultValue>0,0,1</DefaultValue>
</Double> </Double>
</ChildrenDefinitions> </ChildrenDefinitions>
<!-- (LFDetuningMethod)--> <!-- (LFDetuningMethod)-->
...@@ -510,7 +510,7 @@ ...@@ -510,7 +510,7 @@
<Cat>TEM3P-Nonlinear-Thermal</Cat> <Cat>TEM3P-Nonlinear-Thermal</Cat>
<Cat>TEM3P-ThermoElastic</Cat> <Cat>TEM3P-ThermoElastic</Cat>
</Categories> </Categories>
<DefaultValue>1,1,1</DefaultValue> <DefaultValue>0,0,1</DefaultValue>
</Double> </Double>
<Double Name="TargetPowerLoss" Label="Target Power Loss" Units="W" Version="0"> <Double Name="TargetPowerLoss" Label="Target Power Loss" Units="W" Version="0">
<BriefDescription>Total power loss on metallic surface</BriefDescription> <BriefDescription>Total power loss on metallic surface</BriefDescription>
......
...@@ -9,13 +9,10 @@ ...@@ -9,13 +9,10 @@
<Cat>TEM3P-ThermoElastic</Cat> <Cat>TEM3P-ThermoElastic</Cat>
</Categories> </Categories>
<Definitions> <Definitions>
<!-- Volume material properties--> <AttDef Type="TEM3PElasticMaterial" Label="Material" BaseType="" Unique="true" Version="0">
<AttDef Type="TEM3PMaterial" Label="Material" BaseType="" Abstract="true" Version="0">
<AssociationsDef Name="TEM3PMaterialAssociations" Version="0" NumberOfRequiredValues="0" Extensible="true"> <AssociationsDef Name="TEM3PMaterialAssociations" Version="0" NumberOfRequiredValues="0" Extensible="true">
<MembershipMask>volume</MembershipMask> <MembershipMask>volume</MembershipMask>
</AssociationsDef> </AssociationsDef>
</AttDef>
<AttDef Type="TEM3PElasticMaterial" Label="Material" BaseType="TEM3PMaterial" Unique="true" Version="0">
<ItemDefinitions> <ItemDefinitions>
<String Name="Material" Label="Material" Version="0"> <String Name="Material" Label="Material" Version="0">
<Categories> <Categories>
...@@ -87,7 +84,10 @@ ...@@ -87,7 +84,10 @@
</String> </String>
</ItemDefinitions> </ItemDefinitions>
</AttDef> </AttDef>
<AttDef Type="TEM3PThermalMaterial" Label="Material" BaseType="TEM3PMaterial" Unique="true" Version="0"> <AttDef Type="TEM3PThermalMaterial" Label="Material" BaseType="" Unique="true" Version="0">
<AssociationsDef Name="TEM3PMaterialAssociations" Version="0" NumberOfRequiredValues="0" Extensible="true">
<MembershipMask>volume</MembershipMask>
</AssociationsDef>
<ItemDefinitions> <ItemDefinitions>
<String Name="NonlinearMaterial" Label="Material" Version="0"> <String Name="NonlinearMaterial" Label="Material" Version="0">
<Categories> <Categories>
......
...@@ -48,7 +48,7 @@ ...@@ -48,7 +48,7 @@
</String> </String>
</ItemDefinitions> </ItemDefinitions>
</Group> </Group>
<Double Name="MeshDeformedScale" Label="Mesh Deformed Scale" Version="0"> <Double Name="MeshDeformScale" Label="Mesh Deform Scale" Version="0">
<BriefDescription>Deformation scale factor</BriefDescription> <BriefDescription>Deformation scale factor</BriefDescription>
<Categories> <Categories>
<Cat>TEM3P-Eigen</Cat> <Cat>TEM3P-Eigen</Cat>
......
...@@ -16,8 +16,10 @@ ...@@ -16,8 +16,10 @@
<!-- Views--> <!-- Views-->
<!-- View(Title="TEM3P Mechanical BC")/--> <!-- View(Title="TEM3P Mechanical BC")/-->
<!-- View(Title="TEM3P Thermal BC")/--> <!-- View(Title="TEM3P Thermal BC")/-->
<!-- View(Title="TEM3P Material")/--> <!-- View(Title="TEM3P Elastic Material")/-->
<!-- View(Title="TEM3P Analysis")/--> <!-- View(Title="TEM3P Thermal Material")/-->
<!-- View(Title="TEM3P Elastic Analysis")/-->
<!-- View(Title="TEM3P Thermal Analysis")/-->
<!-- View(Title="TEM3P Mesh Output")/--> <!-- View(Title="TEM3P Mesh Output")/-->
<!-- View(Title="TEM3P Thermal Shells")/--> <!-- View(Title="TEM3P Thermal Shells")/-->
<!-- View(Title="Heat Sources")--> <!-- View(Title="Heat Sources")-->
...@@ -32,19 +34,35 @@ ...@@ -32,19 +34,35 @@
<Att Type="TEM3PThermalBC"></Att> <Att Type="TEM3PThermalBC"></Att>
</AttributeTypes> </AttributeTypes>
</View> </View>
<View Type="Attribute" Title="TEM3P Material" Label="Materials"> <View Type="Attribute" Title="TEM3P Elastic Material" Label="Materials">
<AttributeTypes> <AttributeTypes>
<Att Type="TEM3PMaterial"></Att> <Att Type="TEM3PElasticMaterial"></Att>
</AttributeTypes> </AttributeTypes>
</View> </View>
<View Type="Instanced" Name="TEM3P Analysis" Label="Analysis"> <View Type="Attribute" Title="TEM3P Thermal Material" Label="Materials">
<AttributeTypes>
<Att Type="TEM3PThermalMaterial"></Att>
</AttributeTypes>
</View>
<!-- Need separate elastic and thermal analysis attributes (for ThermoElastic)-->
<View Type="Instanced" Name="TEM3P Elastic Analysis" Label="Analysis">
<InstancedAttributes>
<Att Name="ElasticOrderAtt" Type="Order"/>
<Att Name="ElasticEigenSolverAtt" Type="EigenSolver"/>
<Att Name="ElasticLinearSolverAtt" Type="TEM3PLinearSolver"/>
<Att Name="ElasticHarmonicAnalysisAtt" Type="HarmonicAnalysis"/>
<Att Name="ElasticNonlinearSolverAtt" Type="NonlinearSolver"/>
<Att Name="ElasticPicardSolverAtt" Type="PicardSolver"/>
</InstancedAttributes>
</View>
<View Type="Instanced" Name="TEM3P Thermal Analysis" Label="Analysis">
<InstancedAttributes> <InstancedAttributes>
<Att Name="OrderAtt" Type="Order"/> <Att Name="ThermalOrderAtt" Type="Order"/>
<Att Name="EigenSolverAtt" Type="EigenSolver"/> <Att Name="ThermalEigenSolverAtt" Type="EigenSolver"/>
<Att Name="TEM3PLinearSolverAtt" Type="TEM3PLinearSolver"/> <Att Name="ThermalLinearSolverAtt" Type="TEM3PLinearSolver"/>
<Att Name="HarmonicAnalysisAtt" Type="HarmonicAnalysis"/> <Att Name="ThermalHarmonicAnalysisAtt" Type="HarmonicAnalysis"/>
<Att Name="NonlinearSolverAtt" Type="NonlinearSolver"/> <Att Name="ThermalNonlinearSolverAtt" Type="NonlinearSolver"/>
<Att Name="PicardSolverAtt" Type="PicardSolver"/> <Att Name="ThermalPicardSolverAtt" Type="PicardSolver"/>
</InstancedAttributes> </InstancedAttributes>
</View> </View>
<View Type="Instanced" Title="Mesh Output"> <View Type="Instanced" Title="Mesh Output">
......
This source diff could not be displayed because it is too large. You can view the blob instead.
# LCLS RF Gun Coupler Cell
TEM3P ThermoElastic example in CW16
Note that this outline does not include the prerequeist
Omega3P simulation.
## Model
Load RfGunBody.ncdf
SaveAs RfGunBody.smtk
## Template
Load ACE3P.crf
Select Module (show by category): TEM3P ThermoElastic
## Step 1: Thermal Solver Specification
Select "TEM3P Thermal Nonlinear" tab
### Boundary Conditions
surface 1 --> Heat Flux (Neumann) --> 0.0
surface 2 --> Heat Flux (Neumann) --> 0.0
surface 3 --> Heat Flux (Neumann) --> 0.0
surface 4 --> Heat Flux (Neumann) --> 0.0
surface 5 --> Robin
Robin Constant Factor --> 20000
Robin Constant Value ---> 440000
surface 6 --> RFHeating
NERSC Directory -----------> placeholder
Mode Number ---------------> 0
Method --------------------> Target Gradient Scaling
Electrical Conductivity --> 5.8e7
Target Gradient ----------> 60e6
Duty Factor --------------> 0.00036
Start Point --------------> 0.0001, 0.0001 -0.017018
End Point ----------------> 0.0001, 0.0001 0.017018
### Materials
Material ----------------> New, volume 1
Material --------------> Custom Constant...
Thermal Conductivity --> 391
### Analysis
Basis Order ---------> 2
Curved Surfaces -----> On
Linear Solver Type --> CG
Preconditioner ------> DIAGONAL
Absolute Tolerance --> 1e-18
Tolerance -----------> 1e-10
Max Iterations ------> 5000
## Step 2: Elastic (Thermostatic) Solver Specification
Select "TEM3P Elastic" tab
### Boundary Conditions
surface 1 --> Mixed --> Normal, Normal, Displacement --> 0,0,0
surface 2 --> Mixed --> Displacement, Normal, Normal --> 0,0,0
surface 3 --> Mixed --> Normal, Displacement, Normal --> 0,0,0
surface 4 --> Normal Loading (Neumann) --> 0.0
surface 5 --> Normal Loading (Neumann) --> 0.0
surface 6 --> LF Detunint
NERSC Directory ---> placeholder
Mode Number -------> 0
Omega3P Id --------> 6
Method ------------> Gradient
TargetGradient --> 60e6
Start Point -----> 0.0001, 0.0001 -0.017018
End Point -------> 0.0001, 0.0001 0.017018
### Materials
Material --> New, volume 1 --> Copper, 293K
### Analysis
Basis Order ---------> 2
Curved Surfaces -----> On
Linear Solver Type --> CG
Preconditioner ------> DIAGONAL
Absolute Tolerance --> 1e-16
Tolerance -----------> 1e-10
Max Iterations ------> 50000
### Mesh Output
Write Deformed Mesh --------------> off
Write Deformed EM Mesh -----------> on
NERSC Directory ------------------> placeholder
Mesh Deform Scale ----------------> 1
Write Stress/Strain Model Files --> on
## Save Simulation
thermo-elastic.crf
// Generated by CMB 28-Jun-2018 10:07
ThermoElasticProblem:
{
RunId: 3
}
ThermostaticProblem:
{
MeshFile: RfGunBody.ncdf
BasisOrder: 2
CurvedSurfaces: on
LinearSolver:
{
Solver: CG
Preconditioner: DIAGONAL
AbsoluteTolerance: 1e-18
Tolerance: 1e-10
MaxIterations: 5000
}
PicardSolver:
{
Solver: CG
Preconditioner: DIAGONAL
AbsoluteTolerance: 1e-18
Tolerance: 1e-10
MaxIterations: 100000
}
NonlinearSolver:
{
Solver: Newton
PicardIteration: 10
MaxIterations: 40
AbsTolerance: 1e-10
RelTolerance: 1e-08
}
ThermalConductivity:
{
Id: 1
Value: 391
}
Boundary:
{
Id: 1
ConditionType: Neumann
NeumannValue: 0
}
Boundary:
{
Id: 2
ConditionType: Neumann
NeumannValue: 0
}
Boundary:
{
Id: 3
ConditionType: Neumann
NeumannValue: 0
}
Boundary:
{
Id: 4
ConditionType: Neumann
NeumannValue: 0
}
Boundary:
{
Id: 6
ConditionType: RFHeating
WhichMode: 0
Method: Gradient
Sigma: 5.8e+07
TargetGradient: 6e+07
DutyFactor: 0.00036
StartPoint: 0.0001, 0.0001, -0.017018
EndPoint: 0.0001, 0.0001, 0.017018
SymmetryFactor: 1
Directory: placeholder
Boundary:
{
Id: 5
ConditionType: Robin
RobinConstantFactor: 20000
RobinConstantValue: 440000
}
}
ElasticProblem:
{
MeshFile: RfGunBody.ncdf
BasisOrder: 2
CurvedSurfaces: on
MeshDump:
{
WriteDeformedEMMesh: on
MeshDeformScale: 1
WriteStressStrain: on
EMMeshInputDir: placeholder
}
LinearSolver:
{
Solver: CG
Preconditioner: DIAGONAL
AbsoluteTolerance: 1e-16
Tolerance: 1e-10
MaxIterations: 50000
}
VolumeMaterial:
{
Id: 1
PoissonsRation: 0.34
YoungsModulus: 1.17E+11
Density: 8960
ElasticAlpha: 1.70E-05
}
Boundary:
{
Id: 6
ConditionType: LFDetuning
WhichMode: 0
Omega3PId: 6
Method: Gradient
TargetGradient: 6e+07
GradientDirection: 0, 0, 1
SymmetryFactor: 0
StartPoint: 0.0001, 0.0001, -0.017018
EndPoint: 0.0001, 0.0001, 0.017018
Directory: placeholder
}
Boundary:
{
Id: 1
ConditionType: Mixed
MixedType: NEUMANN NEUMANN DIRICHLET
MixedValue: 0, 0, 0
}
Boundary:
{
Id: 2
ConditionType: Mixed
MixedType: DIRICHLET NEUMANN NEUMANN
MixedValue: 0, 0, 0
}