[cig-commits] commit: Making the SwarmAdvector check if the mesh is periodic and if it is then it creates a periodic boundaries manager
Mercurial
hg at geodynamics.org
Mon Nov 24 11:30:53 PST 2008
changeset: 84:53cc6c038671
user: RobertTurnbull
date: Fri Mar 28 06:41:03 2008 +0000
files: Apps/LidDrivenPIC/AnalyticShear.xml Apps/LidDrivenPIC/AnalyticShearXZ.xml Apps/LidDrivenPIC/AnalyticShearZ.xml Apps/LidDrivenPIC/velocityBCs.shear.xml Apps/LidDrivenPIC/velocityBCs.shearX.xml Apps/LidDrivenPIC/velocityBCs.shearXZ.xml Apps/LidDrivenPIC/velocityBCs.shearZ.xml Apps/PIC_Components/PeriodicBCsManager.I_AXIS.xml Apps/PIC_Components/PeriodicBCsManager.K_AXIS.xml MaterialPoints/src/PeriodicBoundariesManager.c MaterialPoints/src/SwarmAdvector.c
description:
Making the SwarmAdvector check if the mesh is periodic and if it is then it creates a periodic boundaries manager
Now you don't have to have create a periodic boundaries manager in your input file if you already specific the mesh as periodic.
diff -r 849032ee3278 -r 53cc6c038671 Apps/LidDrivenPIC/AnalyticShear.xml
--- a/Apps/LidDrivenPIC/AnalyticShear.xml Fri Mar 28 04:22:04 2008 +0000
+++ b/Apps/LidDrivenPIC/AnalyticShear.xml Fri Mar 28 06:41:03 2008 +0000
@@ -4,7 +4,7 @@
<StGermainData xmlns="http://www.vpac.org/StGermain/XML_IO_Handler/Jun2003">
<include>./LidDrivenPIC.xml</include>
- <include>./velocityBCs.shear.xml</include>
+ <include>./velocityBCs.shearX.xml</include>
<list name="plugins">
<param>StgFEM_LinearVelocityAnalytic</param>
</list>
diff -r 849032ee3278 -r 53cc6c038671 Apps/LidDrivenPIC/AnalyticShearXZ.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Apps/LidDrivenPIC/AnalyticShearXZ.xml Fri Mar 28 06:41:03 2008 +0000
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+<!DOCTYPE StGermainData SYSTEM "stgermain.dtd">
+
+<StGermainData xmlns="http://www.vpac.org/StGermain/XML_IO_Handler/Jun2003">
+
+ <include>./LidDrivenPIC.xml</include>
+ <include>./velocityBCs.shearXZ.xml</include>
+ <list name="plugins">
+ <param>StgFEM_LinearVelocityAnalytic</param>
+ </list>
+
+ <param name="VelocityField-Tolerance">1e-6</param>
+ <param name="dim">3</param>
+ <param name="elementResI">10</param>
+ <param name="elementResJ">10</param>
+ <param name="elementResK">10</param>
+
+</StGermainData>
diff -r 849032ee3278 -r 53cc6c038671 Apps/LidDrivenPIC/AnalyticShearZ.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Apps/LidDrivenPIC/AnalyticShearZ.xml Fri Mar 28 06:41:03 2008 +0000
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+<!DOCTYPE StGermainData SYSTEM "stgermain.dtd">
+
+<StGermainData xmlns="http://www.vpac.org/StGermain/XML_IO_Handler/Jun2003">
+
+ <include>./LidDrivenPIC.xml</include>
+ <include>./velocityBCs.shearZ.xml</include>
+ <list name="plugins">
+ <param>StgFEM_LinearVelocityAnalytic</param>
+ </list>
+
+ <param name="VelocityField-Tolerance">1e-6</param>
+ <param name="dim">3</param>
+ <param name="elementResI">10</param>
+ <param name="elementResJ">10</param>
+ <param name="elementResK">10</param>
+
+</StGermainData>
diff -r 849032ee3278 -r 53cc6c038671 Apps/LidDrivenPIC/velocityBCs.shear.xml
--- a/Apps/LidDrivenPIC/velocityBCs.shear.xml Fri Mar 28 04:22:04 2008 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,72 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE StGermainData SYSTEM "stgermain.dtd">
-<!-- A StGermain input file -->
-<!-- DTD to validate against -->
-<StGermainData xmlns="http://www.vpac.org/StGermain/XML_IO_Handler/Jun2003">
- <!-- Periodic boundary conditions -->
- <include>StgFEM/PeriodicX.xml</include>
- <include>PICellerator/PeriodicBCsManager.I_AXIS.xml</include>
-
- <!-- Velocity BCs -->
- <struct name="velocityBCs" mergeType="replace">
- <param name="type">CompositeVC</param>
- <list name="vcList">
- <struct>
- <param name="type"> WallVC </param>
- <param name="wall"> bottom </param>
- <list name="variables">
- <struct>
- <param name="name">vx</param>
- <param name="type">double</param>
- <param name="value"> 0.5 </param>
- </struct>
- <struct>
- <param name="name">vy</param>
- <param name="type">double</param>
- <param name="value"> 0 </param>
- </struct>
- </list>
- </struct>
- <struct>
- <param name="type"> WallVC </param>
- <param name="wall"> front </param>
- <list name="variables">
- <struct>
- <param name="name">vz</param>
- <param name="type">double</param>
- <param name="value"> 0 </param>
- </struct>
- </list>
- </struct>
- <struct>
- <param name="type"> WallVC </param>
- <param name="wall"> back </param>
- <list name="variables">
- <struct>
- <param name="name">vz</param>
- <param name="type">double</param>
- <param name="value"> 0 </param>
- </struct>
- </list>
- </struct>
- <struct>
- <param name="type"> WallVC </param>
- <param name="wall"> top </param>
- <list name="variables">
- <struct>
- <param name="name">vx</param>
- <param name="type">double</param>
- <param name="value"> -0.5 </param>
- </struct>
- <struct>
- <param name="name">vy</param>
- <param name="type">double</param>
- <param name="value"> 0 </param>
- </struct>
- </list>
- </struct>
- </list>
- </struct>
-
-
-</StGermainData>
diff -r 849032ee3278 -r 53cc6c038671 Apps/LidDrivenPIC/velocityBCs.shearX.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Apps/LidDrivenPIC/velocityBCs.shearX.xml Fri Mar 28 06:41:03 2008 +0000
@@ -0,0 +1,71 @@
+<?xml version="1.0"?>
+<!DOCTYPE StGermainData SYSTEM "stgermain.dtd">
+<!-- A StGermain input file -->
+<!-- DTD to validate against -->
+<StGermainData xmlns="http://www.vpac.org/StGermain/XML_IO_Handler/Jun2003">
+ <!-- Periodic boundary conditions -->
+ <include>StgFEM/PeriodicX.xml</include>
+
+ <!-- Velocity BCs -->
+ <struct name="velocityBCs" mergeType="replace">
+ <param name="type">CompositeVC</param>
+ <list name="vcList">
+ <struct>
+ <param name="type"> WallVC </param>
+ <param name="wall"> bottom </param>
+ <list name="variables">
+ <struct>
+ <param name="name">vx</param>
+ <param name="type">double</param>
+ <param name="value"> 0.5 </param>
+ </struct>
+ <struct>
+ <param name="name">vy</param>
+ <param name="type">double</param>
+ <param name="value"> 0 </param>
+ </struct>
+ </list>
+ </struct>
+ <struct>
+ <param name="type"> WallVC </param>
+ <param name="wall"> front </param>
+ <list name="variables">
+ <struct>
+ <param name="name">vz</param>
+ <param name="type">double</param>
+ <param name="value"> 0 </param>
+ </struct>
+ </list>
+ </struct>
+ <struct>
+ <param name="type"> WallVC </param>
+ <param name="wall"> back </param>
+ <list name="variables">
+ <struct>
+ <param name="name">vz</param>
+ <param name="type">double</param>
+ <param name="value"> 0 </param>
+ </struct>
+ </list>
+ </struct>
+ <struct>
+ <param name="type"> WallVC </param>
+ <param name="wall"> top </param>
+ <list name="variables">
+ <struct>
+ <param name="name">vx</param>
+ <param name="type">double</param>
+ <param name="value"> -0.5 </param>
+ </struct>
+ <struct>
+ <param name="name">vy</param>
+ <param name="type">double</param>
+ <param name="value"> 0 </param>
+ </struct>
+ </list>
+ </struct>
+ </list>
+ </struct>
+
+
+</StGermainData>
diff -r 849032ee3278 -r 53cc6c038671 Apps/LidDrivenPIC/velocityBCs.shearXZ.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Apps/LidDrivenPIC/velocityBCs.shearXZ.xml Fri Mar 28 06:41:03 2008 +0000
@@ -0,0 +1,61 @@
+<?xml version="1.0"?>
+<!DOCTYPE StGermainData SYSTEM "stgermain.dtd">
+<!-- A StGermain input file -->
+<!-- DTD to validate against -->
+<StGermainData xmlns="http://www.vpac.org/StGermain/XML_IO_Handler/Jun2003">
+ <!-- Periodic boundary conditions -->
+ <include>StgFEM/PeriodicX.xml</include>
+ <include>StgFEM/PeriodicZ.xml</include>
+
+ <!-- Velocity BCs -->
+ <struct name="velocityBCs" mergeType="replace">
+ <param name="type">CompositeVC</param>
+ <list name="vcList">
+ <struct>
+ <param name="type"> WallVC </param>
+ <param name="wall"> bottom </param>
+ <list name="variables">
+ <struct>
+ <param name="name">vx</param>
+ <param name="type">double</param>
+ <param name="value"> -1.0 </param>
+ </struct>
+ <struct>
+ <param name="name">vz</param>
+ <param name="type">double</param>
+ <param name="value"> 0.5 </param>
+ </struct>
+ <struct>
+ <param name="name">vy</param>
+ <param name="type">double</param>
+ <param name="value"> 0 </param>
+ </struct>
+ </list>
+ </struct>
+
+ <struct>
+ <param name="type"> WallVC </param>
+ <param name="wall"> top </param>
+ <list name="variables">
+ <struct>
+ <param name="name">vx</param>
+ <param name="type">double</param>
+ <param name="value"> 1.0 </param>
+ </struct>
+ <struct>
+ <param name="name">vz</param>
+ <param name="type">double</param>
+ <param name="value"> -0.5 </param>
+ </struct>
+ <struct>
+ <param name="name">vy</param>
+ <param name="type">double</param>
+ <param name="value"> 0 </param>
+ </struct>
+ </list>
+ </struct>
+ </list>
+ </struct>
+
+
+</StGermainData>
diff -r 849032ee3278 -r 53cc6c038671 Apps/LidDrivenPIC/velocityBCs.shearZ.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Apps/LidDrivenPIC/velocityBCs.shearZ.xml Fri Mar 28 06:41:03 2008 +0000
@@ -0,0 +1,72 @@
+<?xml version="1.0"?>
+<!DOCTYPE StGermainData SYSTEM "stgermain.dtd">
+<!-- A StGermain input file -->
+<!-- DTD to validate against -->
+<StGermainData xmlns="http://www.vpac.org/StGermain/XML_IO_Handler/Jun2003">
+ <!-- Periodic boundary conditions -->
+ <include>StgFEM/PeriodicZ.xml</include>
+
+ <!-- Velocity BCs -->
+ <struct name="velocityBCs" mergeType="replace">
+ <param name="type">CompositeVC</param>
+ <list name="vcList">
+ <struct>
+ <param name="type"> WallVC </param>
+ <param name="wall"> bottom </param>
+ <list name="variables">
+ <struct>
+ <param name="name">vz</param>
+ <param name="type">double</param>
+ <param name="value"> 0.5 </param>
+ </struct>
+ <struct>
+ <param name="name">vy</param>
+ <param name="type">double</param>
+ <param name="value"> 0 </param>
+ </struct>
+ </list>
+ </struct>
+ <struct>
+ <param name="type"> WallVC </param>
+ <param name="wall"> left </param>
+ <list name="variables">
+ <struct>
+ <param name="name">vx</param>
+ <param name="type">double</param>
+ <param name="value"> 0 </param>
+ </struct>
+ </list>
+ </struct>
+
+ <struct>
+ <param name="type"> WallVC </param>
+ <param name="wall"> right </param>
+ <list name="variables">
+ <struct>
+ <param name="name">vx</param>
+ <param name="type">double</param>
+ <param name="value"> 0 </param>
+ </struct>
+ </list>
+ </struct>
+ <struct>
+ <param name="type"> WallVC </param>
+ <param name="wall"> top </param>
+ <list name="variables">
+ <struct>
+ <param name="name">vz</param>
+ <param name="type">double</param>
+ <param name="value"> -0.5 </param>
+ </struct>
+ <struct>
+ <param name="name">vy</param>
+ <param name="type">double</param>
+ <param name="value"> 0 </param>
+ </struct>
+ </list>
+ </struct>
+ </list>
+ </struct>
+
+
+</StGermainData>
diff -r 849032ee3278 -r 53cc6c038671 Apps/PIC_Components/PeriodicBCsManager.I_AXIS.xml
--- a/Apps/PIC_Components/PeriodicBCsManager.I_AXIS.xml Fri Mar 28 04:22:04 2008 +0000
+++ b/Apps/PIC_Components/PeriodicBCsManager.I_AXIS.xml Fri Mar 28 06:41:03 2008 +0000
@@ -6,13 +6,13 @@
<!-- Periodic boundary conditions manager for particles -->
<struct name="components" mergeType="merge">
- <struct name="periodicBCsManager">
+ <struct name="periodicBCsManager" mergeType="merge">
<param name="Type">PeriodicBoundariesManager</param>
<param name="Geometry">geometry</param>
<param name="Swarm">materialSwarm</param>
<param name="mesh">linearMesh</param>
<param name="TimeIntegrator">timeIntegrator</param>
- <list name="PeriodicBoundaries">
+ <list name="PeriodicBoundaries" mergeType="merge">
<param>I_AXIS</param>
</list>
</struct>
diff -r 849032ee3278 -r 53cc6c038671 Apps/PIC_Components/PeriodicBCsManager.K_AXIS.xml
--- a/Apps/PIC_Components/PeriodicBCsManager.K_AXIS.xml Fri Mar 28 04:22:04 2008 +0000
+++ b/Apps/PIC_Components/PeriodicBCsManager.K_AXIS.xml Fri Mar 28 06:41:03 2008 +0000
@@ -6,12 +6,13 @@
<!-- Periodic boundary conditions manager for particles -->
<struct name="components" mergeType="merge">
- <struct name="periodicBCsManager">
+ <struct name="periodicBCsManager" mergeType="merge">
<param name="Type">PeriodicBoundariesManager</param>
<param name="Geometry">geometry</param>
- <param name="Swarm">picIntegrationPoints</param>
+ <param name="Swarm">materialSwarm</param>
+ <param name="mesh">linearMesh</param>
<param name="TimeIntegrator">timeIntegrator</param>
- <list name="PeriodicBoundaries">
+ <list name="PeriodicBoundaries" mergeType="merge">
<param>K_AXIS</param>
</list>
</struct>
diff -r 849032ee3278 -r 53cc6c038671 MaterialPoints/src/PeriodicBoundariesManager.c
--- a/MaterialPoints/src/PeriodicBoundariesManager.c Fri Mar 28 04:22:04 2008 +0000
+++ b/MaterialPoints/src/PeriodicBoundariesManager.c Fri Mar 28 06:41:03 2008 +0000
@@ -38,7 +38,7 @@
** License along with this library; if not, write to the Free Software
** Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
**
-** $Id: PeriodicBoundariesManager.c 518 2007-10-11 08:07:50Z SteveQuenette $
+** $Id: PeriodicBoundariesManager.c 556 2008-03-28 06:41:03Z RobertTurnbull $
**
**~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
@@ -275,32 +275,47 @@ void _PeriodicBoundariesManager_Build( v
self->size = 4;
self->boundaries = Memory_Alloc_Array( PeriodicBoundary, self->size, "PeriodicBoundariesManager->boundaries" );
- periodicBCsList = Dictionary_Get( self->dictionary, "PeriodicBoundaries" );
-
- /* Dictionary entry is optional - users may prefer to enter in code */
- if ( periodicBCsList ) {
- Index numPeriodicBCs = 0;
- Index periodicBC_I = 0;
- Dictionary_Entry_Value* periodicBC = NULL;
- char* perBCAxis = NULL;
+ if ( self->dictionary ) {
+ periodicBCsList = Dictionary_Get( self->dictionary, "PeriodicBoundaries" );
- numPeriodicBCs = Dictionary_Entry_Value_GetCount( periodicBCsList );
-
- for ( periodicBC_I = 0; periodicBC_I < numPeriodicBCs; periodicBC_I++ ) {
- periodicBC = Dictionary_Entry_Value_GetElement( periodicBCsList, periodicBC_I );
- perBCAxis = Dictionary_Entry_Value_AsString( periodicBC );
-
- if ( 0 == strcmp( perBCAxis, "I_AXIS" ) ) {
- PeriodicBoundariesManager_AddPeriodicBoundary( self, I_AXIS );
- }
- else if ( 0 == strcmp( perBCAxis, "J_AXIS" ) ) {
- PeriodicBoundariesManager_AddPeriodicBoundary( self, J_AXIS );
- }
- else if ( 0 == strcmp( perBCAxis, "K_AXIS" ) ) {
- PeriodicBoundariesManager_AddPeriodicBoundary( self, K_AXIS );
+ /* Dictionary entry is optional - users may prefer to enter in code */
+ if ( periodicBCsList ) {
+ Index numPeriodicBCs = 0;
+ Index periodicBC_I = 0;
+ Dictionary_Entry_Value* periodicBC = NULL;
+ char* perBCAxis = NULL;
+
+ numPeriodicBCs = Dictionary_Entry_Value_GetCount( periodicBCsList );
+
+ for ( periodicBC_I = 0; periodicBC_I < numPeriodicBCs; periodicBC_I++ ) {
+ periodicBC = Dictionary_Entry_Value_GetElement( periodicBCsList, periodicBC_I );
+ perBCAxis = Dictionary_Entry_Value_AsString( periodicBC );
+
+ if ( 0 == strcmp( perBCAxis, "I_AXIS" ) ) {
+ PeriodicBoundariesManager_AddPeriodicBoundary( self, I_AXIS );
+ }
+ else if ( 0 == strcmp( perBCAxis, "J_AXIS" ) ) {
+ PeriodicBoundariesManager_AddPeriodicBoundary( self, J_AXIS );
+ }
+ else if ( 0 == strcmp( perBCAxis, "K_AXIS" ) ) {
+ PeriodicBoundariesManager_AddPeriodicBoundary( self, K_AXIS );
+ }
}
}
}
+ /* Test if mesh is periodic */
+ else if ( Stg_Class_IsInstance( self->mesh->generator, CartesianGenerator_Type ) ) {
+ CartesianGenerator* cartesianGenerator = (CartesianGenerator*) self->mesh->generator;
+ Dimension_Index dim_I;
+
+ for ( dim_I = 0 ; dim_I < self->swarm->dim ; dim_I++ ) {
+ /* Add boundaries straight from mesh generator */
+ if ( cartesianGenerator->periodic[ dim_I ] )
+ PeriodicBoundariesManager_AddPeriodicBoundary( self, dim_I );
+ }
+ }
+
+
}
@@ -350,7 +365,7 @@ void PeriodicBoundariesManager_UpdatePar
particle = (GlobalParticle*)Swarm_ParticleAt( self->swarm, lParticle_I );
- Journal_DPrintfL( self->debug, 2, "Checking particle %d at (%.2f,%.2f,%2f)\n", lParticle_I,
+ Journal_DPrintfL( self->debug, 2, "Checking particle %d at (%.4g,%.4g,%.4g)\n", lParticle_I,
particle->coord[0], particle->coord[1], particle->coord[2] );
for ( perBoundary_I = 0; perBoundary_I < self->count; perBoundary_I++ ) {
@@ -363,20 +378,20 @@ void PeriodicBoundariesManager_UpdatePar
Stream_Indent( self->debug );
if ( particle->coord[boundaryAxis] < perBoundary->minWall ) {
- Journal_DPrintfL( self->debug, 3, "coord is < min wall %.2f:\n", perBoundary->minWall );
+ Journal_DPrintfL( self->debug, 3, "coord is < min wall %.4f:\n", perBoundary->minWall );
difference = perBoundary->minWall - particle->coord[boundaryAxis];
particle->coord[boundaryAxis] = perBoundary->maxWall - difference;
perBoundary->particlesUpdatedMinEndCount++;
- Journal_DPrintfL( self->debug, 3, "moving to (%.2f,%.2f,%.2f).\n",
+ Journal_DPrintfL( self->debug, 3, "moving to (%.4f,%.4f,%.4f).\n",
particle->coord[I_AXIS], particle->coord[J_AXIS],
particle->coord[K_AXIS] );
}
else if ( particle->coord[perBoundary->axis] > perBoundary->maxWall ) {
- Journal_DPrintfL( self->debug, 3, "coord is > max wall %.2f:\n", perBoundary->maxWall );
+ Journal_DPrintfL( self->debug, 3, "coord is > max wall %.4f:\n", perBoundary->maxWall );
difference = particle->coord[boundaryAxis] - perBoundary->maxWall;
particle->coord[boundaryAxis] = perBoundary->minWall + difference;
perBoundary->particlesUpdatedMaxEndCount++;
- Journal_DPrintfL( self->debug, 3, "moving to (%.2f,%.2f,%.2f).\n",
+ Journal_DPrintfL( self->debug, 3, "moving to (%.4f,%.4f,%.4f).\n",
particle->coord[I_AXIS], particle->coord[J_AXIS],
particle->coord[K_AXIS] );
}
diff -r 849032ee3278 -r 53cc6c038671 MaterialPoints/src/SwarmAdvector.c
--- a/MaterialPoints/src/SwarmAdvector.c Fri Mar 28 04:22:04 2008 +0000
+++ b/MaterialPoints/src/SwarmAdvector.c Fri Mar 28 06:41:03 2008 +0000
@@ -38,7 +38,7 @@
** License along with this library; if not, write to the Free Software
** Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
**
-** $Id: SwarmAdvector.c 518 2007-10-11 08:07:50Z SteveQuenette $
+** $Id: SwarmAdvector.c 556 2008-03-28 06:41:03Z RobertTurnbull $
**
**~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
@@ -150,7 +150,18 @@ void _SwarmAdvector_Init(
self->swarm = swarm;
self->swarm->swarmAdvector = self; /* Attach ourselves to the swarm */
self->variable = swarm->particleCoordVariable->variable;
+
+ /* Test if mesh is periodic and a periodic boundaries manager hasn't been given */
+ if ( !periodicBCsManager && Stg_Class_IsInstance( swarm->mesh->generator, CartesianGenerator_Type ) ) {
+ CartesianGenerator* cartesianGenerator = (CartesianGenerator*) swarm->mesh->generator;
+ if ( cartesianGenerator->periodic[ I_AXIS ] || cartesianGenerator->periodic[ I_AXIS ] || cartesianGenerator->periodic[ I_AXIS ] ) {
+ /* Create a periodicBCsManager if there isn't one already */
+ periodicBCsManager = PeriodicBoundariesManager_New( "periodicBCsManager", (Mesh*)swarm->mesh, (Swarm*)swarm, NULL );
+ }
+ }
self->periodicBCsManager = periodicBCsManager;
+
+
TimeIntegrator_AppendSetupEP( self->timeIntegrator,
"SwarmAdvector_AdvectionSetup", SwarmAdvector_AdvectionSetup, self->name, self );
@@ -238,11 +249,17 @@ void _SwarmAdvector_Build( void* swarmAd
SwarmAdvector* self = (SwarmAdvector*) swarmAdvector;
_TimeIntegratee_Build( self, data );
+
+ if ( self->periodicBCsManager )
+ Stg_Component_Build( self->periodicBCsManager, data, False );
}
void _SwarmAdvector_Initialise( void* swarmAdvector, void* data ) {
SwarmAdvector* self = (SwarmAdvector*) swarmAdvector;
_TimeIntegratee_Initialise( self, data );
+
+ if ( self->periodicBCsManager )
+ Stg_Component_Initialise( self->periodicBCsManager, data, False );
}
void _SwarmAdvector_Execute( void* swarmAdvector, void* data ) {
SwarmAdvector* self = (SwarmAdvector*)swarmAdvector;
More information about the CIG-COMMITS
mailing list