Muscat.FE.SymPhysics module

class BasicPhysics[source]

Bases: Physics

GetBulkFormulation_dudi_dtdj(u=0, t=0, i=0, j=0, alpha=1.0)[source]
GetBulkLaplacian(alpha=1.0)[source]
GetFlux(flux='f')[source]
GetPrimalDims()[source]
GetPrimalNames()[source]
IsFrozen()
SetPrimalName(unknownName, testName=None, unknownDim=1, testDim=1)[source]
UnFrozen()
CheckIntegrity(GUI: bool = False)[source]
class MecaPhysics(dim=3, elasticModel='isotropic')[source]

Bases: Physics

Weak forms for mechanical problems

Parameters:
  • dim (int, optional) – dimension of the unknown, by default 3

  • elasticModel (str, optional) – The type of model used, by default “isotropic” option are : “isotropic”, “orthotropic”, “anisotropic”

GetAccelerationFormulation(direction, density=None)[source]
GetBulkFormulation(young=None, poisson=None, alpha=None)[source]
GetCentrifugalTerm(axe=[0, 0, 1], pointOnAxe=[0, 0, 0], angularSpeed=1, density=None)[source]
GetDistributedForceFormulation(direction)[source]
GetForceFormulation(direction, flux='f')[source]
GetHookeOperator(young=None, poisson=None, factor=None)[source]
GetHookeOperatorAnisotropic(factor=None)[source]
GetHookeOperatorIsotropic(young=None, poisson=None, factor=None)[source]
GetHookeOperatorOrthotropic(factor=None)[source]
GetPressureFormulation(pressure)[source]
GetPrimalNames()[source]
GetStressVoigt(utGlobal, HookeLocalOperator=None)[source]
IsFrozen()
PostTreatmentFormulations()[source]

For the moment this work only if GetBulkFormulation is called only once per instance the problem is the use of self.Hook

SetMecaPrimalName(name)[source]
SetPoisson(val)[source]
SetYoung(val)[source]
UnFrozen()
class MecaPhysicsAxi[source]

Bases: MecaPhysics

GetAccelerationFormulation(direction, density=None)[source]
GetBulkFormulation(young=None, poisson=None, alpha=None)[source]
GetFieldR()[source]
GetForceFormulation(direction, flux='f')[source]
GetPressureFormulation(pressure)[source]
PostTreatmentFormulations()[source]

For the moment this work only if GetBulkFormulation is called only once per instance the problem is the use of self.Hook

class Physics[source]

Bases: object

Basic class to hold the information about symbolic terms

AddBFormulation(zoneOrElementFilter, data)[source]
AddLFormulation(zoneOrElementFilter, data)[source]
AddToRHSTerm(nf, val)[source]

nf : a NodalFilter val : a vector of size len(self.spaces)

ComputeDofNumbering(mesh, tagsToKeep=None, fromConnectivity=False)[source]
ComputeDofNumberingFromConnectivity(mesh)[source]
ExpandNames(data)[source]
GetBulkMassFormulation(alpha: float64 | str = 1.0)[source]
GetCoeff(var_name)[source]
GetNumberOfUnknownFields()[source]
IsFrozen()
Reset()[source]
SetSpaceToLagrange(P=None, isoParam=None)[source]
UnFrozen()
class StokesPhysics[source]

Bases: Physics

GetBulkFormulation(mu=1.0)[source]
GetPrimalNames()[source]
IsFrozen()
SetPrimalNames(vName, pName)[source]
SetSpaceToLagrange(P=None, isoParam=None)[source]
UnFrozen()
class ThermalPhysics[source]

Bases: Physics

GetBulkFormulation(alpha=1.0)[source]
GetMassOperator(rho=1, cp=1)[source]
GetNormalFlux(flux='f')[source]
GetPrimalNames()[source]
GetRobinFlux(beta=None, Tinf=None)[source]
IsFrozen()
PostTreatmentFormulations()[source]
SetPrimalNames(data)[source]
SetThermalPrimalName(name)[source]
UnFrozen()
class ThermoMecaPhysics[source]

Bases: Physics

GetBulkFormulation(young=1.0, poisson=0.3, alpha=1.0)[source]
GetPrimalNames()[source]
IsFrozen()
UnFrozen()