void _ViscousPenaltyConstMatrixCartesian_AssembleFromXML( void* constitutiveMatrix, Stg_ComponentFactory* cf, void* data ) { ViscousPenaltyConstMatrixCartesian* self = (ViscousPenaltyConstMatrixCartesian*)constitutiveMatrix; double incompressibility_Penalty; Bool viscosityWeighting; /* Construct Parent */ _ConstitutiveMatrix_AssignFromXML( self, cf, data ); incompressibility_Penalty = Stg_ComponentFactory_GetDouble( cf, self->name, (Dictionary_Entry_Key)"incompressibility_Penalty", 0.0 ); viscosityWeighting = Stg_ComponentFactory_GetBool( cf, self->name, (Dictionary_Entry_Key)"viscosity_weighting", True ); _ViscousPenaltyConstMatrixCartesian_Init( self, incompressibility_Penalty, viscosityWeighting ); }
ViscousPenaltyConstMatrixCartesian* ViscousPenaltyConstMatrixCartesian_New( Name name, StiffnessMatrix* stiffnessMatrix, Swarm* swarm, Dimension_Index dim, FiniteElementContext* context, double incompressibility_Penalty, Bool viscosityWeighting ) { ViscousPenaltyConstMatrixCartesian* self = (ViscousPenaltyConstMatrixCartesian*) _ViscousPenaltyConstMatrixCartesian_DefaultNew( name ); _StiffnessMatrixTerm_Init( self, context, stiffnessMatrix, swarm, NULL ); _ConstitutiveMatrix_Init( (ConstitutiveMatrix*)self, dim, False, True ); _ViscousPenaltyConstMatrixCartesian_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; }