[cig-commits] r16491 - long/3D/SNAC/trunk/Snac/plugins/temperature
echoi at geodynamics.org
echoi at geodynamics.org
Fri Apr 2 09:52:07 PDT 2010
Author: echoi
Date: 2010-04-02 09:52:07 -0700 (Fri, 02 Apr 2010)
New Revision: 16491
Modified:
long/3D/SNAC/trunk/Snac/plugins/temperature/Heat.c
long/3D/SNAC/trunk/Snac/plugins/temperature/HeatFlux.c
long/3D/SNAC/trunk/Snac/plugins/temperature/Node.h
long/3D/SNAC/trunk/Snac/plugins/temperature/Register.c
long/3D/SNAC/trunk/Snac/plugins/temperature/Register.h
long/3D/SNAC/trunk/Snac/plugins/temperature/Remesh.c
long/3D/SNAC/trunk/Snac/plugins/temperature/VariableConditions.c
Log:
Replaced effectiveDensity() with UpdateAverageTemp_LoopElements(), which are used to update tetrahedron's average temperature.
Modified: long/3D/SNAC/trunk/Snac/plugins/temperature/Heat.c
===================================================================
--- long/3D/SNAC/trunk/Snac/plugins/temperature/Heat.c 2010-04-02 16:49:00 UTC (rev 16490)
+++ long/3D/SNAC/trunk/Snac/plugins/temperature/Heat.c 2010-04-02 16:52:07 UTC (rev 16491)
@@ -49,14 +49,15 @@
Node_LocalIndex node_lI;
Journal_Printf( context->debug, "In %s(): updating temperature of all nodes.\n", __func__ );
+ Journal_Printf( context->snacInfo, "In %s(): updating temperature of all nodes.\n", __func__ );
for( node_lI = 0; node_lI < context->mesh->nodeLocalCount; node_lI++ ) {
Snac_Heat( context, node_lI, 0 );
}
- /* update density using updated temperature */
- effectiveDensity( context );
- Journal_Printf( context->snacInfo, "In %s(): updating temperature of all nodes.\n", __func__ );
+ /* update tetra average temp to recompute density later in Snac_Stress(). */
+ UpdateAverageTemp_LoopElements( context );
+
SnacTemperature_BoundaryConditions( context );
}
@@ -135,6 +136,7 @@
nodeExt->temperature0 = nodeExt->temperature;
nodeExt->temperature += (energy + source) * -1.0f * context->dt / lumpVolume;
+
}
Modified: long/3D/SNAC/trunk/Snac/plugins/temperature/HeatFlux.c
===================================================================
--- long/3D/SNAC/trunk/Snac/plugins/temperature/HeatFlux.c 2010-04-02 16:49:00 UTC (rev 16490)
+++ long/3D/SNAC/trunk/Snac/plugins/temperature/HeatFlux.c 2010-04-02 16:52:07 UTC (rev 16491)
@@ -60,10 +60,6 @@
void Snac_HeatFlux( void* _context, Element_LocalIndex element_lI ) {
Snac_Context* context = (Snac_Context*)_context;
- SnacTemperature_Context* contextExt = ExtensionManager_Get(
- context->extensionMgr,
- context,
- SnacTemperature_ContextHandle );
Tetrahedra_Index tetra_I;
Snac_Element* element = Snac_Element_At( context, element_lI );
SnacTemperature_Element* elementExt = ExtensionManager_Get(
Modified: long/3D/SNAC/trunk/Snac/plugins/temperature/Node.h
===================================================================
--- long/3D/SNAC/trunk/Snac/plugins/temperature/Node.h 2010-04-02 16:49:00 UTC (rev 16490)
+++ long/3D/SNAC/trunk/Snac/plugins/temperature/Node.h 2010-04-02 16:52:07 UTC (rev 16491)
@@ -42,7 +42,7 @@
/* Node Information */
struct _SnacTemperature_Node {
- double temperature; \
+ double temperature;
double temperature0;
};
Modified: long/3D/SNAC/trunk/Snac/plugins/temperature/Register.c
===================================================================
--- long/3D/SNAC/trunk/Snac/plugins/temperature/Register.c 2010-04-02 16:49:00 UTC (rev 16490)
+++ long/3D/SNAC/trunk/Snac/plugins/temperature/Register.c 2010-04-02 16:52:07 UTC (rev 16491)
@@ -52,9 +52,9 @@
/* Textual name of this class */
const Type SnacTemperature_Type = "SnacTemperature";
-ExtensionInfo_Index SnacTemperature_ContextHandle = -1;
-ExtensionInfo_Index SnacTemperature_ElementHandle = -1;
-ExtensionInfo_Index SnacTemperature_NodeHandle = -1;
+ExtensionInfo_Index SnacTemperature_ContextHandle;
+ExtensionInfo_Index SnacTemperature_ElementHandle;
+ExtensionInfo_Index SnacTemperature_NodeHandle;
Index _SnacTemperature_Register( PluginsManager* pluginsMgr ) {
@@ -93,18 +93,9 @@
#endif
/* Add extensions to nodes, elements and the context */
- SnacTemperature_ContextHandle = ExtensionManager_Add(
- context->extensionMgr,
- SnacTemperature_Type,
- sizeof(SnacTemperature_Context) );
- SnacTemperature_ElementHandle = ExtensionManager_Add(
- context->mesh->elementExtensionMgr,
- SnacTemperature_Type,
- sizeof(SnacTemperature_Element) );
- SnacTemperature_NodeHandle = ExtensionManager_Add(
- context->mesh->nodeExtensionMgr,
- SnacTemperature_Type,
- sizeof(SnacTemperature_Node) );
+ SnacTemperature_NodeHandle = ExtensionManager_Add( context->mesh->nodeExtensionMgr, SnacTemperature_Type, sizeof(SnacTemperature_Node) );
+ SnacTemperature_ElementHandle = ExtensionManager_Add( context->mesh->elementExtensionMgr, SnacTemperature_Type, sizeof(SnacTemperature_Element) );
+ SnacTemperature_ContextHandle = ExtensionManager_Add( context->extensionMgr, SnacTemperature_Type, sizeof(SnacTemperature_Context) );
#ifdef DEBUG
printf( "\tcontext extension handle: %u\n", SnacTemperature_ContextHandle );
Modified: long/3D/SNAC/trunk/Snac/plugins/temperature/Register.h
===================================================================
--- long/3D/SNAC/trunk/Snac/plugins/temperature/Register.h 2010-04-02 16:49:00 UTC (rev 16490)
+++ long/3D/SNAC/trunk/Snac/plugins/temperature/Register.h 2010-04-02 16:52:07 UTC (rev 16491)
@@ -45,7 +45,11 @@
/* Handles to extensions for quicker access */
extern ExtensionInfo_Index SnacTemperature_ContextHandle;
+
extern ExtensionInfo_Index SnacTemperature_ElementHandle;
+
+ extern ExtensionInfo_Index SnacViscoPlastic_MeshHandle;
+
extern ExtensionInfo_Index SnacTemperature_NodeHandle;
Index _SnacTemperature_Register( PluginsManager* pluginsMgr );
Modified: long/3D/SNAC/trunk/Snac/plugins/temperature/Remesh.c
===================================================================
--- long/3D/SNAC/trunk/Snac/plugins/temperature/Remesh.c 2010-04-02 16:49:00 UTC (rev 16490)
+++ long/3D/SNAC/trunk/Snac/plugins/temperature/Remesh.c 2010-04-02 16:52:07 UTC (rev 16491)
@@ -55,8 +55,6 @@
SnacTemperature_Node* dstNodeExt = ExtensionManager_Get( mesh->nodeExtensionMgr,
dstNode,
SnacTemperature_NodeHandle );
- Snac_Node* srcNode;
- SnacTemperature_Node* srcNodeExt;
unsigned tetNode_i;
#ifdef DEBUG
@@ -88,14 +86,14 @@
dstNodeExt->temperature = 0;
for( tetNode_i = 0; tetNode_i < 4; tetNode_i++ ) {
- srcNode = Snac_Node_At( context, eltNodes[tetNodeInds[tetNode_i]] );
- srcNodeExt = ExtensionManager_Get( mesh->nodeExtensionMgr,
- srcNode,
- SnacTemperature_NodeHandle );
+ Snac_Node* srcNode = Snac_Node_At( context, eltNodes[tetNodeInds[tetNode_i]] );;
+ SnacTemperature_Node* srcNodeExt = ExtensionManager_Get( mesh->nodeExtensionMgr,
+ srcNode,
+ SnacTemperature_NodeHandle );
dstNodeExt->temperature += srcNodeExt->temperature * weights[tetNode_i];
}
/* fprintf(stderr,"%e (%e %e %e %e)\t",srcNodeExt->temperature, */
-/* weights[0],weights[1],weights[2],weights[3]); */
+/* weights[0],weights[1],weights[2],weights[3]); */
/* fprintf(stderr,"after T=%e \n",dstNodeExt->temperature); */
}
Modified: long/3D/SNAC/trunk/Snac/plugins/temperature/VariableConditions.c
===================================================================
--- long/3D/SNAC/trunk/Snac/plugins/temperature/VariableConditions.c 2010-04-02 16:49:00 UTC (rev 16490)
+++ long/3D/SNAC/trunk/Snac/plugins/temperature/VariableConditions.c 2010-04-02 16:52:07 UTC (rev 16491)
@@ -135,7 +135,7 @@
const double R = 6371000.0;
const double kappa = 1.0e-06;
double scalet = R*R/kappa/(1.0e+06*365.25*24.0*3600.0);
- double age = 5.01f, temp=0.0f;
+ double age = 2.01f, temp=0.0f;
double* temperature = (double*)result;
Dictionary* meshStruct= Dictionary_Entry_Value_AsDictionary(
@@ -165,7 +165,9 @@
age = 0.01f + 1.0f*abs(ijk[0]-midI)/5.0*5.01;
}
#endif
+#if 0
age = 0.5 - 0.2*ijk[2]/(decomp->nodeGlobal3DCounts[2]-1);
+#endif
temp = (rMax-r) * 0.5f / sqrt(age/scalet);
*temperature = rTemp * erf(temp);
@@ -248,7 +250,7 @@
memset( elementExt->heatFlux, 0, sizeof(elementExt->heatFlux) );
}
- effectiveDensity( context );
+ /* effectiveDensity( context ); */
}
@@ -272,7 +274,7 @@
Journal_Printf( context->debug, "In %s(): re-applying temp BCs\n", __func__ );
- VariableCondition_Apply( contextExt->temperatureBCs, context );
+ VariableCondition_Apply( contextExt->temperatureBCs, context );
}
void SnacTemperature_HeatFluxBC( void* _context ) {
More information about the CIG-COMMITS
mailing list