コード例 #1
0
ファイル: Init.c プロジェクト: underworldcode/underworld1
Bool Geothermal_Base_Init( int* argc, char** argv[] ) {
    VariableCondition_Register_Add( variableCondition_Register, DiscreetPointsVC_Type, DiscreetPointsVC_Factory );

    Stg_ComponentRegister_Add( Stg_ComponentRegister_Get_ComponentRegister(), ThermalDataShape_Type, (Name)"0", (Stg_Component_DefaultConstructorFunction*)_ThermalDataShape_DefaultNew);
    Stg_ComponentRegister_Add(
	Stg_ComponentRegister_Get_ComponentRegister( ),
	ThermalDataMaterial_Type, "0",
	(Stg_Component_DefaultConstructorFunction*)_ThermalDataMaterial_DefaultNew);
    Stg_ComponentRegister_Add( Stg_ComponentRegister_Get_ComponentRegister(), ConductivityMaterialManager_Type, (Name)"0", (Stg_Component_DefaultConstructorFunction*)_ConductivityMaterialManager_DefaultNew);
    Stg_ComponentRegister_Add(
	Stg_ComponentRegister_Get_ComponentRegister( ),
	IrregularQuadGenerator_Type, "0",
	(Stg_Component_DefaultConstructorFunction*) IrregularQuadGenerator_New);
    Stg_ComponentRegister_Add(
	Stg_ComponentRegister_Get_ComponentRegister( ),
	IrregularTriGenerator_Type, "0",
	(Stg_Component_DefaultConstructorFunction*) IrregularTriGenerator_New);
    Stg_ComponentRegister_Add(
	Stg_ComponentRegister_Get_ComponentRegister( ),
	Mesh_SimplexAlgorithms_Type, "0",
	(Stg_Component_DefaultConstructorFunction*) Mesh_SimplexAlgorithms_New);
    Stg_ComponentRegister_Add( Stg_ComponentRegister_Get_ComponentRegister(), FieldVariableSurfaceAdaptor_Type, (Name)"0", (Stg_Component_DefaultConstructorFunction*) FieldVariableSurfaceAdaptor_New);
    Stg_ComponentRegister_Add( Stg_ComponentRegister_Get_ComponentRegister(), FieldVariableSurfaceAdaptorSimple_Type, (Name)"0", (Stg_Component_DefaultConstructorFunction*) FieldVariableSurfaceAdaptorSimple_New);    
    Stg_ComponentRegister_Add( Stg_ComponentRegister_Get_ComponentRegister(), IrregularMeshGaussLayout_Type, (Name)"0", (Stg_Component_DefaultConstructorFunction*) _IrregularMeshGaussLayout_DefaultNew);
    Stg_ComponentRegister_Add(
	Stg_ComponentRegister_Get_ComponentRegister( ),
	DiscreetPointsVC_Type, "0",
	(Stg_Component_DefaultConstructorFunction*) _DiscreetPointsVC_DefaultNew);

   Stg_ComponentRegister_Add( Stg_ComponentRegister_Get_ComponentRegister( ),	FeVariable_IrregTri_Type, "0", (Stg_Component_DefaultConstructorFunction*) _FeVariable_IrregTri_DefaultNew);
   RegisterParent( FeVariable_IrregTri_Type, FeVariable_Type);

    RegisterParent( ThermalDataShape_Type, 		Stg_Shape_Type 			);
    RegisterParent( ThermalDataMaterial_Type,		Stg_Component_Type 		);
    RegisterParent( ConductivityMaterialManager_Type,	Stg_Component_Type 		);
    RegisterParent( IrregularQuadGenerator_Type,	MeshGenerator_Type 		);
    RegisterParent( IrregularTriGenerator_Type,		MeshGenerator_Type 		);
    RegisterParent( Mesh_SimplexType_Type,		Mesh_ElementType_Type 		);
    RegisterParent( Mesh_SimplexAlgorithms_Type,	Mesh_Algorithms_Type 		);
    RegisterParent( FieldVariableSurfaceAdaptor_Type,	MeshAdaptor_Type		);
    RegisterParent( FieldVariableSurfaceAdaptorSimple_Type,	MeshAdaptor_Type		);
    RegisterParent( DiscreetPointsVC_Type, 		VariableCondition_Type 		);
    RegisterParent( IrregularMeshGaussLayout_Type,	GaussParticleLayout_Type	);
    /*RegisterParent( MaterialLayer_Type,			Stg_Component_Type		);*/

    Stg_ComponentRegister_Add( Stg_ComponentRegister_Get_ComponentRegister(), ConstantField_Type, (Name)"0", _ConstantField_DefaultNew  );
    RegisterParent( ConstantField_Type, FeVariable_Type );
	 Stg_ComponentRegister_Add( Stg_ComponentRegister_Get_ComponentRegister(), ShapedMaterial_Type, (Name)"0", _ShapedMaterial_DefaultNew  );
    RegisterParent(ShapedMaterial_Type, Material_Type);
	 Stg_ComponentRegister_Add( Stg_ComponentRegister_Get_ComponentRegister(), MaterialRegisterShape_Type, (Name)"0", _MaterialRegisterShape_DefaultNew  );
    RegisterParent(MaterialRegisterShape_Type, Stg_Shape_Type);

    return True;
}
コード例 #2
0
ファイル: Init.c プロジェクト: bmi-forum/bmi-pyre
Bool DiscretisationUtils_Init( int* argc, char** argv[] ) {
	Journal_Printf( Journal_Register( DebugStream_Type, "Context" ), "In: %s\n", __func__ ); /* DO NOT CHANGE OR REMOVE */
	
	VariableCondition_Register_Add( variableCondition_Register, AllElementsVC_Type, AllElementsVC_Factory );
	VariableCondition_Register_Add( variableCondition_Register, AllNodesVC_Type, AllNodesVC_Factory );
	VariableCondition_Register_Add( variableCondition_Register, WallVC_Type, WallVC_Factory );
	VariableCondition_Register_Add( variableCondition_Register, CornerVC_Type, CornerVC_Factory );
	VariableCondition_Register_Add( variableCondition_Register, InnerWallVC_Type, InnerWallVC_Factory );
	VariableCondition_Register_Add( variableCondition_Register, ShapeVC_Type, ShapeVC_Factory );
	VariableCondition_Register_Add( variableCondition_Register, FrictionVC_Type, FrictionVC_Factory );
	VariableCondition_Register_Add( variableCondition_Register, SplitFrictionWallVC_Type, SplitFrictionWallVC_Factory );
	
	Stg_ComponentRegister_Add( Stg_ComponentRegister_Get_ComponentRegister(), AllElementsVC_Type, "0", (Stg_Component_DefaultConstructorFunction*)AllElementsVC_DefaultNew );
	Stg_ComponentRegister_Add( Stg_ComponentRegister_Get_ComponentRegister(), AllNodesVC_Type, "0", (Stg_Component_DefaultConstructorFunction*)AllNodesVC_DefaultNew );
	Stg_ComponentRegister_Add( Stg_ComponentRegister_Get_ComponentRegister(), DofLayout_Type, "0", (Stg_Component_DefaultConstructorFunction*)DofLayout_DefaultNew );
	Stg_ComponentRegister_Add( Stg_ComponentRegister_Get_ComponentRegister(), FieldVariable_Type, "0", (Stg_Component_DefaultConstructorFunction*)FieldVariable_DefaultNew );
	Stg_ComponentRegister_Add( Stg_ComponentRegister_Get_ComponentRegister(), OperatorFieldVariable_Type, "0", (Stg_Component_DefaultConstructorFunction*)OperatorFieldVariable_DefaultNew );
	Stg_ComponentRegister_Add( Stg_ComponentRegister_Get_ComponentRegister(), WallVC_Type, "0", (Stg_Component_DefaultConstructorFunction*)WallVC_DefaultNew );
	Stg_ComponentRegister_Add( Stg_ComponentRegister_Get_ComponentRegister(), CornerVC_Type, "0", (Stg_Component_DefaultConstructorFunction*)CornerVC_DefaultNew );
	Stg_ComponentRegister_Add( Stg_ComponentRegister_Get_ComponentRegister(), InnerWallVC_Type, "0", (Stg_Component_DefaultConstructorFunction*)InnerWallVC_DefaultNew );
	Stg_ComponentRegister_Add( Stg_ComponentRegister_Get_ComponentRegister(), ShapeVC_Type, "0", _ShapeVC_DefaultNew );
	Stg_ComponentRegister_Add( Stg_ComponentRegister_Get_ComponentRegister(), FrictionVC_Type, "0", (Stg_Component_DefaultConstructorFunction*)FrictionVC_DefaultNew );
	Stg_ComponentRegister_Add( Stg_ComponentRegister_Get_ComponentRegister(), SplitFrictionWallVC_Type, "0", (Stg_Component_DefaultConstructorFunction*)SplitFrictionWallVC_DefaultNew );
	Stg_ComponentRegister_Add( Stg_ComponentRegister_Get_ComponentRegister(), Remesher_Type, "0", (Stg_Component_DefaultConstructorFunction*)_Remesher_DefaultNew );
	Stg_ComponentRegister_Add( Stg_ComponentRegister_Get_ComponentRegister(), StripRemesher_Type, "0", (Stg_Component_DefaultConstructorFunction*)_StripRemesher_DefaultNew );
	Stg_ComponentRegister_Add( Stg_ComponentRegister_Get_ComponentRegister(), CellRemesher_Type, "0", (Stg_Component_DefaultConstructorFunction*)_CellRemesher_DefaultNew );

	Stg_ComponentRegister_Add( Stg_ComponentRegister_Get_ComponentRegister(), TimeIntegrator_Type,"0", _TimeIntegrator_DefaultNew );
	Stg_ComponentRegister_Add( Stg_ComponentRegister_Get_ComponentRegister(), TimeIntegratee_Type,"0", _TimeIntegratee_DefaultNew );
	Stg_ComponentRegister_Add( Stg_ComponentRegister_Get_ComponentRegister(), ShapeAdvector_Type,"0", _ShapeAdvector_DefaultNew );

	RegisterParent( DiscretisationContext_Type,    AbstractContext_Type );

	RegisterParent( Operator_Type,                 Stg_Object_Type );
	RegisterParent( AllElementsVC_Type,            VariableCondition_Type );
	RegisterParent( AllNodesVC_Type,               VariableCondition_Type );
	RegisterParent( WallVC_Type,                   VariableCondition_Type );
	RegisterParent( CornerVC_Type,		       VariableCondition_Type );
	RegisterParent( InnerWallVC_Type,	       VariableCondition_Type );
	RegisterParent( ShapeVC_Type,                  VariableCondition_Type );
	RegisterParent( FrictionVC_Type,               VariableCondition_Type );
	RegisterParent( SplitFrictionWallVC_Type,      VariableCondition_Type );
	RegisterParent( DofLayout_Type,                Stg_Component_Type );
	RegisterParent( MeshCoarsener_Hexa_Type,       Stg_Component_Type );
	RegisterParent( Sync_Type,                     Stg_Component_Type );
	RegisterParent( Remesher_Type,                 Stg_Component_Type );
	RegisterParent( StripRemesher_Type,            Remesher_Type );
	RegisterParent( CellRemesher_Type,            Remesher_Type );

	RegisterParent( FieldVariable_Type,            Stg_Component_Type );
	RegisterParent( OperatorFieldVariable_Type,    FieldVariable_Type );
	RegisterParent( FieldVariable_Register_Type,   NamedObject_Register_Type );

	RegisterParent( LinearRegression_Type,         Stg_Class_Type );
	
	RegisterParent( TimeIntegratee_Type,           Stg_Component_Type );
	RegisterParent( TimeIntegrator_Type,           Stg_Component_Type );
	RegisterParent( ShapeAdvector_Type,            Stg_Component_Type );
	
	return True;
}
コード例 #3
0
Bool BaseContext_Init( int* argc, char** argv[] ) {
   Stream* typedStream;
 
   /* DO NOT CHANGE OR REMOVE */   
   Journal_Printf( Journal_Register( DebugStream_Type, (Name)"Context"  ), "In: %s\n", __func__ );

   /* Create global ConditionFunction register. */
   condFunc_Register = ConditionFunction_Register_New();

   /* Create global AnalyticFunction register. */
   analyticFunc_Register = AnalyticFunction_Register_New();

   /* Create global VariableCondition register. */
   variableCondition_Register = VariableCondition_Register_New();
   VariableCondition_Register_Add( variableCondition_Register, SetVC_Type, SetVC_Factory );
   VariableCondition_Register_Add( variableCondition_Register, CompositeVC_Type, CompositeVC_Factory );
   VariableCondition_Register_Add( variableCondition_Register, VariableAllVC_Type, VariableAllVC_Factory );

   typedStream = VariableDumpStream_New( VariableDumpStream_Type );
   Stream_Enable( typedStream, True );
   Stream_SetLevel( typedStream, 1 );
   Stream_SetFile( typedStream, stJournal->stdOut );
   
   Journal_RegisterTypedStream( typedStream );
   
   /* Adding default constructors of various components to the Stg_ComponentRegister */
   Stg_ComponentRegister_Add(
      Stg_ComponentRegister_Get_ComponentRegister(), Variable_Type,
      (Name)"0", (Stg_Component_DefaultConstructorFunction*)_Variable_DefaultNew );

   Stg_ComponentRegister_Add(
      Stg_ComponentRegister_Get_ComponentRegister(), CompositeVC_Type,
      "0", (Stg_Component_DefaultConstructorFunction*)_CompositeVC_DefaultNew );

   Stg_ComponentRegister_Add(
      Stg_ComponentRegister_Get_ComponentRegister(), SetVC_Type,
      (Name)"0", (Stg_Component_DefaultConstructorFunction*)_SetVC_DefaultNew );

   Stg_ComponentRegister_Add(
      Stg_ComponentRegister_Get_ComponentRegister(), VariableAllVC_Type,
      "0", (Stg_Component_DefaultConstructorFunction*)_VariableAllVC_DefaultNew );

   Stg_ComponentRegister_Add(
      Stg_ComponentRegister_Get_ComponentRegister(), DynamicVC_Type,
      (Name)"0", (Stg_Component_DefaultConstructorFunction*)_DynamicVC_DefaultNew  );

   /* Register Parents for All Classes */
   RegisterParent( Variable_Type, Stg_Component_Type );
   RegisterParent( VariableCondition_Register_Type, Stg_Class_Type );
   RegisterParent( VariableDumpStream_Type, CStream_Type );
   RegisterParent( Variable_Register_Type, Stg_Class_Type );
   RegisterParent( VariableCondition_Type, Stg_Component_Type );
   RegisterParent( ConditionFunction_Type, Stg_Class_Type );
   RegisterParent( ConditionFunction_Register_Type, Stg_Class_Type );
   RegisterParent( CompositeVC_Type, VariableCondition_Type );
   RegisterParent( DynamicVC_Type, VariableCondition_Type );
   RegisterParent( VariableAllVC_Type, VariableCondition_Type );
   RegisterParent( AbstractContext_Type, Stg_Component_Type );
   RegisterParent( ContextEntryPoint_Type, EntryPoint_Type );
   
   return True;
}