Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions moose/materials.py
Original file line number Diff line number Diff line change
Expand Up @@ -156,9 +156,9 @@ def __str__(self):
string = f'[{self.name}]\n'
string += f'type={self.material_type.name}\n'
prop_names = ' '.join(self.prop_names)
string += f'prop_names={prop_names}\n'
string += f'prop_names=\'{prop_names}\'\n'
prop_values = ' '.join([x.name for x in self.prop_values])
string += f'prop_values={prop_values}\n'
string += f'prop_values=\'{prop_values}\'\n'
if self.block:
string += f'block="{self.block}"\n'
string += '[]\n'
Expand Down
1 change: 1 addition & 0 deletions moose/moose.py
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@ def write(self, filename):
file = open(filename,'w')
# first the mesh block
if self.mesh: file.write(indent(self.mesh.__str__()))
if self.problem: file.write(indent(self.problem.__str__()))
if self.global_params: file.write(indent(self.global_params.__str__()))
if self.variables: file.write(indent(self.variables.__str__()))
if self.aux_variables: file.write(indent(self.aux_variables.__str__()))
Expand Down
27 changes: 16 additions & 11 deletions moose/variables.py
Original file line number Diff line number Diff line change
Expand Up @@ -28,32 +28,37 @@ class Family(IntEnum):
SIDE_HIERARCHIC = auto()

class Variable():
def __init__(self, name = "", order = 1, family = 1, block = ""):
def __init__(self, name="", order=None, family=None, block="", initial_condition=""):
self.name = name
self.order = Order(order)
self.family = Family(family)
self.order = Order(order) if order is not None else None
self.family = Family(family) if family is not None else None
self.block = block
self.initial_condition = initial_condition

def __str__(self):
string = f'[{self.name}]\n'
string += f'order = {self.order.name}\n'
string += f'family = {self.family.name}\n'
if self.order:
string += f'order = {self.order.name}\n'
if self.family:
string += f'family = {self.family.name}\n'
if self.initial_condition:
string += f'initial_condition = "{self.initial_condition}"\n'
if self.block:
string += f'block = "{self.block}"\n'
string += f'[]\n'
string += '[]\n'
return string

class AuxVariable(Variable):
def __init__(self, name = "", order = 1, family = 1, block = ""):
super().__init__(name,order,family,block)
def __init__(self, name="", order=None, family=None, block="", initial_condition=""):
super().__init__(name, order, family, block, initial_condition)

class Variables():
def __init__(self):
self.name = "Variables"
self.variables = {}

def add_variable(self, name, order, family, block):
variable = Variable(name=name,order=order,family=family,block=block)
def add_variable(self, name, order=None, family=None, block="", initial_condition=""):
variable = Variable(name=name, order=order, family=family, block=block, initial_condition=initial_condition)
if variable.name in self.variables.keys():
print("variable name already in use")

Expand Down