"""G3DInfo static class"""
from typing import Any
from g3d.defs import CodeType
[docs]
class G3DInfo:
"""G3D code information placeholder"""
__author = ['Niklas Andersson',
'Department of Mechanical Engineering',
'Division of Fluid Mechanics',
'Chalmers University of Technology'
]
__code_name = 'g3dflow.py'
__code_type = CodeType.G3D_SOLVER
__code_description = ' a python-based solver for compressible flows'
__code_sub_description = ''
__version_major = 2
__version_minor = 6
__version_patch = 0
__date = 'Mar 2026'
@property
def author(self) -> list[str]:
"""code author information"""
return type(self).__author
@property
def date(self) -> str:
"""date of latest code release"""
return type(self).__date
@property
def code_name(self) -> str:
"""code name"""
return type(self).__code_name
@code_name.setter
def code_name(self, cn: str) -> None:
type(self).__code_name = cn
@property
def code_description(self) -> str:
"""short code description"""
return type(self).__code_description
@code_description.setter
def code_description(self, cd: str) -> None:
type(self).__code_description = cd
@property
def code_sub_description(self) -> str:
"""additional code description"""
return type(self).__code_sub_description
@code_sub_description.setter
def code_sub_description(self, cd: str) -> None:
type(self).__code_sub_description = cd
@property
def version(self) -> str:
"""code version"""
v_str = 'v'
v_str += str(type(self).__version_major) + '.'
v_str += str(type(self).__version_minor) + '.'
v_str += str(type(self).__version_patch)
return v_str
@property
def code_type(self) -> Any:
"""code type (default value = CodeType.G3D_SOLVER)"""
return type(self).__code_type
@code_type.setter
def code_type(self, m: Any) -> None:
if type(m) is CodeType:
type(self).__code_type = m
@property
def info_str(self) -> str:
"""code information string
code name, code version, date of latest release"""
return type(self).__code_name + ' ' + self.version + ' ' + self.__date