StiffnessMatrixTerm* StiffnessMatrixTerm_New( Name name, FiniteElementContext* context, StiffnessMatrix* stiffnessMatrix, Swarm* integrationSwarm, Stg_Component* extraInfo ) { StiffnessMatrixTerm* self = (StiffnessMatrixTerm*) _StiffnessMatrixTerm_DefaultNew( name ); _StiffnessMatrixTerm_Init( self, context, stiffnessMatrix, integrationSwarm, extraInfo ); return self; }
LaplacianStiffnessMatrixTerm* LaplacianStiffnessMatrixTerm_New( Name name, FiniteElementContext* context, StiffnessMatrix* stiffnessMatrix, Swarm* integrationSwarm ) { LaplacianStiffnessMatrixTerm* self = (LaplacianStiffnessMatrixTerm*) _LaplacianStiffnessMatrixTerm_DefaultNew( name ); self->isConstructed = False; _StiffnessMatrixTerm_Init( self, context, stiffnessMatrix, integrationSwarm, NULL ); _LaplacianStiffnessMatrixTerm_Init( self ); return self; }
void _StiffnessMatrixTerm_AssignFromXML( void* stiffnessMatrixTerm, Stg_ComponentFactory* cf, void* data ) { StiffnessMatrixTerm* self = (StiffnessMatrixTerm*)stiffnessMatrixTerm; Swarm* swarm = NULL; Stg_Component* extraInfo; StiffnessMatrix* stiffnessMatrix; FiniteElementContext* context; context = Stg_ComponentFactory_ConstructByKey( cf, self->name, (Dictionary_Entry_Key)"Context", FiniteElementContext, False, data ); if( !context ) context = Stg_ComponentFactory_ConstructByName( cf, (Name)"context", FiniteElementContext, False, data ); stiffnessMatrix = Stg_ComponentFactory_ConstructByKey( cf, self->name, (Dictionary_Entry_Key)"StiffnessMatrix", StiffnessMatrix, False, data ) ; swarm = Stg_ComponentFactory_ConstructByKey( cf, self->name, (Dictionary_Entry_Key)"Swarm", Swarm, True, data ) ; extraInfo = Stg_ComponentFactory_ConstructByKey( cf, self->name, (Dictionary_Entry_Key)"ExtraInfo", Stg_Component, False, data ); _StiffnessMatrixTerm_Init( self, context, stiffnessMatrix, swarm, extraInfo ); }
Matrix_NaiNbj* Matrix_NaiNbj_New( Name name, StiffnessMatrix* stiffnessMatrix, Swarm* swarm, Dimension_Index dim, FiniteElementContext* context, double incompressibility_Penalty, Bool viscosityWeighting ) { Matrix_NaiNbj* self = (Matrix_NaiNbj*) _Matrix_NaiNbj_DefaultNew( name ); _StiffnessMatrixTerm_Init( self, context, stiffnessMatrix, swarm, NULL ); _ConstitutiveMatrix_Init( (ConstitutiveMatrix*)self, dim, False, True ); _Matrix_NaiNbj_Init( self, incompressibility_Penalty, viscosityWeighting ); self->isConstructed = True; return self; }
ViscousPenaltyConstMatrixCartesian* ViscousPenaltyConstMatrixCartesian_New( Name name, StiffnessMatrix* stiffnessMatrix, Swarm* swarm, Dimension_Index dim, FiniteElementContext* context, Materials_Register* materials_Register, double incompressibility_Penalty, Bool viscosityWeighting ) { ViscousPenaltyConstMatrixCartesian* self = (ViscousPenaltyConstMatrixCartesian*) _ViscousPenaltyConstMatrixCartesian_DefaultNew( name ); _StiffnessMatrixTerm_Init( self, context, stiffnessMatrix, swarm, NULL ); #ifndef PDE _ConstitutiveMatrix_Init( (ConstitutiveMatrix*)self, dim, False, True ); #else /* PDE_Rework compatibility hack */ ConstitutiveMatrix_InitAll( (ConstitutiveMatrix*)self, swarm, dim, NULL, materials_Register, NULL ); #endif _ViscousPenaltyConstMatrixCartesian_Init( self, incompressibility_Penalty, viscosityWeighting ); self->isConstructed = True; return self; }